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
Andrius Štikonas
4eff7d7594
Do not export CoreBackendDevice and CoreBackendPartitionTable classes.
2018-01-21 13:53:07 +00:00
Caio Carvalho
a3d43e159f
Removing LIBKPMCORE_EXPORT from SmartParser and adding SMART support dependencies to testsmart in cmake
2018-01-21 01:41:59 -03:00
Caio Carvalho
49c0c39f4b
- Including SMART support test
...
- Adding export macro to SmartParser
2018-01-20 21:56:10 -03:00
l10n daemon script
098b9bc2ae
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-01-14 04:49:26 +01:00
l10n daemon script
85085d8eb7
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-01-13 04:47:56 +01:00
Andrius Štikonas
d2ee0010d0
Update credits.
2018-01-12 11:32:09 +01:00
Andrius Štikonas
1c024c6b29
Fix a typo in the comment.
2018-01-11 21:59:18 +01:00
Caio Carvalho
0190d32cf6
Including doxygen comments to the new SMART support classes
2018-01-11 17:38:53 -03:00
Andrius Štikonas
a135c86ba1
Use QStringLiteral instead of QString::fromLocal8Bit
2018-01-11 14:17:55 +01:00
Andrius Štikonas
ed7c5b1c77
Use long command line option for smartctl.
2018-01-11 12:00:52 +01:00
Andrius Štikonas
4069e5112e
Post merge fixes.
...
In kauth branch ExternalCommand::write should be called before start.
2018-01-11 11:45:39 +01:00
Andrius Štikonas
790553aa0b
Merge branch 'smart' into kauth
2018-01-11 11:31:18 +01:00
Caio Carvalho
44fae61d4f
- Removing libatasmart dependency from CMakeLists.txt
...
- Changing getQuirk regular expression evaluation to use QRegularExpression instead of QRegExp
2018-01-09 19:34:20 -03:00
Caio Carvalho
d71731141c
- Changed m_Quirk variable in SmartAttributeParsedData to SmartQuirk value instead of reference
...
- Changed smartctl call to use ExternalCommand class instead of QProcess
- Changed Q_FOREACH to C++11 ranged based for
- Changed quint64 json parsing
2018-01-09 01:35:59 -03:00
Caio Carvalho
8177fb9738
Adding smart JSON output support
2018-01-08 17:59:48 -03:00
l10n daemon script
5376808159
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-01-07 04:56:23 +01:00
l10n daemon script
ba3676e165
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-01-04 04:49:48 +01:00
Pali Rohár
2f4aeaf851
Add support for reading capacity and changing label/uuid on UDF filesystem
2018-01-03 20:09:53 +02:00
Andrius Štikonas
8b9451c8d7
We don't need keyLocation for luks1 file system it is always dm-crypt.
2017-12-29 22:53:02 +00:00
Andrius Štikonas
1802b7ad05
Add luks2::create method.
2017-12-29 20:38:36 +00:00
Andrius Štikonas
4773f49edc
Initial support for resizing LUKS2 volumes.
...
Does not yet work when LUKS2 is used with dm-integrity.
2017-12-29 20:01:06 +00:00
Andrius Štikonas
78a9ede36c
Do not install internal backend headers.
2017-12-27 16:16:11 +00:00
Andrius Štikonas
a6a69b1e31
Merge branch 'sfdisk' into kauth
2017-12-25 00:13:18 +00:00
Andrius Štikonas
590b531863
Commit partition table when closing Sfdisk backend device.
2017-12-25 00:11:13 +00:00
Andrius Štikonas
41570fde5d
Set FAT12 MBR/GPT partition type.
2017-12-24 23:56:03 +00:00
Andrius Štikonas
f20bea9bf8
Merge branch 'sfdisk' into kauth
2017-12-24 23:40:06 +00:00
Andrius Štikonas
97ccd8d154
Merge branch 'master' into sfdisk
2017-12-24 23:38:39 +00:00
Andrius Štikonas
5123411f1f
Add support for FAT12 file system.
2017-12-24 23:24:37 +00:00
Andrius Štikonas
8de54d390e
Make default LUKS2 colour different from LUKS.
2017-12-24 20:38:46 +00:00
Andrius Štikonas
3e7e9d8955
Sort partitions by first sector.
2017-12-21 23:16:12 +00:00
Andrius Štikonas
f9cd824075
Add a comment about boot flags.
2017-12-20 15:03:48 +00:00
Andrius Štikonas
f8cbd28238
Remove FIXME that was already fixed.
2017-12-16 12:55:34 +00:00
Andrius Štikonas
76934a0cba
Add forgotten luks2 files.
2017-12-15 19:35:30 +00:00
Andrius Štikonas
3a691edb4a
Do not install copy source/target device headers.
2017-12-15 19:33:11 +00:00
Andrius Štikonas
7aa77f489d
Add FileSystem::Luks2 child class.
2017-12-14 02:08:32 +00:00
Andrius Štikonas
8c030baf3e
Switch file system detection code to udevadm.
2017-12-14 01:14:45 +00:00
Andrius Štikonas
3f562ab0f0
Allow reading LUKS label.
2017-12-13 00:07:55 +00:00
Andrius Štikonas
fdf6e19de0
Remove another workaround which hopefully is no longer necessary.
2017-12-10 19:56:04 +00:00
Andrius Štikonas
8264c87ab8
Cleanup unnecessary includes.
2017-12-10 18:44:54 +00:00
Andrius Štikonas
27462bcddb
Remove workaround to access user dbus session as root.
2017-12-10 18:09:03 +00:00
Andrius Štikonas
4cc07d2366
Adapt ntfs updateBootSector changes to kauth branch.
2017-12-10 17:37:10 +00:00
Andrius Štikonas
192305c1d5
Close write channel after writing to QProcess.
2017-12-10 17:36:39 +00:00
Andrius Štikonas
906a89c16d
Use ExternalCommand to copy fstab file to its final location.
2017-12-10 17:36:39 +00:00
Andrius Štikonas
d2f13ff4cc
QFile->QTemporaryFile.
2017-12-10 17:36:39 +00:00
Andrius Štikonas
47429dd1bf
Proof of concept attempt to implement KAuth.
2017-12-10 17:36:39 +00:00
Andrius Štikonas
e7b0192630
Merge branch 'master' into sfdisk
2017-12-10 17:35:35 +00:00
Andrius Štikonas
e49a266922
ntfs: update backup boot sector too
...
When moving NTFS partition to a new location we need to update its boot sector
as well as backup boot sector. Otherwise ntfslabel --new-serial won't work.
2017-12-10 17:34:07 +00:00
Andrius Štikonas
def62c975d
Replace ntfs with ntfs-3g in lsblk file system detection code.
2017-12-09 23:31:31 +00:00
Andrius Štikonas
c3827b0c60
Call kpartx to reread partition table.
2017-12-09 23:29:18 +00:00
Andrius Štikonas
e3d01cf25f
Do not attempt to set empty partition type.
2017-12-09 19:19:36 +00:00
Andrius Štikonas
4c2efe8c52
Add partition type map.
2017-12-07 23:24:03 +00:00
Andrius Štikonas
55b8cd3e6b
sfdisk: store a pointer to the device in SfdiskPartitionTable class.
2017-12-07 20:50:54 +00:00
Andrius Štikonas
41473119b1
backend: provide more information about backend device.
...
Pass Device object, not just deviceNode string when opening Core Backend Device
2017-12-06 21:33:31 +00:00
Andrius Štikonas
0bfb7094df
Merge branch 'master' into sfdisk
2017-12-06 00:41:19 +00:00
Andrius Štikonas
e66fb4b95e
Do not attempt to set partition flags that were not changed.
2017-12-06 00:27:02 +00:00
Andrius Štikonas
d27455b6f0
Avoid unnecessary QString encoding/decoding.
...
CCBUG: 384321
2017-12-04 21:19:11 +00:00
Andrius Štikonas
8afe33a4a4
Allow setting label for inner LUKS file system during the initial creation.
2017-12-03 16:28:16 +00:00
Andrius Štikonas
f09cb6435e
Fix conversion to/from QByteArray in sfdisk backend.
...
CCBUG: 384321
2017-12-03 12:40:57 +00:00
Andrius Štikonas
6996687123
Merge branch 'master' into sfdisk
2017-12-03 12:38:43 +00:00
Andrius Štikonas
4bf5bb467f
Fix conversion to/from QString/QByteArray
...
BUG: 384321
2017-12-03 12:37:21 +00:00
Andrius Štikonas
f1a695bdac
Add support for growing f2fs file system.
2017-11-13 19:34:52 +00:00
Andrius Štikonas
be7ba11f17
Remove unnecessary semicolons.
2017-11-12 14:55:55 +00:00
Andrius Štikonas
fad8a3568e
Fix the previous commit.
...
FileSystem::create is never called if createWithLabel is available.
2017-11-12 14:45:49 +00:00
Andrius Štikonas
58f2decdf8
Support newer f2fs-tools versions.
...
BUG: 386771
2017-11-12 13:07:48 +00:00
Andrius Štikonas
fcfd78cdc4
Add support for fatresize program.
2017-11-09 23:14:52 +00:00
Andrius Štikonas
d3cde41df0
Allow setting boot, esp and bios-grub flags in sfdisk backend.
2017-11-08 00:01:24 +00:00
Andrius Štikonas
80de99fc73
Move setFlags function from CoreBackendPartition to CoreBackendPartitionTable.
...
setFlags function now takes additional argument const Partition& partition.
This allows us to completely remove CoreBackendPartition class.
Remove getPartitionBySector and getExtendedPartitions.
These functions were designed around libparted API and are not very convenient
with other backends.
2017-11-07 22:55:28 +00:00
Andrius Štikonas
0d88e26c8c
Add an experimental sfdisk backend.
2017-11-07 22:51:29 +00:00
Andrius Štikonas
a6415561ae
SetPartFlagsJob should return error when it is unable to find partition.
2017-11-07 03:07:51 +00:00
Andrius Štikonas
89a5308686
btrfs: implement updateUUID.
2017-11-05 20:42:40 +00:00
Andrius Štikonas
9ea983654c
Do not export symbols of CopySource(Target)Device
...
Calamares resize jobs was ported to ResizeOperation, so this is no longer
necessary.
2017-11-01 20:11:38 +00:00
Andrius Štikonas
87e210432d
Merge branch '3.2'
2017-10-31 16:16:36 +00:00
Andrius Štikonas
8909dd87d0
Add a workaround for device not ready error.
...
In rare cases after moving file system to a new location file system check
fails on the first try. As a temporary workaround, wait a bit and try again.
2017-10-30 15:59:05 +00:00
Andrius Štikonas
55e445b069
More user friendly copying direction message in the log.
2017-10-30 14:24:55 +00:00
Andrius Štikonas
72dfbe480a
Replace readSectors/writeSectors backend functions.
...
New alternatives use QByteArray to store data and use bytes, not sectors.
2017-10-28 18:07:44 +01:00
Andrius Štikonas
e4c125c519
Do not over encapsulate Partition methods.
...
This caused more trouble than helped. There is no reason not to allow
e.g. settings new flags on partition or changing it's path.
2017-10-09 21:13:58 +01:00
Andrius Štikonas
d741fe4a00
Fix a typo in a comment.
2017-10-09 17:37:16 +01:00
Andrius Štikonas
9f3b2b8fd4
Use qOverload in Qt signal/slots.
2017-10-09 13:39:34 +01:00
Andrius Štikonas
2760f02fbf
Move LVM device scanning code.
...
Now it's the backend's responsibility to find LVM devices.
All LVM scanning code was moved into LvmDevice::scanSystemLVM helper,
so that it is very easy to plug LVM into backend.
LVM devices are now intentionally not detected in Dummy Backend.
2017-10-06 03:17:51 +01:00
Andrius Štikonas
15eabf9859
Add some comments about LVM in DeviceScanner.
2017-10-03 21:02:40 +01:00
Adriaan de Groot
c4ae5d680c
Docs: document Device (a description) and CoreBackendDevice (an operational class)
2017-10-03 05:56:16 -04:00
Adriaan de Groot
98caf84424
Docs: change parameter name to match intention.
...
Document that means exclude-read-only and change the
name to match. It was already named excludeReadOnly in the
parted backend.
2017-10-03 05:56:16 -04:00
Andrius Štikonas
80c5cb5a1f
Remove no longer used include.
2017-10-03 02:32:36 +01:00
Andrius Štikonas
40e22c94f2
Store ExternalCommand output in QByteArray.
...
This makes it possible to run dd with ExternalCommand.
2017-10-03 02:27:47 +01:00
Andrius Štikonas
37d3639bfe
Update credits.
2017-10-02 22:44:58 +01:00
Adriaan de Groot
e67b6b6a2b
Docs: Add documentation about FileSystem::name()
2017-10-02 16:16:49 +02:00
Andrius Štikonas
8fd723770a
Update credits.
2017-10-02 01:40:41 +01:00
Andrius Štikonas
722ef62ebb
Port away from KService.
2017-10-01 22:05:50 +01:00
Andrius Štikonas
8c3ab58d84
Add a comment about FAT volume ID hack.
2017-09-28 14:24:13 +01:00
Pali Rohár
e957c220bd
Disallow non-ASCII and ASCII control characters in FAT label
...
FAT label is interpreted according to current OEM DOS codepage which is
system dependent setting. But most DOS codepages have same characters in
printable ASCII range, so this is the only safe range of characters which
are interpreted in same way by most programs and operating systems. Also
all DOS codepages are only 8bit, so characters above U+FF cannot be stored
to FAT label.
2017-09-26 22:02:02 +01:00
Pali Rohár
5a30aff288
Set FAT label in upper case
...
FAT label should be stored in upper case. Also Windows systems doing it.
2017-09-26 22:01:56 +01:00
Andrius Štikonas
098fdee506
fstab fixes:
...
* Do not output # for empty inline comments.
* More checks to validate fstab entry.
2017-09-20 21:22:53 +01:00
Andrius Štikonas
a3732c1459
Fix a typo. Remove extra trimmed().
2017-09-17 13:52:48 +01:00
Andrius Štikonas
1713f66872
Fix reading partition label.
2017-09-17 13:06:31 +01:00
Andrius Štikonas
d99b3f6eb3
Improve QFileInfo usage.
...
Cache QFileInfo result in a local variable.
Before repeated request often incorrectly resulted in QString()
2017-09-17 00:39:53 +01:00
Andrius Štikonas
4a64465738
Remove MountEntry class.
2017-09-16 20:56:32 +01:00
Andrius Štikonas
8dd1e70b21
Fix inline comment handling.
...
CCBUG: 305469
2017-09-16 20:50:57 +01:00
Andrius Štikonas
baec157314
Add a function to write fstab file.
...
CCBUG: 305469
2017-09-16 20:40:46 +01:00
Andrius Štikonas
8719fb0bf3
Add fstab mutators.
2017-09-16 20:16:17 +01:00
Andrius Štikonas
4257021857
Use QStringList to store fstab options.
2017-09-16 19:09:03 +01:00
Andrius Štikonas
687e3fc7d4
Do not store more than 10M characters in ExternalCommand output.
...
BUG: 368674
2017-09-15 14:59:59 +01:00
Andrius Štikonas
ec89795326
Allow accessing untranslated partition roles.
2017-09-15 13:09:01 +01:00
Andrius Štikonas
dff6086e64
Copy paste typo.
2017-09-15 12:59:10 +01:00
Andrius Štikonas
0d16e945c1
Add a partition role name for LVM logical volume.
2017-09-15 12:50:05 +01:00
Andrius Štikonas
f1888f0d1c
Change a way untranslated file system name is accessed.
2017-09-15 12:47:01 +01:00
Andrius Štikonas
0c33a7b001
Move showColumnsContextMenu function from kpmcore to partitionmanager.
2017-09-14 20:43:08 +01:00
Andrius Štikonas
95a74c63d1
Do not report wrong mountpoint for closed LUKS file systems.
...
When libparted scans luks partitions it calls detectFileSystem
regardless of whether luks is open or closed. This results in
mapperNode being empty, so we need to prevent detectFileSystem
from reporting anything in this case.
2017-09-14 17:50:21 +01:00
Andrius Štikonas
f29534e7c7
Use untranslated file system name when exporting partition table.
...
CCBUG: 364648
2017-09-14 14:47:00 +01:00
Andrius Štikonas
5d65d83990
Add functions to access untranslated name of file system.
...
CCBUG: 364648
2017-09-14 14:23:07 +01:00
Andrius Štikonas
50ba46a693
Fix a typo where declarared variable was not used.
2017-09-14 01:27:38 +01:00
Andrius Štikonas
6b4185cff1
Do not crash when partition has no mount points.
2017-09-13 23:28:37 +01:00
Andrius Štikonas
268a68a318
Split fstab lines with both spaces and tabs.
2017-09-13 23:05:32 +01:00
Andrius Štikonas
8f7e0beb0f
Sort files in CMakeLists.txt alphabetically.
2017-09-13 18:52:43 +01:00
Andrius Štikonas
34712dd2ed
Add fstab file parser.
...
Remove dependency on KMountPoint and hence KIO.
2017-09-13 18:46:33 +01:00
Andrius Štikonas
6b6ddbdcef
Use int for maxLabelLength.
2017-09-11 16:52:20 +01:00
Andrius Štikonas
17e6c32633
Fix more implicit type conversion warnings.
2017-09-11 13:41:03 +01:00
Andrius Štikonas
6c433c264c
Port FileSystem::luks away from KDiskFreeSpaceInfo.
2017-09-11 12:19:49 +01:00
Andrius Štikonas
a041090168
Port LvmDevice away from KDiskFreeSpaceInfo.
2017-09-11 12:15:37 +01:00
Andrius Štikonas
8a477e689e
Minor clang warnings++
2017-09-11 12:01:39 +01:00
Andrius Štikonas
5433294a5b
Fix more minor clang issues.
2017-09-11 00:29:30 +01:00
Andrius Štikonas
f7e5f7c7bf
Rename KPMcore include guards.
...
clang in -Weverything mode does not like double underscore.
2017-09-10 20:12:52 +01:00
Andrius Štikonas
0f2ab468eb
Disable some characters in FAT label input.
2017-09-10 19:19:08 +01:00
Andrius Štikonas
fbf7e78efe
Update credits: Pali Rohár
2017-09-10 18:03:41 +01:00
Andrius Štikonas
f1654486dc
Remove unnecessary semicolon.
2017-09-10 17:26:12 +01:00
Andrius Štikonas
2404689dd0
Port away from KDiskFreeSpaceInfo to QStorageInfo.
2017-09-08 18:35:30 +01:00
Andrius Štikonas
1889b9e8fa
Port unmount code away from KMountPoints (KIO).
2017-09-08 17:58:27 +01:00
Andrius Štikonas
f1accd1e0d
Remove IconThemes dependency from kpmcore.
2017-09-08 15:05:55 +01:00
Andrius Štikonas
5a83e741cb
Add support for detecting ISO9660 file systems.
...
BUG: 364476
2017-09-08 11:42:12 +01:00
Andrius Štikonas
2cfcefd9c9
nilfs2: pass -f to mkfs.nilfs2 to overwrite existing file system
2017-09-08 00:20:35 +01:00
Andrius Štikonas
3866bf6fef
Only include <linux/fs.h> on GNU/Linux
2017-09-07 21:34:45 +01:00
Andrius Štikonas
2b52ec492b
Only create QRegularExpressionValidator when needed and destroy it afterwards.
2017-09-05 16:20:50 +01:00
Pali Rohár
9cc6596cb4
Implement udf::labelValidator() for validating UDF label
...
This would rapidly simplify UDF code if all checks are done by caller.
Also checks for MIN_UDF_BLOCKS/MAX_UDF_BLOCKS are removed as they should be
covered by udf::minCapacity() and udf::maxCapacity().
2017-09-05 15:53:24 +01:00
Andrius Štikonas
58f3d09d71
Port away from QRegExp.
2017-09-05 12:57:45 +01:00
Andrius Štikonas
447ae7fc90
Use QValidator to validate label input.
2017-09-05 12:52:34 +01:00
Andrius Štikonas
0badfebcb1
lvm: disable error channel for vgs/pvs commands.
...
Having an error channel can result in unwanted devices, e.g.:
"/dev//dev/mapper/test: read failed after 0 of 4096 at 0: Input/output error"
2017-09-04 19:55:08 +01:00
Andrius Štikonas
4a39e453dc
Add a function for validating labels.
2017-09-04 17:39:29 +01:00
Andrius Štikonas
6ad873223e
udf: set MBR partition id to 0x07.
2017-09-03 21:24:15 +01:00
Andrius Štikonas
703270b64c
udf: do not hardcode min/max sector size.
2017-09-03 18:40:19 +01:00
Andrius Štikonas
c4628ad715
Use block size provided by the backend in UDF file system.
2017-09-03 18:27:57 +01:00
Andrius Štikonas
7dba4b8245
Record sector size in FileSystem class.
2017-09-03 15:37:14 +01:00
Andrius Štikonas
d797a47229
QList->QVector.
2017-08-31 10:48:10 +01:00
Andrius Štikonas
756c5b5beb
Use QHash instead of QMap for storing LVM LV sizes.
2017-08-31 10:16:16 +01:00
Pali Rohár
db13a4bab9
Process UDF label correctly when creating new UDF file system
...
Mkudffs from udftools prior to version 1.1 damages the label if it contains
non-ASCII characters.
The Volume Identifier (--vid) can only contain 30 bytes, either 30
ISO-8859-1 (Latin 1) characters or 15 UCS-2BE characters. Store the most
characters possible in the Volume Identifier.
2017-08-31 10:13:32 +01:00
Andrius Štikonas
2a118753ae
Allow selecting different channels in ExternalCommand output.
2017-08-31 10:13:24 +01:00
Andrius Štikonas
fd68f9334c
Add createWithLabel support for F2FS.
2017-08-31 10:13:07 +01:00
Andrius Štikonas
6a78a74515
Add support for creating file systems with label.
...
Some file systems such as UDF or F2FS only support writing labels when creating
them.
At the moment this only works in new partition dialog and not in the partition
properties dialog.
2017-08-31 10:13:01 +01:00
Andrius Štikonas
684a1ce073
Add colour for UDF file system.
2017-08-31 10:12:54 +01:00
Pali Rohár
feec00f4e7
Add basic support for UDF filesystem
...
For reading UDF label and UUID is needed blkid >= 2.30. For creating new
UDF filesystem is needed mkudffs binary from the udftools package.
When creating new UDF fileystem, revision 2.01 for hard disk media is used.
Therefore it is not possible to use it for optical (or other) medias.
Problems:
* Check for min and max capacity is incorrect as it depends on logical
(sector) size of the disk.
* Check for max label length is incorrect too as it depends on characters
itself in label.
* Specifying label is not working yet as FileSystem::create() does not get
label parameter.
* UDF filesystem should be used on unpartitioned disk, without MBR or GPT
and spanning whole disk, but KDE Partition Manager does not support it.
* When MBR is used, MBR partition id should be 0x07, but currently it is
incorrect 0x83. See: https://serverfault.com/a/829172 (same for GPT)
2017-08-31 10:12:44 +01:00
Andrius Štikonas
13c063a150
Fix a possible null pointer dereference.
...
On some systems getlogin() function might fail to obtain user name.
For now just check whether pointer is nullptr. In that case suspending
plasma device automounter would not work but at least we will not crash.
In future it might make sense to try to use other methods of obtaining login
name, such as running "who am i".
BUG: 381987
2017-07-04 21:07:54 +01:00
Andrius Štikonas
037380228d
QRegularExpression->QJson
...
lsblk LUKS mapping point parsing now uses json.
2017-07-04 14:42:39 +01:00
Andrius Štikonas
311a171307
Use QtJson to parse lsblk output.
2017-06-28 14:11:43 +01:00
Harald Sitter
984a4e9ace
fix device RO check
...
Summary:
- mark deviceNode const
- copy it as deviceName
- mutate deviceName by removing `/dev/`
- use the new deviceName for the read-only check
this makes sure we emit the unmodified deviceNode (e.g. /dev/vda) rather
than the name (e.g. vda). unbreaks for example calamares which doesn't
know what to do with "vda".
CCBUG: 378607
Test Plan:
- without fix clamares fails to list devices
- with the fix calamares lists devices
Reviewers: stikonas
Reviewed By: stikonas
Differential Revision: https://phabricator.kde.org/D6414
2017-06-28 13:51:27 +02:00
Andrius Štikonas
a35702e911
Use lsblk's TYPE=disk when scanning for devices.
...
The previous way relied on kernel device numbers but this gets ugly, especially
in cases when device number is not assigned such as virtio disks.
BUG: 378607
2017-06-22 03:11:58 +01:00
Andrius Štikonas
fda1e219de
Add more major device numbers for virtio.
...
BUG: 378607
2017-06-20 15:51:13 +01:00
Andrius Štikonas
6b31dd0e85
Remove accidentally commited debug code.
2017-06-14 15:26:02 +02:00
Andrius Štikonas
b98dcc90d8
Bump version to 3.1.1.
2017-06-14 00:20:13 +02:00
Andrius Štikonas
9252bc6156
seteuid has to be used instead of setuid.
...
According to setuid manual, seteuid has to be used to be able to
regain root privileges later.
2017-06-12 22:00:36 +02:00
Andrius Štikonas
63ddb4e472
QList<QString> -> QStringList.
2017-06-12 12:47:17 +02:00
l10n daemon script
cb1f76d018
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"
2017-06-11 04:31:47 +02:00
Andrius Štikonas
63b5c8c34c
Suspend Plasma removable device automounting.
...
Before doing operations, we connect to DBus session of the original user
and stop kded module for device automounting.
BUG: 368175
2017-06-07 19:21:59 +02:00
Andrius Štikonas
3228fa081a
Use qAsConst in ranged based for loops.
2017-06-04 22:26:24 +01:00
Andrius Štikonas
d2ce014589
Use range based for instead of Q_FOREACH.
...
Bump Qt version requirements to 5.7.0
2017-06-01 11:16:09 +01:00
Andrius Štikonas
e43d6645e4
Replace VLA with new[].
2017-06-01 01:36:38 +01:00
Andrius Štikonas
5f0d1cd72b
Port qSort.
2017-05-03 19:24:20 +01:00
Christian Morlok
b10577e1c7
Fix creation of encrypted volumes
...
We can't rely on the order of lsblk. Check for the type=crypt instead.
BUG: 379205
2017-04-25 19:08:14 +01:00
Andrius Štikonas
ff714f2f0e
Fix online label support.
...
Some filesystems require mountpoint while some deviceNode to change file system
label only. So split writeLabel action into online and offline actions.
2017-04-09 17:49:55 +01:00
Alexander Schlarb
427e37a047
Prevent the libparted backend from exposing "null devices"
...
REVIEW: 129968
BUG: 375394
2017-02-25 13:45:22 +00:00
Teo Mrnjavac
876a3932fd
Do not filter out KVM virtual disks in LibPartedBackend::scanDevices.
2017-02-17 11:55:15 +01:00
Andrius Štikonas
7c901593b2
Use slightly more descriptive variable names.
2017-02-05 15:50:56 +00:00
l10n daemon script
610710e7f4
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"
2017-02-05 06:03:02 +01:00
l10n daemon script
0f41f40b1f
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"
2017-02-04 06:20:00 +01:00
Andrius Štikonas
16c12ddb9e
Both swap and LVM PV should not use KDiskFreeSpaceInfo.
2017-01-26 18:07:28 +00:00
Andrius Štikonas
b5b3af4b22
Use qCeil to set used sectors for luks file systems.
...
When using LUKS encrypted LVM logical volumes sector size is large and
we cannot assume that result of division is integer. Without this, number of
used extents can be underestimated by one.
2017-01-26 17:40:41 +00:00
Andrius Štikonas
901d01185f
Do not set LUKS logical sector size to 512.
...
This breaks used space reporting for LUKS encrypted LVM LV.
2017-01-25 18:21:25 +01:00
Andrius Štikonas
f8ba25fdfa
Improve used space detection to use fs utils when not mounted.
2017-01-05 17:27:17 +00:00
Andrius Štikonas
0bb267830d
Fix a bug (that could result in data loss) where left handle of partition resize widget was not actually disabled.
2016-12-31 12:34:38 +02:00
l10n daemon script
2fcc37dfb6
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"
2016-12-20 12:47:43 +01:00