Commit Graph

889 Commits

Author SHA1 Message Date
Andrius Štikonas b11b73b1e5 Remove extra semicolon after Q_UNUSED. 2018-07-12 00:12:43 +01:00
Andrius Štikonas d51404c7f1 sfdisk: fix returned partition name
This makes it work with partitions such as /dev/mmcblk1p2
2018-07-11 23:36:20 +01:00
Caio Carvalho e2f88dbbf9 Including SoftwareRAID attributes getters. 2018-07-11 12:03:44 -03:00
Caio Carvalho a2d601d512 Checking for SoftwareRAID_Device type in partition table job. 2018-07-11 12:01:26 -03:00
Caio Carvalho ab7def5e7d Changing HardwareRAID_Device to FakeRAID_Device. 2018-07-11 11:57:56 -03:00
Caio Carvalho a8b7222350 Check for SoftwareRAID devices in CreateFileSystemJob. 2018-07-10 23:04:55 -03:00
Caio Carvalho ae8987b82c Sfdisk always creates RAID logical partitions with a 'p' character before partition number. 2018-07-10 23:03:21 -03:00
Caio Carvalho 6c27d99f2c Enabling to create and delete SoftwareRAID devices' partitions. 2018-07-10 20:03:59 -03:00
Caio Carvalho 04a5e2914d Correctly showing Software RAID device partition table. 2018-07-10 19:09:22 -03:00
Caio Carvalho c03c0ddc15 Including src/core/raid subdirectory. 2018-07-09 20:48:52 -03:00
Caio Carvalho 998b1292c0 SoftwareRAID initial implementation. 2018-07-09 20:01:34 -03:00
Andrius Štikonas 9e3386a53b Static cast should be sufficient here
In the line above we already check if partition type is luks
2018-07-08 11:02:34 +01:00
Andrius Štikonas 0dd5ac25fd Revert "Remove deprecated attribute for now."
This reverts commit 4bcf9288e6.
2018-06-16 19:35:09 +01:00
l10n daemon script 11954f1185 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-06-16 05:31:52 +02:00
Andrius Štikonas dc248c3011 Merge branch 'master' into kauth 2018-06-15 20:40:29 +01:00
Caio Carvalho 358957641b Including LVM VG device scan in scanDevice in SfdiskBackend and LibPartedBackend. It was scanning only for DiskDevices. 2018-06-11 18:33:11 -03:00
l10n daemon script 7497d509f4 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-06-07 05:41:48 +02:00
Caio Carvalho 9e6cf4063a - Refactoring LVM::pvList to be a class with static QList<LvmPV> attribute instead of extern instance.
- Moving LVM VG verification in canShrink, canMove, canGrow to isLVMPVinNewlyVG method at ResizeOperation.
- Don't grow LVM PVs that are being targeted by CreateVolumeGroupOperations.
2018-05-09 04:09:17 -03:00
Caio Carvalho 6b0af70ccd Avoiding segfault in DeleteOperation and ResizeOperation. 2018-05-07 22:56:24 -03:00
Caio Carvalho 1e95d01923 - Including vgName in CreateVolumeGroupOperation description.
- Don't delete LVM PVs that are being targeted by CreateVolumeGroupOperations.
- Don't shrink or move LVM PVs that are being targeted by CreateVolumeGroupOperations.
2018-05-07 21:55:49 -03:00
Caio Carvalho 34cfc63da4 Including CreateVolumeGroupOperation::targets(const Partition&) implementation. 2018-05-03 20:48:11 -03:00
Andrius Štikonas 40f59a4870 Rename LUKS open and close Labels to "Lock" and "Unlock"
BUG: 393409
2018-04-23 11:05:44 +03:00
l10n daemon script b3a8a3874f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-04-23 05:26:25 +02:00
Andrius Štikonas dcfb9f181f Use more C++11 initializer lists. 2018-04-23 00:09:46 +03:00
Andrius Štikonas ea664bfffc Set polkit action icon to partitionmanager. 2018-04-21 21:34:24 +03:00
Andrius Štikonas 0d29dc8a6b Fix class/struct mismatch in forward declaration. 2018-04-18 21:46:15 +03:00
Andrius Štikonas a43d5bbc5b fatresize is libparted based, so does not support FAT12. 2018-04-16 11:32:29 +03:00
Andrius Štikonas 99c14ad074 Correctly report when excutable is not found. 2018-04-16 11:06:13 +03:00
Andrius Štikonas 5814c6c02a Allow setting KAuth parent widget. 2018-04-15 01:35:29 +03:00
Andrius Štikonas 4b1793f79b Update backend name in the docs. 2018-04-15 01:09:48 +03:00
Andrius Štikonas 145f54f18c Move KAuth helper setup code to ExternalCommand class.
Delay helper startup until it is actually required.
2018-04-14 23:55:05 +03:00
Andrius Štikonas ed59aac2c8 Show error when setting file system label fails. 2018-04-13 20:21:48 +03:00
Andrius Štikonas 07458efb91 Make sure system is informed about the change of file system label. 2018-04-13 15:54:51 +03:00
Andrius Štikonas a6100aaa37 Add an error message in case of invalid signature. 2018-04-13 14:26:44 +03:00
Andrius Štikonas 231bfbd331 Cryptographically sign copyblocks and exit KAuth helper calls. 2018-04-13 14:24:05 +03:00
Andrius Štikonas 6b558f49d8 Use blockdev --rereadpt instead of partx --update. 2018-04-13 13:08:43 +03:00
Andrius Štikonas 24e1e83152 Try to fix QString encoding issues in KAuth helper.
For now set text codec to UTF-8
Needs more investigation if locale of the GUI program is not UTF-8.
2018-04-13 02:44:12 +03:00
Andrius Štikonas 71b56d27a8 Keep Capacity::Unit a simple enum, otherwise KPM fails to compile. 2018-04-13 01:29:43 +03:00
Andrius Štikonas fc4133233b Revert "Try to workaround systemd automounting."
This reverts commit 9cc583e7d5.
2018-04-13 01:06:32 +03:00
Andrius Štikonas e0be8fae83 Initialize m_Counter variable on startup. 2018-04-13 00:51:08 +03:00
Andrius Štikonas 428ee5b6c8 First attempt at using RSA to sign requests to KAuth helper. 2018-04-13 00:43:12 +03:00
Andrius Štikonas 527734e9e8 Switch JobStatus enum to scoped enum. 2018-04-12 15:18:50 +03:00
Andrius Štikonas 4bcf9288e6 Remove deprecated attribute for now.
Not available on current Neon.
2018-04-12 15:16:49 +03:00
Andrius Štikonas 0263e45251 Merge branch 'master' into kauth 2018-04-12 13:48:06 +03:00
Andrius Štikonas 4773023f75 Add migration documentation for deprecated enum values. 2018-04-12 13:47:33 +03:00
Andrius Štikonas 221d7aded6 d-pointerize ExternalCommand class. 2018-04-12 00:47:40 +03:00
Andrius Štikonas 9e107c8136 Add forgotten files. 2018-04-11 15:14:17 +03:00
Andrius Štikonas db40442744 d-pointerize Operation class. 2018-04-11 03:52:46 +03:00
Andrius Štikonas 9cc583e7d5 Try to workaround systemd automounting. 2018-04-10 23:26:44 +03:00
Andrius Štikonas dda5ddd3e6 Fix more memory leaks in SmartDiskInformation. 2018-04-09 16:16:02 +01:00
Andrius Štikonas a9a637454a Fix a memory leak in SmartParser.
CC: caiojcarvalho@gmail.com
2018-04-09 16:07:44 +01:00
Andrius Štikonas 492e3beb18 Reuse SmartStatus::SelfTestStatus enum. 2018-04-09 15:37:46 +01:00
Andrius Štikonas b5d0b500cf Reuse SmartStatus::Overall enum for SmartDiskInformation. 2018-04-09 15:27:07 +01:00
Andrius Štikonas 622def3b56 Convert more enums to scoped enums. 2018-04-09 15:14:34 +01:00
Andrius Štikonas df449ac3d4 Mark old enum values as deprecated. 2018-04-09 13:42:36 +01:00
Andrius Štikonas ee2688d4d9 Merge branch 'master' into kauth 2018-04-09 12:44:14 +01:00
Andrius Štikonas f389306964 Make sure deprecated Partition::State enums have the same values as the new ones. 2018-04-09 12:32:46 +01:00
Andrius Štikonas b42b41bdea Add a shorter Partition::State enum names.
Will be converted to enum class later.
2018-04-09 03:46:05 +01:00
Andrius Štikonas 87f0d9d0a7 micro-optimization: QStringLiteral->QLatin1Char 2018-04-09 03:18:12 +01:00
Andrius Štikonas 844f7b3d59 LvmDevice: switch away from manual pointers. 2018-04-09 03:14:30 +01:00
Andrius Štikonas 3ccd04e675 Switch Device::Type enum to enum class. 2018-04-09 02:57:45 +01:00
Andrius Štikonas 1021e375b4 Create a new d-pointer when copying Device class.
Fixes a crash in Calamares
2018-04-09 02:45:24 +01:00
Andrius Štikonas 7e8bab3b4e d-pointerize LvmDevice class. 2018-04-09 02:40:24 +01:00
Andrius Štikonas df364bdc7c Reuse the d-pointer of the base class Device for the child class DiskDevice. 2018-04-09 00:35:06 +01:00
Andrius Štikonas 210dea15de Use smart pointer for SmartStatus.
Fixes a memory leak.
2018-04-08 14:58:02 +01:00
Andrius Štikonas a71be700ba d-pointerize Device class. 2018-04-08 14:45:59 +01:00
Andrius Štikonas 2e5f0fbcb2 d-pointerize FileSystem class. 2018-04-08 01:46:08 +01:00
Andrius Štikonas 17c8772240 Explicitely specify the scope of enum. 2018-04-07 19:54:30 +01:00
l10n daemon script 6eab8757b5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-04-06 05:23:24 +02:00
Andrius Štikonas 876c037ebf Use strongly typed enum for SmartAttributeUnit. 2018-04-05 23:06:52 +01:00
Andrius Štikonas 63cea60ff1 Replace std::array with std::vector
Less efficient but helps with keeping ABI stable
2018-04-05 21:52:17 +01:00
Andrius Štikonas 54be18e8ad Deprecate cyllinder and head count. 2018-04-02 14:12:35 +01:00
Andrius Štikonas cfa853a931 d-pointerize DiskDevice class. 2018-04-02 13:46:53 +01:00
Andrius Štikonas 0b6d91bbdb Do not install some private smart include files. 2018-04-02 13:13:16 +01:00
Andrius Štikonas 398e9c3df5 d-pointerize FstabEntry class 2018-04-01 18:46:26 +01:00
Andrius Štikonas 7ed6657e30 Restore functionality of FileSystem::findExternal
This also fixes unused variable warnings
2018-03-31 23:49:37 +01:00
Andrius Štikonas a83cb256cb Finish d-pointerizing CoreBackend class. 2018-03-31 22:08:55 +01:00
Andrius Štikonas 279159ca6f Use smart pointers for CoreBackendPartitionTable. 2018-03-31 21:49:20 +01:00
Andrius Štikonas 2527b3ecc3 Merge branch 'master' into kauth 2018-03-31 20:30:05 +01:00
Andrius Štikonas c1f4b36305 Fix mutex logic for cancelling operations. 2018-03-31 20:17:43 +01:00
Andrius Štikonas 5e85f0b974 Remove ping interface in KAuth helper as it is blocking KPM GUI. 2018-03-31 18:01:00 +01:00
Andrius Štikonas 738842799a Make kpmcore link libraries private. 2018-03-31 16:30:53 +01:00
Andrius Štikonas 1500eeb625 Use std::unique_ptr for CoreBackendDevices 2018-03-31 14:44:40 +01:00
Andrius Štikonas 8fa1814f45 Remove libparted backend. 2018-03-31 13:14:38 +01:00
Andrius Štikonas 00cb2c85d9 d-pointerize CoreBackendManager 2018-03-31 13:07:35 +01:00
Andrius Štikonas 8f88efeefd Use std::unique_ptr in CoreBackend. 2018-03-31 12:56:34 +01:00
l10n daemon script 8658743a49 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-30 05:19:57 +02:00
Andrius Štikonas 9218b55c57 Exit even loop if KAuth job finishes with error. 2018-03-28 02:15:46 +01:00
Andrius Štikonas e3aae714a2 Remove unnecessary whitespace. 2018-03-24 18:27:00 +00:00
Caio Carvalho f8f25dc82a - Changing SmartQuirkDatabase to store QString instead of char*.
- Changing quirkDatabase function to return QVector<SmartQuirkDatabase> instead of SmartQuirkDatabase*.
2018-03-24 15:17:30 -03:00
Andrius Štikonas a4be3fd2ea Start KAuth helper in CoreBackendManager constructor. 2018-03-24 15:32:15 +00:00
Andrius Štikonas f04416beba Simplify Qtimer code in ExternalCommandHelper. 2018-03-23 22:47:21 +00:00
Andrius Štikonas 8cdf70171e Start QTimer before enteting event loop. 2018-03-23 22:08:23 +00:00
Caio Carvalho 47a1519699 - Including Watchdog Timer in CoreBackendManager to ping DBus service.
- Including ExternalCommandHelper::ping slot to receive pings.
- Including timer to watch last ping in the service to unregister it after reaching 42 seconds without pings.
2018-03-23 18:19:33 -03:00
Andrius Štikonas ca136dfcaa Add some comments.
Move copyblocks function lower in a file.
2018-03-22 17:52:59 +00:00
Andrius Štikonas 2cef3f6ec6 Cleanup ExternalCommand interface:
* Remove a separate constructor for copyblocks.
 * Remove kauthThread and finished() signal.
