From cf5ff518328ee784b43dc9a208e644d39f99a279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Mon, 12 Oct 2020 21:49:07 +0100 Subject: [PATCH 01/25] Remove unused applicationinterface DBus interface. --- .reuse/dep5 | 2 +- src/util/CMakeLists.txt | 4 ---- src/util/org.kde.kpmcore.applicationinterface.conf | 14 -------------- 3 files changed, 1 insertion(+), 19 deletions(-) delete mode 100644 src/util/org.kde.kpmcore.applicationinterface.conf diff --git a/.reuse/dep5 b/.reuse/dep5 index dfdd927..174197e 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -14,7 +14,7 @@ Copyright: 2018 Andrius Štikonas Copyright: 2020 KDE translators ### DBus interfaces -Files: src/util/org.kde.kpmcore.*.conf +Files: src/util/org.kde.kpmcore.helperinterface.conf License: MIT Copyright: 2018 Andrius Štikonas diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index 535ae3b..1475a1a 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -9,7 +9,6 @@ # SPDX-License-Identifier: GPL-3.0-or-later -set(application_interface_xml org.kde.kpmcore.applicationinterface.xml) set(helper_interface_xml org.kde.kpmcore.helperinterface.xml) qt5_generate_dbus_interface( @@ -27,7 +26,6 @@ qt5_generate_dbus_interface( find_package(PolkitQt5-1 REQUIRED) -qt5_add_dbus_interface(ApplicationInterface_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${application_interface_xml} externalcommand_interface) qt5_add_dbus_interface(HelperInterface_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${helper_interface_xml} externalcommandhelper_interface) set(UTIL_SRC @@ -51,7 +49,6 @@ set(UTIL_LIB_HDRS ) add_executable(kpmcore_externalcommand - ${ApplicationInterface_SRCS} util/externalcommandhelper.cpp ) @@ -66,7 +63,6 @@ target_link_libraries(kpmcore_externalcommand install(TARGETS kpmcore_externalcommand DESTINATION ${KDE_INSTALL_LIBEXECDIR}) install( FILES util/org.kde.kpmcore.helperinterface.conf DESTINATION ${KDE_INSTALL_DBUSDIR}/system.d ) -install( FILES util/org.kde.kpmcore.applicationinterface.conf DESTINATION ${KDE_INSTALL_DBUSDIR}/system.d ) kauth_install_actions(org.kde.kpmcore.externalcommand util/org.kde.kpmcore.externalcommand.actions) ecm_install_configured_files( diff --git a/src/util/org.kde.kpmcore.applicationinterface.conf b/src/util/org.kde.kpmcore.applicationinterface.conf deleted file mode 100644 index e64a003..0000000 --- a/src/util/org.kde.kpmcore.applicationinterface.conf +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - From d3ebabb6cbd319ef4e644eaea7df952270a1e883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Tue, 13 Oct 2020 00:09:44 +0100 Subject: [PATCH 02/25] Move find_package to top level CMakeLists.txt. --- CMakeLists.txt | 4 ++-- src/CMakeLists.txt | 1 - src/util/CMakeLists.txt | 5 ----- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 17a9f9e..3d2db44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) set(QT_MIN_VERSION "5.10.0") set(KF5_MIN_VERSION "5.56") set(BLKID_MIN_VERSION "2.33.2") -# Qca-qt5 (tested with botan and ossl backends) +# PolkitQt5-1 # Runtime # smartmontools 7.0 @@ -62,7 +62,7 @@ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED WidgetsAddons ) -find_package(Qca-qt5 REQUIRED) +find_package(PolkitQt5-1 REQUIRED) # use sane compile flags add_definitions( diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index fda245d..b6adca0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -33,7 +33,6 @@ target_link_libraries( kpmcore PUBLIC ${BLKID_LIBRARIES} Qt5::DBus Qt5::Gui - qca-qt5 KF5::I18n KF5::CoreAddons KF5::WidgetsAddons diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index 1475a1a..fcd4721 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -23,9 +23,6 @@ qt5_generate_dbus_interface( OPTIONS -a ) - -find_package(PolkitQt5-1 REQUIRED) - qt5_add_dbus_interface(HelperInterface_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${helper_interface_xml} externalcommandhelper_interface) set(UTIL_SRC @@ -53,10 +50,8 @@ add_executable(kpmcore_externalcommand ) target_link_libraries(kpmcore_externalcommand - qca-qt5 Qt5::Core Qt5::DBus - KF5::AuthCore KF5::I18n PolkitQt5-1::Core ) From 85396708f49449754eb4c0411b1cb9bddba8241e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Tue, 13 Oct 2020 01:23:26 +0100 Subject: [PATCH 03/25] Use Qt::SplitBehavior Old version QString::SplitBehavious is now deprecated. --- CMakeLists.txt | 2 +- src/core/fstab.cpp | 2 +- src/core/lvmdevice.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d2db44..c67af45 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,7 +13,7 @@ set(CMAKE_USE_RELATIVE_PATHS OFF) set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) # Dependencies -set(QT_MIN_VERSION "5.10.0") +set(QT_MIN_VERSION "5.14.0") set(KF5_MIN_VERSION "5.56") set(BLKID_MIN_VERSION "2.33.2") # PolkitQt5-1 diff --git a/src/core/fstab.cpp b/src/core/fstab.cpp index 16b94fc..196deca 100644 --- a/src/core/fstab.cpp +++ b/src/core/fstab.cpp @@ -72,7 +72,7 @@ FstabEntryList readFstabEntries( const QString& fstabPath ) } QString comment = line.section( QLatin1Char('#'), 1 ); - QStringList splitLine = line.section( QLatin1Char('#'), 0, 0 ).split( QRegularExpression(QStringLiteral("[\\s]+")), QString::SkipEmptyParts ); + QStringList splitLine = line.section( QLatin1Char('#'), 0, 0 ).split( QRegularExpression(QStringLiteral("[\\s]+")), Qt::SkipEmptyParts ); // We now split the standard components of /etc/fstab entry: // (0) path, or UUID, or LABEL, etc, diff --git a/src/core/lvmdevice.cpp b/src/core/lvmdevice.cpp index a1a4639..e9452c0 100644 --- a/src/core/lvmdevice.cpp +++ b/src/core/lvmdevice.cpp @@ -264,7 +264,7 @@ const QStringList LvmDevice::getVGs() QStringList vgList; QString output = getField(QStringLiteral("vg_name")); if (!output.isEmpty()) { - const QStringList vgNameList = output.split(QLatin1Char('\n'), QString::SkipEmptyParts); + const QStringList vgNameList = output.split(QLatin1Char('\n'), Qt::SkipEmptyParts); for (const auto &vgName : vgNameList) { vgList.append(vgName.trimmed()); } @@ -278,7 +278,7 @@ const QStringList LvmDevice::getLVs(const QString& vgName) QString cmdOutput = getField(QStringLiteral("lv_path"), vgName); if (cmdOutput.size()) { - const QStringList tempPathList = cmdOutput.split(QLatin1Char('\n'), QString::SkipEmptyParts); + const QStringList tempPathList = cmdOutput.split(QLatin1Char('\n'), Qt::SkipEmptyParts); for (const auto &lvPath : tempPathList) { lvPathList.append(lvPath.trimmed()); } From f51509e1bfcf72cbd5f9a35bafaa2ceb1c3a2f8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 16 Oct 2020 21:37:17 +0100 Subject: [PATCH 04/25] Bump KF5 version requirement. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c67af45..e22ff43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,7 @@ set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) # Dependencies set(QT_MIN_VERSION "5.14.0") -set(KF5_MIN_VERSION "5.56") +set(KF5_MIN_VERSION "5.73") set(BLKID_MIN_VERSION "2.33.2") # PolkitQt5-1 From 766105bb73f0758aa1ce5dd5898ac4291c2b9588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Fri, 16 Oct 2020 23:05:25 +0100 Subject: [PATCH 05/25] Switch to release service's versioning scheme. --- CMakeLists.txt | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e22ff43..c0a2028 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,10 +5,19 @@ # SPDX-License-Identifier: GPL-3.0-or-later -project(kpmcore) - cmake_minimum_required(VERSION 3.1 FATAL_ERROR) +# KDE Application Version, managed by release script +set (RELEASE_SERVICE_VERSION_MAJOR "20") +set (RELEASE_SERVICE_VERSION_MINOR "11") +set (RELEASE_SERVICE_VERSION_MICRO "70") +set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") +project(kpmcore VERSION ${RELEASE_SERVICE_VERSION}) + +set(SOVERSION "10") +add_definitions(-D'VERSION="${RELEASE_SERVICE_VERSION}"') #" + + set(CMAKE_USE_RELATIVE_PATHS OFF) set(CMAKE_BUILD_WITH_INSTALL_RPATH ON) @@ -21,13 +30,6 @@ set(BLKID_MIN_VERSION "2.33.2") # Runtime # smartmontools 7.0 -set(VERSION_MAJOR "4") -set(VERSION_MINOR "2") -set(VERSION_RELEASE "0") -set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_RELEASE}) -set(SOVERSION "10") -add_definitions(-D'VERSION="${VERSION}"') #" - set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) @@ -42,7 +44,7 @@ include(GenerateExportHeader) include(ECMSetupVersion) include(ECMConfiguredInstall) -ecm_setup_version(${VERSION} VARIABLE_PREFIX KPMCORE +ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX KPMCORE VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kpmcore_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPMcoreConfigVersion.cmake" SOVERSION ${SOVERSION}) @@ -107,10 +109,10 @@ install(EXPORT KPMcoreTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KPMc ki18n_install(po) set_target_properties( kpmcore - PROPERTIES VERSION ${VERSION} SOVERSION ${SOVERSION} + PROPERTIES VERSION ${RELEASE_SERVICE_VERSION} SOVERSION ${SOVERSION} ) -message(STATUS "kpmcore ${VERSION} will be built for install into ${CMAKE_INSTALL_PREFIX}") +message(STATUS "kpmcore ${RELEASE_SERVICE_VERSION} will be built for install into ${CMAKE_INSTALL_PREFIX}") feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) From ec3479f302096c78e7dbee310550c56ae1fde4a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 24 Oct 2020 01:33:52 +0100 Subject: [PATCH 06/25] Add overrides to destructors. --- src/backend/corebackend.h | 2 +- src/core/device.h | 2 +- src/core/lvmdevice.h | 2 +- src/core/operationstack.h | 2 +- src/core/partitionnode.h | 2 +- src/gui/partwidgetbase.h | 2 +- src/jobs/job.h | 2 +- src/ops/operation.h | 2 +- src/util/externalcommand.h | 2 +- src/util/report.h | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/backend/corebackend.h b/src/backend/corebackend.h index ddb4341..c828a1b 100644 --- a/src/backend/corebackend.h +++ b/src/backend/corebackend.h @@ -47,7 +47,7 @@ class LIBKPMCORE_EXPORT CoreBackend : public QObject protected: CoreBackend(); - virtual ~CoreBackend(); + ~CoreBackend() override; Q_SIGNALS: /** diff --git a/src/core/device.h b/src/core/device.h index 01d9d6f..df5d5b9 100644 --- a/src/core/device.h +++ b/src/core/device.h @@ -56,7 +56,7 @@ public: public: explicit Device(const Device& other); - virtual ~Device(); + ~Device() override; virtual bool operator==(const Device& other) const; virtual bool operator!=(const Device& other) const; diff --git a/src/core/lvmdevice.h b/src/core/lvmdevice.h index dcc7ed6..5ef67d9 100644 --- a/src/core/lvmdevice.h +++ b/src/core/lvmdevice.h @@ -40,7 +40,7 @@ class LIBKPMCORE_EXPORT LvmDevice : public VolumeManagerDevice public: explicit LvmDevice(const QString& name, const QString& iconName = QString()); - ~LvmDevice(); + ~LvmDevice() override; public: const QStringList deviceNodes() const override; diff --git a/src/core/operationstack.h b/src/core/operationstack.h index 3e2e3cb..0ce0c5d 100644 --- a/src/core/operationstack.h +++ b/src/core/operationstack.h @@ -45,7 +45,7 @@ public: public: explicit OperationStack(QObject* parent = nullptr); - ~OperationStack(); + ~OperationStack() override; Q_SIGNALS: void operationsChanged(); diff --git a/src/core/partitionnode.h b/src/core/partitionnode.h index ed51787..30a0889 100644 --- a/src/core/partitionnode.h +++ b/src/core/partitionnode.h @@ -33,7 +33,7 @@ public: protected: PartitionNode() {} - virtual ~PartitionNode() {} + ~PartitionNode() override {} public: virtual bool insert(Partition* partNew); diff --git a/src/gui/partwidgetbase.h b/src/gui/partwidgetbase.h index 64536d4..fb244a5 100644 --- a/src/gui/partwidgetbase.h +++ b/src/gui/partwidgetbase.h @@ -33,7 +33,7 @@ class LIBKPMCORE_EXPORT PartWidgetBase : public QWidget protected: PartWidgetBase(QWidget* parent) : QWidget(parent) {} - virtual ~PartWidgetBase() {} + ~PartWidgetBase() override {} public: virtual qint32 borderWidth() const { diff --git a/src/jobs/job.h b/src/jobs/job.h index cc32c4d..f2a9348 100644 --- a/src/jobs/job.h +++ b/src/jobs/job.h @@ -49,7 +49,7 @@ protected: Job(); public: - virtual ~Job() {} + ~Job() override {} Q_SIGNALS: void started(); diff --git a/src/ops/operation.h b/src/ops/operation.h index 5321e07..abcf32d 100644 --- a/src/ops/operation.h +++ b/src/ops/operation.h @@ -85,7 +85,7 @@ public: protected: Operation(); - virtual ~Operation(); + ~Operation() override; Q_SIGNALS: void progress(int); diff --git a/src/util/externalcommand.h b/src/util/externalcommand.h index 516c160..f7f31c8 100644 --- a/src/util/externalcommand.h +++ b/src/util/externalcommand.h @@ -50,7 +50,7 @@ public: explicit ExternalCommand(const QString& cmd = QString(), const QStringList& args = QStringList(), const QProcess::ProcessChannelMode processChannelMode = QProcess::MergedChannels); explicit ExternalCommand(Report& report, const QString& cmd = QString(), const QStringList& args = QStringList(), const QProcess::ProcessChannelMode processChannelMode = QProcess::MergedChannels); - ~ExternalCommand(); + ~ExternalCommand() override; public: bool copyBlocks(const CopySource& source, CopyTarget& target); diff --git a/src/util/report.h b/src/util/report.h index b5ed321..04e6e3f 100644 --- a/src/util/report.h +++ b/src/util/report.h @@ -36,7 +36,7 @@ class LIBKPMCORE_EXPORT Report : public QObject public: explicit Report(Report* p, const QString& cmd = QString()); - ~Report(); + ~Report() override; Q_SIGNALS: void outputChanged(); From 0c37cc54a6c3338c8f17738e7e26f5fb23e7de27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 24 Oct 2020 16:29:09 +0100 Subject: [PATCH 07/25] Remove unnecessary semicolon (-Wpedantic). --- src/plugins/sfdisk/sfdiskdevice.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/sfdisk/sfdiskdevice.h b/src/plugins/sfdisk/sfdiskdevice.h index 3202d2c..ee633c0 100644 --- a/src/plugins/sfdisk/sfdiskdevice.h +++ b/src/plugins/sfdisk/sfdiskdevice.h @@ -20,7 +20,7 @@ class CoreBackendPartitionTable; class SfdiskDevice : public CoreBackendDevice { - Q_DISABLE_COPY(SfdiskDevice); + Q_DISABLE_COPY(SfdiskDevice) public: explicit SfdiskDevice(const Device& d); From 7e8ae5b140aa9409b6b1468163ba5e8b507ce691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 24 Oct 2020 16:34:12 +0100 Subject: [PATCH 08/25] Require C++17 which was actually used already with enumerator attributes. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c0a2028..eafbda8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ set(BLKID_MIN_VERSION "2.33.2") # Runtime # smartmontools 7.0 -set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) From 19f78ef76a71f3fde03fdc75a265692d408719b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 24 Oct 2020 22:01:45 +0100 Subject: [PATCH 09/25] Port away from qAsConst. --- src/core/lvmdevice.cpp | 6 ++++-- src/core/partitiontable.cpp | 4 +++- src/core/raid/softwareraid.cpp | 4 +++- src/core/smartattributeparseddata.cpp | 6 ++++-- src/core/smartdiskinformation.cpp | 7 ++++--- src/core/smartparser.cpp | 4 +++- src/core/smartstatus.cpp | 5 +++-- src/fs/filesystemfactory.cpp | 6 ++++-- src/ops/resizevolumegroupoperation.cpp | 10 ++++++---- src/plugins/sfdisk/sfdiskbackend.cpp | 6 ++++-- 10 files changed, 38 insertions(+), 20 deletions(-) diff --git a/src/core/lvmdevice.cpp b/src/core/lvmdevice.cpp index e9452c0..6951eb8 100644 --- a/src/core/lvmdevice.cpp +++ b/src/core/lvmdevice.cpp @@ -1,6 +1,6 @@ /* SPDX-FileCopyrightText: 2016 Chantara Tith - SPDX-FileCopyrightText: 2016-2019 Andrius Štikonas + SPDX-FileCopyrightText: 2016-2020 Andrius Štikonas SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho SPDX-FileCopyrightText: 2019 Yuri Chornoivan @@ -21,6 +21,8 @@ #include "util/globallog.h" #include "util/report.h" +#include + #include #include #include @@ -215,7 +217,7 @@ void LvmDevice::scanSystemLVM(QList& devices) // Inform LvmDevice about which physical volumes form that particular LvmDevice for (const auto &d : lvmList) - for (const auto &p : qAsConst(LVM::pvList::list())) + for (const auto &p : std::as_const(LVM::pvList::list())) if (p.vgName() == d->name()) d->physicalVolumes().append(p.partition()); diff --git a/src/core/partitiontable.cpp b/src/core/partitiontable.cpp index 60ad8bb..05e36f1 100644 --- a/src/core/partitiontable.cpp +++ b/src/core/partitiontable.cpp @@ -23,6 +23,8 @@ #include "util/globallog.h" +#include + #include #include @@ -592,7 +594,7 @@ QTextStream& operator<<(QTextStream& stream, const PartitionTable& ptable) std::sort(partitions.begin(), partitions.end(), [](const Partition* p1, const Partition* p2) { return p1->number() < p2->number(); }); - for (const auto &p : qAsConst(partitions)) + for (const auto &p : std::as_const(partitions)) stream << *p; return stream; diff --git a/src/core/raid/softwareraid.cpp b/src/core/raid/softwareraid.cpp index 74793f8..48879bd 100644 --- a/src/core/raid/softwareraid.cpp +++ b/src/core/raid/softwareraid.cpp @@ -14,6 +14,8 @@ #include "fs/filesystemfactory.h" #include "util/externalcommand.h" +#include + #include #include #include @@ -221,7 +223,7 @@ void SoftwareRAID::scanSoftwareRAID(QList& devices) } } - for (const QString& name : qAsConst(availableInConf)) { + for (const QString& name : std::as_const(availableInConf)) { SoftwareRAID *raidDevice = new SoftwareRAID(name, SoftwareRAID::Status::Inactive); devices << raidDevice; } diff --git a/src/core/smartattributeparseddata.cpp b/src/core/smartattributeparseddata.cpp index 0f41b71..0280abe 100644 --- a/src/core/smartattributeparseddata.cpp +++ b/src/core/smartattributeparseddata.cpp @@ -1,7 +1,7 @@ /* SPDX-FileCopyrightText: 2008 Lennart Poettering SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho - SPDX-FileCopyrightText: 2018-2019 Andrius Štikonas + SPDX-FileCopyrightText: 2018-2020 Andrius Štikonas SPDX-License-Identifier: GPL-3.0-or-later */ @@ -9,6 +9,8 @@ #include "smartattributeparseddata.h" #include "core/smartdiskinformation.h" +#include + #include #include #include @@ -615,7 +617,7 @@ static SmartQuirk getQuirk(QString model, QString firmware) QRegularExpression modelRegex; QRegularExpression firmwareRegex; - for (const SmartAttributeParsedData::SmartQuirkDataBase &item : qAsConst(db)) { + for (const SmartAttributeParsedData::SmartQuirkDataBase &item : std::as_const(db)) { if (!item.model.isEmpty()) { modelRegex.setPattern(item.model); QRegularExpressionMatch match = modelRegex.match(model); diff --git a/src/core/smartdiskinformation.cpp b/src/core/smartdiskinformation.cpp index f4e4d43..a893a89 100644 --- a/src/core/smartdiskinformation.cpp +++ b/src/core/smartdiskinformation.cpp @@ -1,6 +1,6 @@ /* SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho - SPDX-FileCopyrightText: 2018-2019 Andrius Štikonas + SPDX-FileCopyrightText: 2018-2020 Andrius Štikonas SPDX-License-Identifier: GPL-3.0-or-later */ @@ -9,6 +9,7 @@ #include "core/smartattributeparseddata.h" #include +#include static quint64 u64log2(quint64 n); @@ -145,7 +146,7 @@ bool SmartDiskInformation::updatePowerCycle() /** Validate disk attributes status */ void SmartDiskInformation::validateBadAttributes() { - for (const SmartAttributeParsedData &attribute : qAsConst(m_Attributes)) { + for (const SmartAttributeParsedData &attribute : std::as_const(m_Attributes)) { if (attribute.prefailure()) { if (attribute.goodNowValid() && !attribute.goodNow()) m_BadAttributeNow = true; @@ -161,7 +162,7 @@ void SmartDiskInformation::validateBadAttributes() SmartAttributeParsedData *SmartDiskInformation::findAttribute(quint32 id) { SmartAttributeParsedData *attr = nullptr; - for (const SmartAttributeParsedData &attribute : qAsConst(m_Attributes)) { + for (const SmartAttributeParsedData &attribute : std::as_const(m_Attributes)) { if (id == attribute.id()) { attr = new SmartAttributeParsedData(attribute); break; diff --git a/src/core/smartparser.cpp b/src/core/smartparser.cpp index 34face9..80c73f1 100644 --- a/src/core/smartparser.cpp +++ b/src/core/smartparser.cpp @@ -1,5 +1,6 @@ /* SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho + SPDX-FileCopyrightText: 2020 Andrius Štikonas SPDX-License-Identifier: GPL-3.0-or-later */ @@ -12,6 +13,7 @@ #include "util/externalcommand.h" #include +#include #include #include @@ -147,7 +149,7 @@ void SmartParser::loadAttributes() return; } - for (const QJsonValue &value : qAsConst(attributeArray)) { + for (const QJsonValue &value : std::as_const(attributeArray)) { SmartAttributeParsedData parsedObject(m_DiskInformation, value.toObject()); m_DiskInformation->addAttribute(parsedObject); } diff --git a/src/core/smartstatus.cpp b/src/core/smartstatus.cpp index ca326f4..be7597a 100644 --- a/src/core/smartstatus.cpp +++ b/src/core/smartstatus.cpp @@ -1,7 +1,7 @@ /* SPDX-FileCopyrightText: 2010 Volker Lanz SPDX-FileCopyrightText: 2010 Yuri Chornoivan - SPDX-FileCopyrightText: 2014-2019 Andrius Štikonas + SPDX-FileCopyrightText: 2014-2020 Andrius Štikonas SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho SPDX-FileCopyrightText: 2019 Shubham Jangra @@ -22,6 +22,7 @@ #include #include +#include SmartStatus::SmartStatus(const QString &device_path) : m_DevicePath(device_path), @@ -144,7 +145,7 @@ void SmartStatus::addAttributes(QList attr) { m_Attributes.clear(); - for (const SmartAttributeParsedData &at : qAsConst(attr)) { + for (const SmartAttributeParsedData &at : std::as_const(attr)) { SmartAttribute sm(at); m_Attributes.append(sm); } diff --git a/src/fs/filesystemfactory.cpp b/src/fs/filesystemfactory.cpp index 29978ee..329490c 100644 --- a/src/fs/filesystemfactory.cpp +++ b/src/fs/filesystemfactory.cpp @@ -1,6 +1,6 @@ /* SPDX-FileCopyrightText: 2008-2010 Volker Lanz - SPDX-FileCopyrightText: 2012-2019 Andrius Štikonas + SPDX-FileCopyrightText: 2012-2020 Andrius Štikonas SPDX-FileCopyrightText: 2015-2016 Teo Mrnjavac SPDX-FileCopyrightText: 2017 Pali Rohár SPDX-FileCopyrightText: 2019 Shubham Jangra @@ -10,6 +10,8 @@ SPDX-License-Identifier: GPL-3.0-or-later */ +#include + #include "fs/filesystemfactory.h" #include "fs/filesystem.h" @@ -92,7 +94,7 @@ void FileSystemFactory::init() fileSystems.insert(FileSystem::Type::Xfs, new FS::xfs(-1, -1, -1, QString())); fileSystems.insert(FileSystem::Type::Zfs, new FS::zfs(-1, -1, -1, QString())); - for (const auto &fs : qAsConst(fileSystems)) + for (const auto &fs : std::as_const(fileSystems)) fs->init(); qDeleteAll(m_FileSystems); diff --git a/src/ops/resizevolumegroupoperation.cpp b/src/ops/resizevolumegroupoperation.cpp index 6e0c0a5..0536a04 100644 --- a/src/ops/resizevolumegroupoperation.cpp +++ b/src/ops/resizevolumegroupoperation.cpp @@ -1,6 +1,6 @@ /* SPDX-FileCopyrightText: 2016 Chantara Tith - SPDX-FileCopyrightText: 2016-2018 Andrius Štikonas + SPDX-FileCopyrightText: 2016-2020 Andrius Štikonas SPDX-License-Identifier: GPL-3.0-or-later */ @@ -14,6 +14,8 @@ #include "jobs/movephysicalvolumejob.h" #include "util/helpers.h" +#include + #include #include @@ -55,20 +57,20 @@ ResizeVolumeGroupOperation::ResizeVolumeGroupOperation(LvmDevice& d, const QVect currentFreePE += lvm2PVFs->freePE(); } qint64 removedFreePE = 0; - for (const auto &p : qAsConst(toRemoveList)) { + for (const auto &p : std::as_const(toRemoveList)) { FS::lvm2_pv *lvm2PVFs; innerFS(p, lvm2PVFs); removedFreePE += lvm2PVFs->freePE(); } qint64 freePE = currentFreePE - removedFreePE; qint64 movePE = 0; - for (const auto &p : qAsConst(toRemoveList)) { + for (const auto &p : std::as_const(toRemoveList)) { FS::lvm2_pv *lvm2PVFs; innerFS(p, lvm2PVFs); movePE += lvm2PVFs->allocatedPE(); } qint64 growPE = 0; - for (const auto &p : qAsConst(toInsertList)) { + for (const auto &p : std::as_const(toInsertList)) { growPE += p->capacity() / device().peSize(); } diff --git a/src/plugins/sfdisk/sfdiskbackend.cpp b/src/plugins/sfdisk/sfdiskbackend.cpp index fd059b3..8907bb9 100644 --- a/src/plugins/sfdisk/sfdiskbackend.cpp +++ b/src/plugins/sfdisk/sfdiskbackend.cpp @@ -31,6 +31,8 @@ #include "util/externalcommand.h" #include "util/helpers.h" +#include + #include #include #include @@ -278,7 +280,7 @@ Device* SfdiskBackend::scanDevice(const QString& deviceNode) { QList availableDevices = scanDevices(); - for (Device *device : qAsConst(availableDevices)) + for (Device *device : std::as_const(availableDevices)) if (device->deviceNode() == deviceNode) return device; } @@ -340,7 +342,7 @@ void SfdiskBackend::scanDevicePartitions(Device& d, const QJsonArray& jsonPartit if (d.partitionTable()->isSectorBased(d)) d.partitionTable()->setType(d, PartitionTable::msdos_sectorbased); - for (const Partition *part : qAsConst(partitions)) + for (const Partition *part : std::as_const(partitions)) PartitionAlignment::isAligned(d, *part); } From 68fdf2fcf2ea57850c05365efe3a1d657c90227c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sun, 25 Oct 2020 23:45:28 +0000 Subject: [PATCH 10/25] Use XmlMessages.sh for translations of polkit policy files. --- CMakeLists.txt | 1 - src/XmlMessages.sh | 26 +++++++ src/util/CMakeLists.txt | 4 +- .../org.kde.kpmcore.externalcommand.actions | 65 ------------------ .../org.kde.kpmcore.externalcommand.policy | 68 +++++++++++++++++++ 5 files changed, 96 insertions(+), 68 deletions(-) create mode 100644 src/XmlMessages.sh delete mode 100644 src/util/org.kde.kpmcore.externalcommand.actions create mode 100644 src/util/org.kde.kpmcore.externalcommand.policy diff --git a/CMakeLists.txt b/CMakeLists.txt index eafbda8..5694bfc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,7 +58,6 @@ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS # Load the frameworks we need find_package(KF5 ${KF5_MIN_VERSION} REQUIRED - Auth CoreAddons I18n WidgetsAddons diff --git a/src/XmlMessages.sh b/src/XmlMessages.sh new file mode 100644 index 0000000..e342baf --- /dev/null +++ b/src/XmlMessages.sh @@ -0,0 +1,26 @@ +# SPDX-FileCopyrightText: 2020 Andrius Štikonas +# SPDX-License-Identifier: MIT + +function get_files +{ + echo util/org.kde.kpmcore.externalcommand.policy +} + +function po_for_file +{ + case "$1" in + util/org.kde.kpmcore.externalcommand.policy) + echo kpmcore._policy_.po + ;; + esac +} + +function tags_for_file +{ + case "$1" in + util/org.kde.kpmcore.externalcommand.policy) + echo description + echo message + ;; + esac +} diff --git a/src/util/CMakeLists.txt b/src/util/CMakeLists.txt index fcd4721..bfe06f7 100644 --- a/src/util/CMakeLists.txt +++ b/src/util/CMakeLists.txt @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2008,2012 Volker Lanz # SPDX-FileCopyrightText: 2015 Chris Campbell # SPDX-FileCopyrightText: 2015 Teo Mrnjavac -# SPDX-FileCopyrightText: 2015 Andrius Štikonas +# SPDX-FileCopyrightText: 2015-2020 Andrius Štikonas # SPDX-FileCopyrightText: 2018 Huzaifa Faruqui # SPDX-FileCopyrightText: 2019 Albert Astals Cid # SPDX-FileCopyrightText: 2019 Antonio Rojas @@ -59,7 +59,7 @@ target_link_libraries(kpmcore_externalcommand install(TARGETS kpmcore_externalcommand DESTINATION ${KDE_INSTALL_LIBEXECDIR}) install( FILES util/org.kde.kpmcore.helperinterface.conf DESTINATION ${KDE_INSTALL_DBUSDIR}/system.d ) -kauth_install_actions(org.kde.kpmcore.externalcommand util/org.kde.kpmcore.externalcommand.actions) +install( FILES util/org.kde.kpmcore.externalcommand.policy DESTINATION ${POLKITQT-1_POLICY_FILES_INSTALL_DIR}) ecm_install_configured_files( INPUT util/org.kde.kpmcore.helperinterface.service.in DESTINATION ${KDE_INSTALL_DBUSDIR}/system-services diff --git a/src/util/org.kde.kpmcore.externalcommand.actions b/src/util/org.kde.kpmcore.externalcommand.actions deleted file mode 100644 index 827a56b..0000000 --- a/src/util/org.kde.kpmcore.externalcommand.actions +++ /dev/null @@ -1,65 +0,0 @@ -[Domain] -Icon=partitionmanager - -[org.kde.kpmcore.externalcommand.init] -Name=Start external command daemon -Name[ast]=Aniciu del degorriu de comandos esternos -Name[ca]=Inicia el dimoni d'ordres externes -Name[ca@valencia]=Inicia el dimoni d'ordres externes -Name[cs]=Spustit démona externích příkazů -Name[da]=Start ekstern kommando-dæmon -Name[de]=Externen Befehlsdienst starten -Name[el]=Εκκίνηση διεργασίας με εξωτερική εντολή -Name[en_GB]=Start external command daemon -Name[es]=Iniciar el demonio de órdenes externas -Name[et]=Välise käsu deemoni käivitamine -Name[eu]=Abiarazi kanpoko komandoen daimona -Name[fi]=Käynnistä ulkoinen komentopalvelu -Name[fr]=Lancer le démon de la commande externe -Name[gl]=Iniciar o servizo de orde externa -Name[it]=Avvia demone per comando esterno -Name[ko]=외부 명령 데몬 시작 -Name[lt]=Paleisti išorinių komandų tarnybą -Name[nl]=Start externe opdrachtdaemon -Name[pl]=Rozpocznij usługę zewnętrznego polecenia -Name[pt]=Iniciar o servidor de comandos externos -Name[pt_BR]=Iniciar comando externo do daemon -Name[sk]=Spustiť externé démony príkazov -Name[sl]=Zaženite demon za zunanje ukaze -Name[sv]=Starta extern kommandodemon -Name[uk]=Запуск фонової служби зовнішньої команди -Name[x-test]=xxStart external command daemonxx -Name[zh_TW]=啟動外部指令守護程式 -Description=Administrative privileges are required to manage disks -Description[ast]=Ríquense los privilexos alministrativos pa xestionar discos -Description[ca]=Es requereixen privilegis d'administrador per a gestionar els discs -Description[ca@valencia]=Es requereixen privilegis d'administrador per a gestionar els discs -Description[cs]=Pro správu disků jsou potřeba práva administrátora -Description[da]=Der kræves administrative rettigheder for at håndtere diske -Description[de]=Systemverwalterrechte sind zur Verwaltung von Festplatten erforderlich -Description[el]=Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση δίσκων -Description[en_GB]=Administrative privileges are required to manage disks -Description[es]=Se necesitan permisos de administrador para gestionar discos -Description[et]=Ketaste haldamiseks on tarvis administraatori õigusi -Description[eu]=Administrazio pribilegioak behar dira diskoak kudeatzeko -Description[fi]=Levyjen hallinta vaatii pääkäyttäjäoikeuksia -Description[fr]=Vous devez disposer des privilèges d'administrateur pour gérer les disques -Description[gl]=Requírense privilexios de administración para xestionar discos. -Description[it]=Per gestire il disco sono richiesti privilegi di amministratore -Description[ja]=ディスクを管理するには管理者権限が必要です -Description[ko]=디스크를 관리하려면 권한이 필요함 -Description[lt]=Diskų tvarkymui reikalingos administratoriaus teisės -Description[nl]=Er zijn administratieve rechten vereist om schijven te beheren -Description[pl]=Do zarządzania dyskami wymagane są uprawnienia administratora -Description[pt]=São necessários privilégios de administrador para gerir os discos -Description[pt_BR]=São necessários privilégios administrativos para gerenciar discos -Description[ru]=Для управления дисками требуются права администратора -Description[sk]=Na správu diskov sa vyžadujú práva správcu -Description[sl]=Za upravljanje diskov so potrebne pravice upravljavca računalnika -Description[sv]=Administratörsprivilegier krävs för att hantera diskar -Description[uk]=Для керування дисками потрібні права доступу адміністратора (root) -Description[x-test]=xxAdministrative privileges are required to manage disksxx -Description[zh_CN]=管理磁盘需要管理权限 -Description[zh_TW]=管理硬碟需要管理員權限 -Policy=auth_admin -Persistence=session diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy new file mode 100644 index 0000000..41fd1da --- /dev/null +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -0,0 +1,68 @@ + + + +partitionmanager + + Aniciu del degorriu de comandos esternos + Inicia el dimoni d'ordres externes + Spustit démona externích příkazů + Start ekstern kommando-dæmon + Externen Befehlsdienst starten + Εκκίνηση διεργασίας με εξωτερική εντολή + Start external command daemon + Start external command daemon + Iniciar el demonio de órdenes externas + Välise käsu deemoni käivitamine + Abiarazi kanpoko komandoen daimona + Käynnistä ulkoinen komentopalvelu + Lancer le démon de la commande externe + Iniciar o servizo de orde externa + Avvia demone per comando esterno + 외부 명령 데몬 시작 + Paleisti išorinių komandų tarnybą + Start externe opdrachtdaemon + Rozpocznij usługę zewnętrznego polecenia + Iniciar o servidor de comandos externos + Iniciar comando externo do daemon + Spustiť externé démony príkazov + Zaženite demon za zunanje ukaze + Starta extern kommandodemon + Запуск фонової служби зовнішньої команди + 啟動外部指令守護程式 + Ríquense los privilexos alministrativos pa xestionar discos + Es requereixen privilegis d'administrador per a gestionar els discs + Pro správu disků jsou potřeba práva administrátora + Der kræves administrative rettigheder for at håndtere diske + Systemverwalterrechte sind zur Verwaltung von Festplatten erforderlich + Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση δίσκων + Administrative privileges are required to manage disks + Administrative privileges are required to manage disks + Se necesitan permisos de administrador para gestionar discos + Ketaste haldamiseks on tarvis administraatori õigusi + Administrazio pribilegioak behar dira diskoak kudeatzeko + Levyjen hallinta vaatii pääkäyttäjäoikeuksia + Vous devez disposer des privilèges d'administrateur pour gérer les disques + Requírense privilexios de administración para xestionar discos. + Per gestire il disco sono richiesti privilegi di amministratore + ディスクを管理するには管理者権限が必要です + 디스크를 관리하려면 권한이 필요함 + Diskų tvarkymui reikalingos administratoriaus teisės + Er zijn administratieve rechten vereist om schijven te beheren + Do zarządzania dyskami wymagane są uprawnienia administratora + São necessários privilégios de administrador para gerir os discos + São necessários privilégios administrativos para gerenciar discos + Для управления дисками требуются права администратора + Na správu diskov sa vyžadujú práva správcu + Za upravljanje diskov so potrebne pravice upravljavca računalnika + Administratörsprivilegier krävs för att hantera diskar + Для керування дисками потрібні права доступу адміністратора (root) + 管理磁盘需要管理权限 + 管理硬碟需要管理員權限 + + no + auth_admin_keep + + + From 14777483a1fd8b7721cb472fbd30b4fde59c15a7 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 27 Oct 2020 02:40:51 +0100 Subject: [PATCH 11/25] GIT_SILENT made messages (after extraction) --- .../org.kde.kpmcore.externalcommand.policy | 51 +++---------------- 1 file changed, 6 insertions(+), 45 deletions(-) diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index 41fd1da..0863b1e 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -5,61 +5,22 @@ partitionmanager - Aniciu del degorriu de comandos esternos - Inicia el dimoni d'ordres externes - Spustit démona externích příkazů - Start ekstern kommando-dæmon - Externen Befehlsdienst starten - Εκκίνηση διεργασίας με εξωτερική εντολή Start external command daemon - Start external command daemon - Iniciar el demonio de órdenes externas - Välise käsu deemoni käivitamine - Abiarazi kanpoko komandoen daimona - Käynnistä ulkoinen komentopalvelu - Lancer le démon de la commande externe - Iniciar o servizo de orde externa + Inicia el dimoni d'ordres externes + Inicia el dimoni d'ordres externes Avvia demone per comando esterno - 외부 명령 데몬 시작 Paleisti išorinių komandų tarnybą Start externe opdrachtdaemon - Rozpocznij usługę zewnętrznego polecenia Iniciar o servidor de comandos externos - Iniciar comando externo do daemon - Spustiť externé démony príkazov - Zaženite demon za zunanje ukaze Starta extern kommandodemon - Запуск фонової служби зовнішньої команди - 啟動外部指令守護程式 - Ríquense los privilexos alministrativos pa xestionar discos - Es requereixen privilegis d'administrador per a gestionar els discs - Pro správu disků jsou potřeba práva administrátora - Der kræves administrative rettigheder for at håndtere diske - Systemverwalterrechte sind zur Verwaltung von Festplatten erforderlich - Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση δίσκων Administrative privileges are required to manage disks - Administrative privileges are required to manage disks - Se necesitan permisos de administrador para gestionar discos - Ketaste haldamiseks on tarvis administraatori õigusi - Administrazio pribilegioak behar dira diskoak kudeatzeko - Levyjen hallinta vaatii pääkäyttäjäoikeuksia - Vous devez disposer des privilèges d'administrateur pour gérer les disques - Requírense privilexios de administración para xestionar discos. - Per gestire il disco sono richiesti privilegi di amministratore - ディスクを管理するには管理者権限が必要です - 디스크를 관리하려면 권한이 필요함 + Es requereixen privilegis d'administrador per a gestionar els discs + Es requereixen privilegis d'administrador per a gestionar els discs + Per gestire il disco sono richiesti privilegi amministrativi Diskų tvarkymui reikalingos administratoriaus teisės Er zijn administratieve rechten vereist om schijven te beheren - Do zarządzania dyskami wymagane są uprawnienia administratora - São necessários privilégios de administrador para gerir os discos - São necessários privilégios administrativos para gerenciar discos - Для управления дисками требуются права администратора - Na správu diskov sa vyžadujú práva správcu - Za upravljanje diskov so potrebne pravice upravljavca računalnika + São necessários privilégios de administração para gerir os discos Administratörsprivilegier krävs för att hantera diskar - Для керування дисками потрібні права доступу адміністратора (root) - 管理磁盘需要管理权限 - 管理硬碟需要管理員權限 no auth_admin_keep From 2c8d0813578d740c044f174fc522545adb1b80fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Tue, 27 Oct 2020 12:17:20 +0000 Subject: [PATCH 12/25] reuse: Add SPDX info to src/util/org.kde.kpmcore.externalcommand.policy. --- .reuse/dep5 | 5 ----- src/util/org.kde.kpmcore.externalcommand.policy | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.reuse/dep5 b/.reuse/dep5 index 174197e..9902cf9 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -17,8 +17,3 @@ Copyright: 2020 KDE translators Files: src/util/org.kde.kpmcore.helperinterface.conf License: MIT Copyright: 2018 Andrius Štikonas - -### KAuth actions -Files: src/util/org.kde.kpmcore.externalcommand.actions -License: CC0-1.0 -Copyright: 2018 Andrius Štikonas diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index 0863b1e..381c13a 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -1,4 +1,8 @@ + From b59f34aeb534a6b4a03019b2403715b61f8b578a Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Wed, 28 Oct 2020 02:43:18 +0100 Subject: [PATCH 13/25] GIT_SILENT made messages (after extraction) --- src/util/org.kde.kpmcore.externalcommand.policy | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index 381c13a..b5cc129 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -12,19 +12,25 @@ SPDX-License-Identifier: CC0-1.0 Start external command daemon Inicia el dimoni d'ordres externes Inicia el dimoni d'ordres externes + Εκκίνηση διεργασίας με εξωτερική εντολή Avvia demone per comando esterno Paleisti išorinių komandų tarnybą Start externe opdrachtdaemon Iniciar o servidor de comandos externos + Zaženi demon za zunanje ukaze Starta extern kommandodemon + Запуск фонової служби зовнішньої команди Administrative privileges are required to manage disks Es requereixen privilegis d'administrador per a gestionar els discs Es requereixen privilegis d'administrador per a gestionar els discs + Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση των δίσκων Per gestire il disco sono richiesti privilegi amministrativi Diskų tvarkymui reikalingos administratoriaus teisės Er zijn administratieve rechten vereist om schijven te beheren São necessários privilégios de administração para gerir os discos + Za upravljanje diskov so potrebne pravice upravljavca računalnika Administratörsprivilegier krävs för att hantera diskar + Для керування дисками потрібні права доступу адміністратора (root) no auth_admin_keep From 3448815596ae7a3e9b76379dc835c0eac221c8e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Wed, 28 Oct 2020 11:12:27 +0000 Subject: [PATCH 14/25] kpmcore does not ship .ui or .rc files. --- src/Messages.sh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Messages.sh b/src/Messages.sh index b77c458..7648be5 100644 --- a/src/Messages.sh +++ b/src/Messages.sh @@ -4,7 +4,4 @@ # SPDX-License-Identifier: MIT -$EXTRACTRC `find -name \*.rc` >> rc.cpp || exit 11 -$EXTRACTRC `find -name \*.ui` >> rc.cpp || exit 12 -$XGETTEXT `find -name \*.cc -o -name \*.cpp -o -name \*.h` rc.cpp -o $podir/kpmcore.pot -rm -f rc.cpp +$XGETTEXT $(find -name \*.cc -o -name \*.cpp -o -name \*.h$) -o $podir/kpmcore.pot From 5b8b8d2228ae72e1d14993954b69733d9bb10e9f Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Thu, 29 Oct 2020 02:50:01 +0100 Subject: [PATCH 15/25] GIT_SILENT made messages (after extraction) --- src/util/org.kde.kpmcore.externalcommand.policy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index b5cc129..f139ff4 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -13,6 +13,7 @@ SPDX-License-Identifier: CC0-1.0 Inicia el dimoni d'ordres externes Inicia el dimoni d'ordres externes Εκκίνηση διεργασίας με εξωτερική εντολή + Iniciar el demonio de órdenes externas Avvia demone per comando esterno Paleisti išorinių komandų tarnybą Start externe opdrachtdaemon @@ -24,6 +25,7 @@ SPDX-License-Identifier: CC0-1.0 Es requereixen privilegis d'administrador per a gestionar els discs Es requereixen privilegis d'administrador per a gestionar els discs Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση των δίσκων + Se necesitan permisos de administrador para gestionar discos Per gestire il disco sono richiesti privilegi amministrativi Diskų tvarkymui reikalingos administratoriaus teisės Er zijn administratieve rechten vereist om schijven te beheren From a42fbfa5e4c34614ec55a06b9913df27e75e701d Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sun, 1 Nov 2020 02:40:41 +0100 Subject: [PATCH 16/25] GIT_SILENT made messages (after extraction) --- src/util/org.kde.kpmcore.externalcommand.policy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index f139ff4..8e1a12f 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -14,6 +14,7 @@ SPDX-License-Identifier: CC0-1.0 Inicia el dimoni d'ordres externes Εκκίνηση διεργασίας με εξωτερική εντολή Iniciar el demonio de órdenes externas + Lancer le démon externe de commandes Avvia demone per comando esterno Paleisti išorinių komandų tarnybą Start externe opdrachtdaemon @@ -26,6 +27,7 @@ SPDX-License-Identifier: CC0-1.0 Es requereixen privilegis d'administrador per a gestionar els discs Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση των δίσκων Se necesitan permisos de administrador para gestionar discos + Vous devez disposer des privilèges d'administrateur pour gérer les disques. Per gestire il disco sono richiesti privilegi amministrativi Diskų tvarkymui reikalingos administratoriaus teisės Er zijn administratieve rechten vereist om schijven te beheren From 6f89a9886b189e142ca62d9c3e40822f83fe10af Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Thu, 5 Nov 2020 02:41:29 +0100 Subject: [PATCH 17/25] GIT_SILENT made messages (after extraction) --- src/util/org.kde.kpmcore.externalcommand.policy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index 8e1a12f..de4e5bc 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -19,6 +19,7 @@ SPDX-License-Identifier: CC0-1.0 Paleisti išorinių komandų tarnybą Start externe opdrachtdaemon Iniciar o servidor de comandos externos + Iniciar comando externo do daemon Zaženi demon za zunanje ukaze Starta extern kommandodemon Запуск фонової служби зовнішньої команди @@ -32,6 +33,7 @@ SPDX-License-Identifier: CC0-1.0 Diskų tvarkymui reikalingos administratoriaus teisės Er zijn administratieve rechten vereist om schijven te beheren São necessários privilégios de administração para gerir os discos + São necessários privilégios administrativos para gerenciar discos Za upravljanje diskov so potrebne pravice upravljavca računalnika Administratörsprivilegier krävs för att hantera diskar Для керування дисками потрібні права доступу адміністратора (root) From 495b1d7c450c4b334c713557ea2b44163c4a203d Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sat, 7 Nov 2020 02:39:27 +0100 Subject: [PATCH 18/25] GIT_SILENT made messages (after extraction) --- src/util/org.kde.kpmcore.externalcommand.policy | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/util/org.kde.kpmcore.externalcommand.policy b/src/util/org.kde.kpmcore.externalcommand.policy index de4e5bc..a6459db 100644 --- a/src/util/org.kde.kpmcore.externalcommand.policy +++ b/src/util/org.kde.kpmcore.externalcommand.policy @@ -10,9 +10,11 @@ SPDX-License-Identifier: CC0-1.0 partitionmanager Start external command daemon + Aniciu del degorriu de comandos esternos Inicia el dimoni d'ordres externes Inicia el dimoni d'ordres externes Εκκίνηση διεργασίας με εξωτερική εντολή + Start external command daemon Iniciar el demonio de órdenes externas Lancer le démon externe de commandes Avvia demone per comando esterno @@ -24,9 +26,11 @@ SPDX-License-Identifier: CC0-1.0 Starta extern kommandodemon Запуск фонової служби зовнішньої команди Administrative privileges are required to manage disks + Ríquense los privilexos alministrativos pa xestionar discos Es requereixen privilegis d'administrador per a gestionar els discs Es requereixen privilegis d'administrador per a gestionar els discs Απαιτούνται δικαιώματα διαχειριστή για τη διαχείριση των δίσκων + Administrative privileges are required to manage disks Se necesitan permisos de administrador para gestionar discos Vous devez disposer des privilèges d'administrateur pour gérer les disques. Per gestire il disco sono richiesti privilegi amministrativi From d1b2d9ba847c5c85cc36e9b6921ddfc00cf0ba6b Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Sun, 8 Nov 2020 18:26:04 +0100 Subject: [PATCH 19/25] GIT_SILENT Upgrade release service version to 20.11.80. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5694bfc..34f53d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,7 +10,7 @@ cmake_minimum_required(VERSION 3.1 FATAL_ERROR) # KDE Application Version, managed by release script set (RELEASE_SERVICE_VERSION_MAJOR "20") set (RELEASE_SERVICE_VERSION_MINOR "11") -set (RELEASE_SERVICE_VERSION_MICRO "70") +set (RELEASE_SERVICE_VERSION_MICRO "80") set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") project(kpmcore VERSION ${RELEASE_SERVICE_VERSION}) From 0ee1e958a002e87839a0ba9e88d124e94dcc3f7a Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Sun, 8 Nov 2020 19:04:47 +0100 Subject: [PATCH 20/25] GIT_SILENT Upgrade release service version to 21.03.70. --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5694bfc..50c20c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,8 +8,8 @@ cmake_minimum_required(VERSION 3.1 FATAL_ERROR) # KDE Application Version, managed by release script -set (RELEASE_SERVICE_VERSION_MAJOR "20") -set (RELEASE_SERVICE_VERSION_MINOR "11") +set (RELEASE_SERVICE_VERSION_MAJOR "21") +set (RELEASE_SERVICE_VERSION_MINOR "03") set (RELEASE_SERVICE_VERSION_MICRO "70") set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") project(kpmcore VERSION ${RELEASE_SERVICE_VERSION}) From 82566e63e78edcf9f15796f5d7aad495b0d80b5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20PORTAY?= Date: Tue, 27 Oct 2020 14:00:37 -0400 Subject: [PATCH 21/25] d-pointerize NewOperation class. --- src/ops/newoperation.cpp | 115 +++++++++++++++++++++++++++++++++------ src/ops/newoperation.h | 60 +++++--------------- 2 files changed, 111 insertions(+), 64 deletions(-) diff --git a/src/ops/newoperation.cpp b/src/ops/newoperation.cpp index e27c6d5..eb2f289 100644 --- a/src/ops/newoperation.cpp +++ b/src/ops/newoperation.cpp @@ -31,37 +31,56 @@ #include +struct NewOperationPrivate +{ + NewOperationPrivate(Device& d, Partition* p) : + m_TargetDevice(d), + m_NewPartition(p), + m_CreatePartitionJob(new CreatePartitionJob(d, *p)), + m_SetPartitionLabelJob(nullptr), + m_SetPartitionUUIDJob(nullptr), + m_SetPartitionAttributesJob(nullptr), + m_CreateFileSystemJob(nullptr), + m_SetPartFlagsJob(nullptr), + m_SetFileSystemLabelJob(nullptr), + m_CheckFileSystemJob(nullptr) + { + } + + Device& m_TargetDevice; + Partition* m_NewPartition; + CreatePartitionJob* m_CreatePartitionJob; + SetPartitionLabelJob* m_SetPartitionLabelJob; + SetPartitionUUIDJob* m_SetPartitionUUIDJob; + SetPartitionAttributesJob* m_SetPartitionAttributesJob; + CreateFileSystemJob* m_CreateFileSystemJob; + SetPartFlagsJob* m_SetPartFlagsJob; + SetFileSystemLabelJob* m_SetFileSystemLabelJob; + CheckFileSystemJob* m_CheckFileSystemJob; +}; + /** Creates a new NewOperation. @param d the Device to create a new Partition on @param p pointer to the new Partition to create. May not be nullptr. */ NewOperation::NewOperation(Device& d, Partition* p) : Operation(), - m_TargetDevice(d), - m_NewPartition(p), - m_CreatePartitionJob(new CreatePartitionJob(targetDevice(), newPartition())), - m_SetPartitionLabelJob(nullptr), - m_SetPartitionUUIDJob(nullptr), - m_SetPartitionAttributesJob(nullptr), - m_CreateFileSystemJob(nullptr), - m_SetPartFlagsJob(nullptr), - m_SetFileSystemLabelJob(nullptr), - m_CheckFileSystemJob(nullptr) + d(std::make_unique(d, p)) { addJob(createPartitionJob()); if (!p->label().isEmpty()) { - m_SetPartitionLabelJob = new SetPartitionLabelJob(targetDevice(), newPartition(), p->label()); + this->d->m_SetPartitionLabelJob = new SetPartitionLabelJob(targetDevice(), newPartition(), p->label()); addJob(setPartitionLabelJob()); } if (!p->uuid().isEmpty()) { - m_SetPartitionUUIDJob = new SetPartitionUUIDJob(targetDevice(), newPartition(), p->uuid()); + this->d->m_SetPartitionUUIDJob = new SetPartitionUUIDJob(targetDevice(), newPartition(), p->uuid()); addJob(setPartitionUUIDJob()); } if (p->attributes()) { - m_SetPartitionAttributesJob = new SetPartitionAttributesJob(targetDevice(), newPartition(), p->attributes()); + this->d->m_SetPartitionAttributesJob = new SetPartitionAttributesJob(targetDevice(), newPartition(), p->attributes()); addJob(setPartitionAttributesJob()); } @@ -74,18 +93,18 @@ NewOperation::NewOperation(Device& d, Partition* p) : // label. The operation stack will merge these operations with this one here // and if the jobs don't exist things will break. - m_CreateFileSystemJob = new CreateFileSystemJob(targetDevice(), newPartition(), fs.label()); + this->d->m_CreateFileSystemJob = new CreateFileSystemJob(targetDevice(), newPartition(), fs.label()); addJob(createFileSystemJob()); if (fs.type() == FileSystem::Type::Lvm2_PV) { - m_SetPartFlagsJob = new SetPartFlagsJob(targetDevice(), newPartition(), PartitionTable::Flag::Lvm); + this->d->m_SetPartFlagsJob = new SetPartFlagsJob(targetDevice(), newPartition(), PartitionTable::Flag::Lvm); addJob(setPartFlagsJob()); } - m_SetFileSystemLabelJob = new SetFileSystemLabelJob(newPartition(), fs.label()); + this->d->m_SetFileSystemLabelJob = new SetFileSystemLabelJob(newPartition(), fs.label()); addJob(setLabelJob()); - m_CheckFileSystemJob = new CheckFileSystemJob(newPartition()); + this->d->m_CheckFileSystemJob = new CheckFileSystemJob(newPartition()); addJob(checkJob()); } } @@ -93,7 +112,67 @@ NewOperation::NewOperation(Device& d, Partition* p) : NewOperation::~NewOperation() { if (status() == StatusPending) - delete m_NewPartition; + delete d->m_NewPartition; +} + +Partition& NewOperation::newPartition() +{ + return *d->m_NewPartition; +} + +const Partition& NewOperation::newPartition() const +{ + return *d->m_NewPartition; +} + +Device& NewOperation::targetDevice() +{ + return d->m_TargetDevice; +} + +const Device& NewOperation::targetDevice() const +{ + return d->m_TargetDevice; +} + +CreatePartitionJob* NewOperation::createPartitionJob() +{ + return d->m_CreatePartitionJob; +} + +SetPartitionLabelJob* NewOperation::setPartitionLabelJob() +{ + return d->m_SetPartitionLabelJob; +} + +SetPartitionUUIDJob* NewOperation::setPartitionUUIDJob() +{ + return d->m_SetPartitionUUIDJob; +} + +SetPartitionAttributesJob* NewOperation::setPartitionAttributesJob() +{ + return d->m_SetPartitionAttributesJob; +} + +CreateFileSystemJob* NewOperation::createFileSystemJob() +{ + return d->m_CreateFileSystemJob; +} + +SetPartFlagsJob* NewOperation::setPartFlagsJob() +{ + return d->m_SetPartFlagsJob; +} + +SetFileSystemLabelJob* NewOperation::setLabelJob() +{ + return d->m_SetFileSystemLabelJob; +} + +CheckFileSystemJob* NewOperation::checkJob() +{ + return d->m_CheckFileSystemJob; } bool NewOperation::targets(const Device& d) const diff --git a/src/ops/newoperation.h b/src/ops/newoperation.h index 4909911..01f7d9a 100644 --- a/src/ops/newoperation.h +++ b/src/ops/newoperation.h @@ -17,6 +17,7 @@ #include +struct NewOperationPrivate; class Device; class OperationStack; @@ -60,56 +61,23 @@ public: static Partition* createNew(const Partition& cloneFrom, FileSystem::Type type); protected: - Partition& newPartition() { - return *m_NewPartition; - } - const Partition& newPartition() const { - return *m_NewPartition; - } + Partition& newPartition(); + const Partition& newPartition() const; - Device& targetDevice() { - return m_TargetDevice; - } - const Device& targetDevice() const { - return m_TargetDevice; - } + Device& targetDevice(); + const Device& targetDevice() const; - CreatePartitionJob* createPartitionJob() { - return m_CreatePartitionJob; - } - SetPartitionLabelJob* setPartitionLabelJob() { - return m_SetPartitionLabelJob; - } - SetPartitionUUIDJob* setPartitionUUIDJob() { - return m_SetPartitionUUIDJob; - } - SetPartitionAttributesJob* setPartitionAttributesJob() { - return m_SetPartitionAttributesJob; - } - CreateFileSystemJob* createFileSystemJob() { - return m_CreateFileSystemJob; - } - SetPartFlagsJob* setPartFlagsJob() { - return m_SetPartFlagsJob; - } - SetFileSystemLabelJob* setLabelJob() { - return m_SetFileSystemLabelJob; - } - CheckFileSystemJob* checkJob() { - return m_CheckFileSystemJob; - } + CreatePartitionJob* createPartitionJob(); + SetPartitionLabelJob* setPartitionLabelJob(); + SetPartitionUUIDJob* setPartitionUUIDJob(); + SetPartitionAttributesJob* setPartitionAttributesJob(); + CreateFileSystemJob* createFileSystemJob(); + SetPartFlagsJob* setPartFlagsJob(); + SetFileSystemLabelJob* setLabelJob(); + CheckFileSystemJob* checkJob(); private: - Device& m_TargetDevice; - Partition* m_NewPartition; - CreatePartitionJob* m_CreatePartitionJob; - SetPartitionLabelJob* m_SetPartitionLabelJob; - SetPartitionUUIDJob* m_SetPartitionUUIDJob; - SetPartitionAttributesJob* m_SetPartitionAttributesJob; - CreateFileSystemJob* m_CreateFileSystemJob; - SetPartFlagsJob* m_SetPartFlagsJob; - SetFileSystemLabelJob* m_SetFileSystemLabelJob; - CheckFileSystemJob* m_CheckFileSystemJob; + std::unique_ptr d; }; #endif From 2012e01b889a8c7d58bcae8c2272c60807fb1f51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20PORTAY?= Date: Tue, 27 Oct 2020 14:24:48 -0400 Subject: [PATCH 22/25] Bump soversion of kpmcore. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 50c20c0..7a4965b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,7 @@ set (RELEASE_SERVICE_VERSION_MICRO "70") set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") project(kpmcore VERSION ${RELEASE_SERVICE_VERSION}) -set(SOVERSION "10") +set(SOVERSION "11") add_definitions(-D'VERSION="${RELEASE_SERVICE_VERSION}"') #" From 2382b9e1c5cbe42296fc885ea363f89e1b949363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 12 Nov 2020 01:04:47 +0000 Subject: [PATCH 23/25] Rename d pointer to d_ptr to disambiguate from Device d. --- src/ops/newoperation.cpp | 42 ++++++++++++++++++++-------------------- src/ops/newoperation.h | 2 +- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/ops/newoperation.cpp b/src/ops/newoperation.cpp index eb2f289..74d52e6 100644 --- a/src/ops/newoperation.cpp +++ b/src/ops/newoperation.cpp @@ -65,22 +65,22 @@ struct NewOperationPrivate */ NewOperation::NewOperation(Device& d, Partition* p) : Operation(), - d(std::make_unique(d, p)) + d_ptr(std::make_unique(d, p)) { addJob(createPartitionJob()); if (!p->label().isEmpty()) { - this->d->m_SetPartitionLabelJob = new SetPartitionLabelJob(targetDevice(), newPartition(), p->label()); + d_ptr->m_SetPartitionLabelJob = new SetPartitionLabelJob(targetDevice(), newPartition(), p->label()); addJob(setPartitionLabelJob()); } if (!p->uuid().isEmpty()) { - this->d->m_SetPartitionUUIDJob = new SetPartitionUUIDJob(targetDevice(), newPartition(), p->uuid()); + d_ptr->m_SetPartitionUUIDJob = new SetPartitionUUIDJob(targetDevice(), newPartition(), p->uuid()); addJob(setPartitionUUIDJob()); } if (p->attributes()) { - this->d->m_SetPartitionAttributesJob = new SetPartitionAttributesJob(targetDevice(), newPartition(), p->attributes()); + d_ptr->m_SetPartitionAttributesJob = new SetPartitionAttributesJob(targetDevice(), newPartition(), p->attributes()); addJob(setPartitionAttributesJob()); } @@ -93,18 +93,18 @@ NewOperation::NewOperation(Device& d, Partition* p) : // label. The operation stack will merge these operations with this one here // and if the jobs don't exist things will break. - this->d->m_CreateFileSystemJob = new CreateFileSystemJob(targetDevice(), newPartition(), fs.label()); + d_ptr->m_CreateFileSystemJob = new CreateFileSystemJob(targetDevice(), newPartition(), fs.label()); addJob(createFileSystemJob()); if (fs.type() == FileSystem::Type::Lvm2_PV) { - this->d->m_SetPartFlagsJob = new SetPartFlagsJob(targetDevice(), newPartition(), PartitionTable::Flag::Lvm); + d_ptr->m_SetPartFlagsJob = new SetPartFlagsJob(targetDevice(), newPartition(), PartitionTable::Flag::Lvm); addJob(setPartFlagsJob()); } - this->d->m_SetFileSystemLabelJob = new SetFileSystemLabelJob(newPartition(), fs.label()); + d_ptr->m_SetFileSystemLabelJob = new SetFileSystemLabelJob(newPartition(), fs.label()); addJob(setLabelJob()); - this->d->m_CheckFileSystemJob = new CheckFileSystemJob(newPartition()); + d_ptr->m_CheckFileSystemJob = new CheckFileSystemJob(newPartition()); addJob(checkJob()); } } @@ -112,67 +112,67 @@ NewOperation::NewOperation(Device& d, Partition* p) : NewOperation::~NewOperation() { if (status() == StatusPending) - delete d->m_NewPartition; + delete d_ptr->m_NewPartition; } Partition& NewOperation::newPartition() { - return *d->m_NewPartition; + return *d_ptr->m_NewPartition; } const Partition& NewOperation::newPartition() const { - return *d->m_NewPartition; + return *d_ptr->m_NewPartition; } Device& NewOperation::targetDevice() { - return d->m_TargetDevice; + return d_ptr->m_TargetDevice; } const Device& NewOperation::targetDevice() const { - return d->m_TargetDevice; + return d_ptr->m_TargetDevice; } CreatePartitionJob* NewOperation::createPartitionJob() { - return d->m_CreatePartitionJob; + return d_ptr->m_CreatePartitionJob; } SetPartitionLabelJob* NewOperation::setPartitionLabelJob() { - return d->m_SetPartitionLabelJob; + return d_ptr->m_SetPartitionLabelJob; } SetPartitionUUIDJob* NewOperation::setPartitionUUIDJob() { - return d->m_SetPartitionUUIDJob; + return d_ptr->m_SetPartitionUUIDJob; } SetPartitionAttributesJob* NewOperation::setPartitionAttributesJob() { - return d->m_SetPartitionAttributesJob; + return d_ptr->m_SetPartitionAttributesJob; } CreateFileSystemJob* NewOperation::createFileSystemJob() { - return d->m_CreateFileSystemJob; + return d_ptr->m_CreateFileSystemJob; } SetPartFlagsJob* NewOperation::setPartFlagsJob() { - return d->m_SetPartFlagsJob; + return d_ptr->m_SetPartFlagsJob; } SetFileSystemLabelJob* NewOperation::setLabelJob() { - return d->m_SetFileSystemLabelJob; + return d_ptr->m_SetFileSystemLabelJob; } CheckFileSystemJob* NewOperation::checkJob() { - return d->m_CheckFileSystemJob; + return d_ptr->m_CheckFileSystemJob; } bool NewOperation::targets(const Device& d) const diff --git a/src/ops/newoperation.h b/src/ops/newoperation.h index 01f7d9a..63c408c 100644 --- a/src/ops/newoperation.h +++ b/src/ops/newoperation.h @@ -77,7 +77,7 @@ protected: CheckFileSystemJob* checkJob(); private: - std::unique_ptr d; + std::unique_ptr d_ptr; }; #endif From 2e91730f7a428cff81443c66613570259180c173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 14 Nov 2020 00:55:29 +0000 Subject: [PATCH 24/25] Fix parsing fstab mountpoints when they contain spaces or tabs. If the name of the mount point contains spaces or tabs these can be escaped as `\040' and '\011' respectively. BUG: 428932 --- src/core/fstab.cpp | 20 ++++++++++++++++++-- src/core/fstab.h | 3 +++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/core/fstab.cpp b/src/core/fstab.cpp index 196deca..94f6534 100644 --- a/src/core/fstab.cpp +++ b/src/core/fstab.cpp @@ -83,7 +83,7 @@ FstabEntryList readFstabEntries( const QString& fstabPath ) // (5) pass number (optional, defaults to 0), no comment is allowed if omitted, // (#) comment (optional). auto fsSpec = splitLine.at(0); - auto mountPoint = splitLine.at(1); + auto mountPoint = unescapeSpaces(splitLine.at(1)); auto fsType = splitLine.at(2); auto options = splitLine.at(3); @@ -110,6 +110,22 @@ FstabEntryList readFstabEntries( const QString& fstabPath ) return fstabEntries; } +QString escapeSpaces(const QString& mountPoint) +{ + QString tmp = mountPoint; + tmp.replace(QStringLiteral(" "), QStringLiteral("\\040")); + tmp.replace(QStringLiteral("\t"), QStringLiteral("\\011")); + return tmp; +} + +QString unescapeSpaces(const QString& mountPoint) +{ + QString tmp = mountPoint; + tmp.replace(QStringLiteral("\\040"), QStringLiteral(" ")); + tmp.replace(QStringLiteral("\\011"), QStringLiteral("\t")); + return tmp; +} + void FstabEntry::setFsSpec(const QString& s) { d->m_fsSpec = s; @@ -262,7 +278,7 @@ static void writeEntry(QTextStream& s, const FstabEntry& entry, std::array FstabEntryList; +QString escapeSpaces(const QString& mountPoint); +QString unescapeSpaces(const QString& mountPoint); + LIBKPMCORE_EXPORT FstabEntryList readFstabEntries(const QString& fstabPath = QStringLiteral("/etc/fstab")); LIBKPMCORE_EXPORT QStringList possibleMountPoints(const QString& deviceNode, const QString& fstabPath = QStringLiteral("/etc/fstab")); LIBKPMCORE_EXPORT bool writeMountpoints(const FstabEntryList& fstabEntries, const QString& filename = QStringLiteral("/etc/fstab")); From 26acd7c10df2e03f88a938d271535aeed6f58686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Sat, 14 Nov 2020 01:09:23 +0000 Subject: [PATCH 25/25] Remove extra semicolon. --- src/core/fstab.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/fstab.cpp b/src/core/fstab.cpp index 94f6534..dd6b79c 100644 --- a/src/core/fstab.cpp +++ b/src/core/fstab.cpp @@ -224,8 +224,8 @@ static QString findBlkIdDevice(const char *token, const QString& value) free(c); } #else - Q_UNUSED(token); - Q_UNUSED(value); + Q_UNUSED(token) + Q_UNUSED(value) #endif return rval;