WIP: cleanup polkit port: licenses, dead code and kauth removal, add TODO about signals.

This commit is contained in:
Andrius Štikonas 2020-10-09 20:41:41 +01:00
parent edfabb90dc
commit 296f281ffb
10 changed files with 18 additions and 58 deletions

View File

@ -1,6 +1,7 @@
# SPDX-FileCopyrightText: 2008 Volker Lanz <vl@fidra.de>
# SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
# SPDX-FileCopyrightText: 2014-2020 Andrius Štikonas <andrius@stikonas.eu>
# SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
# SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -5,6 +5,7 @@
# SPDX-FileCopyrightText: 2018 Huzaifa Faruqui <huzaifafaruqui@gmail.com>
# SPDX-FileCopyrightText: 2019 Albert Astals Cid <aacid@kde.org>
# SPDX-FileCopyrightText: 2019 Antonio Rojas <arojas@archlinux.org>
# SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
# SPDX-License-Identifier: GPL-3.0-or-later

View File

@ -7,6 +7,7 @@
SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho <caiojcarvalho@gmail.com>
SPDX-FileCopyrightText: 2019 Shubham Jangra <aryan100jangid@gmail.com>
SPDX-FileCopyrightText: 2019 Yuri Chornoivan <yurchor@ukr.net>
SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
SPDX-License-Identifier: GPL-3.0-or-later
*/
@ -53,7 +54,6 @@ struct ExternalCommandPrivate
};
KAuth::ExecuteJob* ExternalCommand::m_job;
bool ExternalCommand::helperStarted = false;
QWidget* ExternalCommand::parent;
@ -69,11 +69,6 @@ ExternalCommand::ExternalCommand(const QString& cmd, const QStringList& args, co
d->m_Args = args;
d->m_ExitCode = -1;
d->m_Output = QByteArray();
// if (!helperStarted)
// if(!startHelper())
// Log(Log::Level::error) << xi18nc("@info:status", "Could not obtain administrator privileges.");
d->processChannelMode = processChannelMode;
}
@ -128,8 +123,6 @@ bool ExternalCommand::start(int timeout)
if (cmd.isEmpty())
cmd = QStandardPaths::findExecutable(command(), { QStringLiteral("/sbin/"), QStringLiteral("/usr/sbin/"), QStringLiteral("/usr/local/sbin/") });
qDebug() << "start";
auto interface = helperInterface();
if (!interface)
return false;
@ -167,8 +160,9 @@ bool ExternalCommand::copyBlocks(const CopySource& source, CopyTarget& target)
const qint64 blockSize = 10 * 1024 * 1024; // number of bytes per block to copy
// TODO KF6:Use new signal-slot syntax
connect(m_job, SIGNAL(percent(KJob*, unsigned long)), this, SLOT(emitProgress(KJob*, unsigned long)));
connect(m_job, &KAuth::ExecuteJob::newData, this, &ExternalCommand::emitReport);
// FIXME: port and reenable these signals
//connect(m_job, SIGNAL(percent(KJob*, unsigned long)), this, SLOT(emitProgress(KJob*, unsigned long)));
//connect(m_job, &KAuth::ExecuteJob::newData, this, &ExternalCommand::emitReport);
auto interface = helperInterface();
if (!interface)
@ -343,27 +337,3 @@ void ExternalCommand::setExitCode(int i)
{
d->m_ExitCode = i;
}
bool ExternalCommand::startHelper()
{
if (!QDBusConnection::systemBus().isConnected()) {
qWarning() << QDBusConnection::systemBus().lastError().message();
return false;
}
QDBusInterface iface(QStringLiteral("org.kde.kpmcore.helperinterface"), QStringLiteral("/Helper"), QStringLiteral("org.kde.kpmcore.externalcommand"), QDBusConnection::systemBus());
if (iface.isValid()) {
exit(0);
}
qDebug() <<"starting helper";
return true;
}
void ExternalCommand::stopHelper()
{
auto *interface = new org::kde::kpmcore::externalcommand(QStringLiteral("org.kde.kpmcore.helperinterface"),
QStringLiteral("/Helper"), QDBusConnection::systemBus());
interface->exit();
}

View File

@ -91,13 +91,6 @@ public:
void emitReport(const QVariantMap& report) { Q_EMIT reportSignal(report); }
// KAuth
/**< start ExternalCommand Helper */
bool startHelper();
/**< stop ExternalCommand Helper */
static void stopHelper();
/**< Sets a parent widget for the authentication dialog.
* @param p parent widget
*/
@ -123,7 +116,6 @@ private:
// KAuth
static KAuth::ExecuteJob *m_job;
static bool helperStarted;
static QWidget *parent;
};

View File