2018-03-22 17:29:40 +00:00
Andrius Štikonas 39d3592c23 Actually check if the caller is authorized. 2018-03-22 17:41:49 +01:00
Caio Carvalho dac3372a78 - Including ExternalCommandHelper asynchronous DBus call in ExternalCommand::execute
- Stop helper before starting a new in CoreBackendManager::startExternalCommandHelper
- Unregister org.kde.kpmcore.helperinterface service in ExternalCommandHelper::exit
2018-03-22 02:32:59 -03:00
Andrius Štikonas 4b91f2c07e Convert copyblocks dbus call to asynchronous call. 2018-03-21 21:51:30 +01:00
Andrius Štikonas 97d7076481 Increase DBus call timeout to 10 days. 2018-03-21 21:11:09 +01:00
Andrius Štikonas c09f6fb9fa Add a function to stop KAuth helper daemon. 2018-03-21 20:44:07 +01:00
Andrius Štikonas bd54ba7c5d Convert copyblocks code from KAuth to DBus calls to helper daemon. 2018-03-21 18:01:40 +01:00
Andrius Štikonas ef2b61d2ec Wait until the helper started.
Ideally we should not block at this stage and wait before the first command
is executed. But this is much better than nothing.
2018-03-19 16:21:57 +01:00
Andrius Štikonas 645e16bb20 WIP: add some experimental code where helper is used as daemon
Caveats:
 * copyblocks are not converted yet, but should be similar.
 * There is no signaling back to main application which tells when even loop has started, so after password is entered, you need to click F5 to rescan devices
 * There are some security checks but are they sufficient
