diff --git a/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp index acff148a5b13a7980f38f1d260badef97476f653..9dce8d1a2246f0f966d71146f9243805b63271a6 100644 --- a/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp +++ b/libdiscover/backends/PackageKitBackend/PackageKitUpdater.cpp @@ -142,9 +142,10 @@ void PackageKitUpdater::proceed() { if (!m_proceedFunctions.isEmpty()) { processProceedFunction(); - } else { + } else if (qEnvironmentVariableIsSet("PK_OFFLINE_UPDATE")) + setupTransaction(PackageKit::Transaction::TransactionFlagOnlyTrusted | PackageKit::Transaction::TransactionFlagOnlyDownload); + else setupTransaction(PackageKit::Transaction::TransactionFlagOnlyTrusted); - } } void PackageKitUpdater::start() @@ -178,6 +179,9 @@ void PackageKitUpdater::finished(PackageKit::Transaction::Exit exit, uint /*time setProgressing(false); m_backend->refreshDatabase(); fetchLastUpdateTime(); + + if (qEnvironmentVariableIsSet("PK_OFFLINE_UPDATE")) + PackageKit::Daemon::global()->offlineTrigger(PackageKit::Daemon::ActionReboot); } void PackageKitUpdater::cancellableChanged()