@ -5,6 +5,7 @@
SPDX-FileCopyrightText: 2018-2019 Harald Sitter <sitter@kde.org>
SPDX-FileCopyrightText: 2018 Simon Depiets <sdepiets@gmail.com>
SPDX-FileCopyrightText: 2019 Shubham Jangra <aryan100jangid@gmail.com>
SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
SPDX-License-Identifier: GPL-3.0-or-later
*/
@ -191,7 +192,7 @@ QVariantMap ExternalCommandHelper::copyblocks(const QString& sourceDevice, const
sourceLength, readOffset, writeOffset, copyDirection == 1 ? i18nc("direction: left", "left")
: i18nc("direction: right", "right"));
HelperSupport::progressStep(report);
//HelperSupport::progressStep(report);
bool rval = true;
@ -211,9 +212,9 @@ QVariantMap ExternalCommandHelper::copyblocks(const QString& sourceDevice, const
const qint64 mibsPerSec = (blocksCopied * blockSize / 1024 / 1024) / (timer.elapsed() / 1000);
const qint64 estSecsLeft = (100 - percent) * timer.elapsed() / percent / 1000;
report[QStringLiteral("report")]= xi18nc("@info:progress", "Copying %1 MiB/second, estimated time left: %2", mibsPerSec, QTime(0, 0).addSecs(estSecsLeft).toString());
HelperSupport::progressStep(report);
//HelperSupport::progressStep(report);
}
HelperSupport::progressStep(percent);
//HelperSupport::progressStep(percent);
}
}
@ -224,7 +225,7 @@ QVariantMap ExternalCommandHelper::copyblocks(const QString& sourceDevice, const
const qint64 lastBlockReadOffset = copyDirection > 0 ? readOffset + blockSize * blocksCopied : sourceFirstByte;
const qint64 lastBlockWriteOffset = copyDirection > 0 ? writeOffset + blockSize * blocksCopied : targetFirstByte;
report[QStringLiteral("report")]= xi18nc("@info:progress", "Copying remainder of block size %1 from %2 to %3.", lastBlock, lastBlockReadOffset, lastBlockWriteOffset);
HelperSupport::progressStep(report);
//HelperSupport::progressStep(report);
rval = readData(sourceDevice, buffer, lastBlockReadOffset, lastBlock);
if (rval) {
@ -235,13 +236,13 @@ QVariantMap ExternalCommandHelper::copyblocks(const QString& sourceDevice, const
}
if (rval) {
HelperSupport::progressStep(100);
//HelperSupport::progressStep(100);
bytesWritten += buffer.size();
}
}
report[QStringLiteral("report")] = xi18ncp("@info:progress argument 2 is a string such as 7 bytes (localized accordingly)", "Copying 1 block (%2) finished.", "Copying %1 blocks (%2) finished.", blocksCopied, i18np("1 byte", "%1 bytes", bytesWritten));
HelperSupport::progressStep(report);
//HelperSupport::progressStep(report);
reply[QStringLiteral("success")] = rval;
return reply;
@ -377,4 +378,4 @@ int main(int argc, char ** argv)
app.exec();
}
#include "externalcommandhelper.moc"
// #include "externalcommandhelper.moc"

View File

@ -3,6 +3,7 @@
SPDX-FileCopyrightText: 2018 Huzaifa Faruqui <huzaifafaruqui@gmail.com>
SPDX-FileCopyrightText: 2018 Caio Jordão Carvalho <caiojcarvalho@gmail.com>
SPDX-FileCopyrightText: 2019 Shubham Jangra <aryan100jangid@gmail.com>
SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
SPDX-License-Identifier: GPL-3.0-or-later
*/
@ -13,8 +14,6 @@
#include <memory>
#include <unordered_set>
#include <KAuth>
#include <QEventLoop>
#include <QString>
#include <QProcess>
@ -22,8 +21,6 @@
class QDBusServiceWatcher;
using namespace KAuth;
class ExternalCommandHelper : public QObject, public QDBusContext
{
Q_OBJECT

View File

@ -60,6 +60,7 @@ KAboutData aboutKPMcore()
aboutData.addCredit(xi18nc("@info:credit", "Pali Rohár"), i18nc("@info:credit", "UDF support"), QStringLiteral("pali.rohar@gmail.com"));
aboutData.addCredit(xi18nc("@info:credit", "Adriaan de Groot"), i18nc("@info:credit", "Calamares maintainer"), QStringLiteral("groot@kde.org"));
aboutData.addCredit(xi18nc("@info:credit", "Caio Jordão Carvalho"), i18nc("@info:credit", "Improved SMART support"), QStringLiteral("caiojcarvalho@gmail.com"));
aboutData.addCredit(xi18nc("@info:credit", "David Edmundson"), i18nc("@info:credit", "Port from KAuth to Polkit"), QStringLiteral("kde@davidedmundson.co.uk"));
return aboutData;
}

View File

@ -1,3 +1,5 @@
# SPDX-FileCopyrightText: 2020 David Edmundson <kde@davidedmundson.co.uk>
# SPDX-License-Identifier: GPL-3.0-or-later
[D-BUS Service]
Name=org.kde.kpmcore.helperinterface
Exec=@KDE_INSTALL_FULL_LIBEXECDIR@/kpmcore_externalcommand

View File

@ -46,7 +46,3 @@ KPMCoreInitializer::KPMCoreInitializer( const char* backend ) : KPMCoreInitializ
{
}
KPMCoreInitializer::~KPMCoreInitializer()
{
ExternalCommand::stopHelper();
}

View File

@ -20,7 +20,6 @@ public:
KPMCoreInitializer(); /// Default backend
KPMCoreInitializer( const QString& backend ); /// Use named backend
KPMCoreInitializer( const char* backend ); /// Use named backend
~KPMCoreInitializer();
bool isValid() const
{