2018-03-19 11:42:49 +01:00
l10n daemon script ad863cc6b1 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-19 05:09:05 +01:00
Andrius Štikonas 519cc2cd3c Merge branch 'master' into kauth 2018-03-18 12:52:57 +01:00
l10n daemon script 2f621fc6db SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-13 05:16:54 +01:00
l10n daemon script 4406297053 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-12 04:59:29 +01:00
l10n daemon script f89bc39c76 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-11 05:21:27 +01:00
l10n daemon script 11d2bbc344 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-06 05:21:11 +01:00
l10n daemon script 07a0f47c57 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-05 05:14:10 +01:00
l10n daemon script 67b25dc0e9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-04 05:17:01 +01:00
Andrius Štikonas 17451c3494 Add non-const overload to partition() function. 2018-03-03 16:38:21 +00:00
l10n daemon script fe117a20b0 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-03-03 05:26:15 +01:00
Andrius Štikonas 144e260efe Finish porting to KCoreAddons JSON plugins.
Convert .desktop files to .json with desktoptojson
2018-03-02 11:33:46 +00:00
l10n daemon script ff9e6c8323 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-02-19 04:59:32 +01:00
Huzaifa Faruqui 72da110996 Fix copyblocks exit status check 2018-02-06 22:32:26 +05:30
Andrius Štikonas ac6dc0eb87 Remove backend readData/writeData functions. 2018-02-06 16:48:02 +00:00
Andrius Štikonas 06139c85ac Remove unused function argument in startCopyBlocks. 2018-02-06 16:24:32 +00:00
Huzaifa Faruqui 00d47c6417 Use QFile for ExternalCommandHelper::readData. 2018-02-05 12:58:37 +00:00
Andrius Štikonas b79f713ed8 Fix ExternalCommandHelper::writeData function.
QFile::open needs QIODevice::Append flag.
2018-02-05 12:46:13 +00:00
Andrius Štikonas af6c345210 Use CMAKE_SYSTEM_NAME to check whether we are running on Linux. 2018-02-04 19:17:34 +00:00
Andrius Štikonas aa23fc1168 cmake does not define LINUX variable. 2018-02-04 19:11:25 +00:00
Andrius Štikonas 11e435657a Do not build libparted backend. 2018-02-04 16:14:59 +00:00
Andrius Štikonas 2641730c0c Merge branch 'master' into kauth 2018-02-04 15:56:38 +00:00
Andrius Štikonas dcc9875923 Fix regular expression used in readLabel and readUUID. 2018-02-04 15:56:30 +00:00
Andrius Štikonas 469855f7f7 Add missing variables to Partition class copy constructor. 2018-02-04 15:21:58 +00:00
Andrius Štikonas b35c21ed71 Fix an out of order compile warning.
Initialization should happen in the same order as variables are declared.
CC: huzaifafaruqui@gmail.com
2018-02-04 13:44:55 +00:00
Andrius Štikonas 4cae6f0632 Merge branch 'master' into kauth 2018-02-04 13:44:29 +00:00
Andrius Štikonas 8aac14ceca Actually run udev command when reading label/uuid. 2018-02-04 13:40:32 +00:00
Andrius Štikonas f426f59799 Use QFile for writing data in ExternalCommandHelper::writeData
dd works much slower when writing to files, especially files on SSD.
Thanks to Huzaifa Faruqui for suggestion.
2018-02-03 15:58:36 +00:00
Andrius Štikonas 5c307c1cc7 Use toLongLong in KAuth helper.
Otherwise all integers simply overflow.
2018-02-02 18:33:35 +00:00
Andrius Štikonas 4870587339 Set sfdisk backend as default. 2018-01-31 18:50:49 +00:00
Andrius Štikonas 7e60df68bd Do not expose libparted backend on non Linux systems. 2018-01-31 17:08:05 +00:00
Andrius Štikonas f2b7f2bd9b Use const char* instead of QString in Fstab::findBlkIdDevice
Thansk to: Adriaan de Groot
2018-01-31 17:02:59 +00:00
Andrius Štikonas f98dbcc208 Only use libblkid on Linux. 2018-01-31 16:58:00 +00:00
Andrius Štikonas 838150d439 Do not use blkid cache. 2018-01-31 16:53:34 +00:00
Andrius Štikonas c50006ed22 Fix #include issues in smart code.
CC: caiojcarvalho@gmail.com
2018-01-31 16:12:11 +00:00
Andrius Štikonas 56de5e1e06 Merge branch 'master' into kauth 2018-01-31 16:03:58 +00:00
Andrius Štikonas 67f79f42dd Add cmake option for sfdisk backend. 2018-01-31 16:03:51 +00:00
Andrius Štikonas 9ea7cab92a Merge branch 'master' into kauth 2018-01-31 15:15:25 +00:00
Andrius Štikonas ba4e443223 Move file system label and UUID read code to backends.
This allows to use different implementations on different platforms.
E.g. libblkid is not available on FreeBSD.

libparted backend still uses the same libblkid implementation
sfdisk backend reads label and UUID from udev database
2018-01-31 15:13:34 +00:00
Andrius Štikonas 7e8f64ffd7 Fix a possibly uninitialized variable. 2018-01-31 14:58:43 +00:00
Andrius Štikonas 2534608094 Use btrfs check --repair instead of btrfsck. 2018-01-29 13:30:14 +00:00
Andrius Štikonas 3a6aa4aaa0 Do not link to libatasmart. 2018-01-29 12:49:25 +00:00
Huzaifa Faruqui b143c139e5 Fix Report in copyBlocks 2018-01-29 16:45:21 +05:30
Andrius Štikonas dd709fc8a9 Remove unnecessary extra LIBKPMCORE_EXPORT macros. 2018-01-27 13:15:19 +00:00
Andrius Štikonas bf2a23dada Use copyjobs KAuth helper for other copying jobs too. 2018-01-24 15:45:19 +00:00
Andrius Štikonas 61fed73a5d Remove some debug output. 2018-01-24 15:35:11 +00:00
Huzaifa Faruqui e42a5c9289 Implement copyblocks function in KAuth helper.
Switch BackupFileSystemJob to thenew copyblocks function.

Reviewed and cleaned up by: Andrius Štikonas
2018-01-24 15:22:42 +00:00