[neon/backports-jammy/packagekit-qt/Neon/unstable] /: Imported Upstream version 0.8.7
Matthias Klumpp
null at kde.org
Wed Mar 15 04:29:31 GMT 2023
Git commit 5c86ad586922b832a90efa18630135db8975567b by Matthias Klumpp.
Committed on 19/03/2013 at 19:35.
Pushed by carlosdem into branch 'Neon/unstable'.
Imported Upstream version 0.8.7
M +1 -1 CMakeLists.txt
M +18 -0 NEWS
M +7 -7 RELEASE
M +49 -15 src/daemon.cpp
M +12 -6 src/daemon.h
M +1 -0 src/daemonprivate.h
M +9 -7 src/transaction.cpp
M +9 -2 src/transaction.h
https://invent.kde.org/neon/backports-jammy/packagekit-qt/commit/5c86ad586922b832a90efa18630135db8975567b
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a17e89..04a617d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -8,7 +8,7 @@ set(CMAKE_BUILD_TYPE "Debug")
set(QPACKAGEKIT_VERSION_MAJOR "0")
set(QPACKAGEKIT_VERSION_MINOR "8")
-set(QPACKAGEKIT_VERSION_PATCH "6")
+set(QPACKAGEKIT_VERSION_PATCH "7")
set(QPACKAGEKIT_VERSION_SUFFIX "${VERSION_SUFFIX}")
set(QPACKAGEKIT_VERSION "${QPACKAGEKIT_VERSION_MAJOR}.${QPACKAGEKIT_VERSION_MINOR}.${QPACKAGEKIT_VERSION_PATCH}")
diff --git a/NEWS b/NEWS
index a245534..6456ccc 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,21 @@
+Version 0.8.7
+~~~~~~~~~~~~~
+Released: 2012-01-17
+
+Notes:
+
+New Features:
+ - Add back the destroy() signal, it might be useful for fast transactions (Daniel Nicoletti)
+ - Compress release tarballs using LZMA by default (Matthias Klumpp)
+
+Bugfixes:
+ - For some reason QML doesn't work with typedef enum (Daniel Nicoletti)
+ - Make our package spliters static (Daniel Nicoletti)
+ - Make sure we waitForFinishe() when getting the TransactionList (Daniel Nicoletti)
+ - Only call Cancel() if the transaction proxy exist (Daniel Nicoletti)
+ - The full namespace is needed for a slot to be called (Daniel Nicoletti)
+ - Workaround Qt bug not contructing default values when the call fails (Daniel Nicoletti)
+
Version 0.8.6
~~~~~~~~~~~~~
Released: 2012-11-26
diff --git a/RELEASE b/RELEASE
index 92588fa..8b46229 100644
--- a/RELEASE
+++ b/RELEASE
@@ -2,12 +2,12 @@ PackageKit-Qt Release Notes
1. Write NEWS entries for PackageKit-Qt in the same format as usual.
-git shortlog PACKAGEKIT_0_8_5.. | grep -i -v trivial | grep -v Merge > NEWS.new
+git shortlog QPACKAGEKIT_0_8_6.. | grep -i -v trivial | grep -v Merge > NEWS.new
--------------------------------------------------------------------------------
-Version 0.8.6
+Version 0.8.7
~~~~~~~~~~~~~
-Released: 2012-xx-xx
+Released: 2013-xx-xx
Notes:
@@ -20,13 +20,13 @@ Bugfixes:
3. Commit changes in PackageKit-Qt git:
-git commit -a -m "Release version 0.8.6"
-git tag -s -f -m "Release 0.8.6" QPACKAGEKIT_0_8_6
+git commit -a -m "Release version 0.8.7"
+git tag -s -f -m "Release 0.8.7" QPACKAGEKIT_0_8_7
<gpg password>
git push --tags
git push
-4. run './release.sh --version=0.8.6 --git-tag=QPACKAGEKIT_0_8_6 --sign'
+4. run './release.sh --version=0.8.7 --git-tag=QPACKAGEKIT_0_8_7 --sign'
5. Upload tarball to:
@@ -42,7 +42,7 @@ git push
8. Send an email to packagekit at lists.freedesktop.org
=================================================
-PackageKit-Qt 0.8.6 released!
+PackageKit-Qt 0.8.7 released!
Tarballs available here: http://www.packagekit.org/releases/
diff --git a/src/daemon.cpp b/src/daemon.cpp
index f975c1c..5f1e372 100644
--- a/src/daemon.cpp
+++ b/src/daemon.cpp
@@ -20,6 +20,7 @@
*/
#include <QtSql>
+#include <QDebug>
#include "daemon.h"
#include "daemonprivate.h"
@@ -27,6 +28,12 @@
#include "common.h"
+#define PENDING_CALL(blurb) \
+ Q_D(Daemon); \
+ QDBusPendingReply<> r = d->daemon->blurb; \
+ r.waitForFinished(); \
+ d->lastError = r.error(); \
+
using namespace PackageKit;
Daemon* Daemon::m_global = 0;
@@ -136,28 +143,50 @@ QString Daemon::distroID()
Daemon::Authorize Daemon::canAuthorize(const QString &actionId)
{
- Q_D(const Daemon);
- uint ret;
- ret = d->daemon->CanAuthorize(actionId);
- return static_cast<Daemon::Authorize>(ret);
+ Q_D(Daemon);
+ QDBusPendingReply<uint> reply = d->daemon->CanAuthorize(actionId);
+ reply.waitForFinished();
+ d->lastError = reply.error();
+ if (reply.isValid()) {
+ return static_cast<Daemon::Authorize>(reply.value());
+ }
+ return Daemon::AuthorizeUnknown;
}
QDBusObjectPath Daemon::getTid()
{
- Q_D(const Daemon);
- return d->daemon->CreateTransaction();
+ Q_D(Daemon);
+ QDBusPendingReply<QDBusObjectPath> reply = d->daemon->CreateTransaction();
+ reply.waitForFinished();
+ d->lastError = reply.error();
+ if (reply.isValid()) {
+ return reply.value();
+ }
+ return QDBusObjectPath();
}
uint Daemon::getTimeSinceAction(Transaction::Role role)
{
- Q_D(const Daemon);
- return d->daemon->GetTimeSinceAction(role);
+ Q_D(Daemon);
+ QDBusPendingReply<uint> reply = d->daemon->GetTimeSinceAction(role);
+ reply.waitForFinished();
+ d->lastError = reply.error();
+ if (reply.isValid()) {
+ return reply.value();
+ }
+ return 0u;
}
QList<QDBusObjectPath> Daemon::getTransactionList()
{
- Q_D(const Daemon);
- return d->daemon->GetTransactionList();
+ Q_D(Daemon);
+ QDBusPendingReply<QList<QDBusObjectPath> > reply = d->daemon->GetTransactionList();
+ reply.waitForFinished();
+ d->lastError = reply.error();
+ if (reply.isValid()) {
+ return reply.value();
+ }
+ return QList<QDBusObjectPath>();
}
QList<Transaction*> Daemon::getTransactionObjects(QObject *parent)
@@ -186,10 +215,11 @@ QStringList Daemon::hints()
Transaction::InternalError Daemon::setProxy(const QString& http_proxy, const QString& https_proxy, const QString& ftp_proxy, const QString& socks_proxy, const QString& no_proxy, const QString& pac)
{
- Q_D(const Daemon);
+ Q_D(Daemon);
QDBusPendingReply<> r = d->daemon->SetProxy(http_proxy, https_proxy, ftp_proxy, socks_proxy, no_proxy, pac);
r.waitForFinished();
- if (r.isError ()) {
+ d->lastError = r.error();
+ if (r.isError()) {
return Transaction::parseError(r.error().name());
} else {
return Transaction::InternalErrorNone;
@@ -198,14 +228,18 @@ Transaction::InternalError Daemon::setProxy(const QString& http_proxy, const QSt
void Daemon::stateHasChanged(const QString& reason)
{
- Q_D(const Daemon);
- d->daemon->StateHasChanged(reason);
+ PENDING_CALL(StateHasChanged(reason))
}
void Daemon::suggestDaemonQuit()
+{
+ PENDING_CALL(SuggestDaemonQuit())
+}
+
+QDBusError Daemon::lastError() const
{
Q_D(const Daemon);
- d->daemon->SuggestDaemonQuit();
+ return d->lastError;
}
uint Daemon::versionMajor()
diff --git a/src/daemon.h b/src/daemon.h
index 28bab78..06f112e 100644
--- a/src/daemon.h
+++ b/src/daemon.h
@@ -24,6 +24,7 @@
#include <QtCore/QObject>
#include <QtCore/QMetaEnum>
+#include <QtDBus/QDBusError>
#include "transaction.h"
@@ -179,7 +180,7 @@ public:
/**
* Returns the time (in seconds) since the specified \p action
*/
- Q_INVOKABLE uint getTimeSinceAction(Transaction::Role action);
+ Q_INVOKABLE uint getTimeSinceAction(PackageKit::Transaction::Role action);
/**
* \brief creates a new transaction path
@@ -256,30 +257,35 @@ public:
*/
Q_INVOKABLE void suggestDaemonQuit();
+ /**
+ * Get the last call status
+ */
+ Q_INVOKABLE QDBusError lastError() const;
+
/**
* Returns the package name from the \p packageID
*/
- Q_INVOKABLE QString packageName(const QString &packageID);
+ Q_INVOKABLE static QString packageName(const QString &packageID);
/**
* Returns the package version from the \p packageID
*/
- Q_INVOKABLE QString packageVersion(const QString &packageID);
+ Q_INVOKABLE static QString packageVersion(const QString &packageID);
/**
* Returns the package arch from the \p packageID
*/
- Q_INVOKABLE QString packageArch(const QString &packageID);
+ Q_INVOKABLE static QString packageArch(const QString &packageID);
/**
* Returns the package data from the \p packageID
*/
- Q_INVOKABLE QString packageData(const QString &packageID);
+ Q_INVOKABLE static QString packageData(const QString &packageID);
/**
* Returns the package icon from the \p packageID
*/
- Q_INVOKABLE QString packageIcon(const QString &packageID);
+ Q_INVOKABLE static QString packageIcon(const QString &packageID);
/**
* Returns the string representing the enum
diff --git a/src/daemonprivate.h b/src/daemonprivate.h
index 1908a75..5ea2f53 100644
--- a/src/daemonprivate.h
+++ b/src/daemonprivate.h
@@ -41,6 +41,7 @@ protected:
Daemon *q_ptr;
::DaemonProxy *daemon;
QStringList hints;
+ QDBusError lastError;
QList<Transaction*> transactions(const QList<QDBusObjectPath> &tids, QObject *parent);
diff --git a/src/transaction.cpp b/src/transaction.cpp
index b3266e0..113ff74 100644
--- a/src/transaction.cpp
+++ b/src/transaction.cpp
@@ -28,17 +28,14 @@
#include <QtSql/QSqlQuery>
-#define CHECK_TRANSACTION \
- if (r.isError()) { \
- d->error = Transaction::parseError(r.error().name()); \
- } \
-
#define RUN_TRANSACTION(blurb) \
Q_D(Transaction); \
if (init()) { \
QDBusPendingReply<> r = d->p->blurb; \
r.waitForFinished(); \
- CHECK_TRANSACTION \
+ if (r.isError()) { \
+ d->error = Transaction::parseError(r.error().name()); \
+ } \
} \
using namespace PackageKit;
@@ -123,6 +120,8 @@ bool Transaction::init(const QDBusObjectPath &tid)
SIGNAL(category(QString,QString,QString,QString,QString)));
connect(d->p, SIGNAL(Destroy()),
SLOT(destroy()));
+ connect(d->p, SIGNAL(Destroy()),
+ SIGNAL(destroy()));
connect(d->p, SIGNAL(Details(QString,QString,uint,QString,QString,qulonglong)),
SLOT(Details(QString,QString,uint,QString,QString,qulonglong)));
connect(d->p, SIGNAL(DistroUpgrade(uint,QString,QString)),
@@ -225,7 +224,10 @@ bool Transaction::isCallerActive() const
void Transaction::cancel()
{
- RUN_TRANSACTION(Cancel())
+ Q_D(const Transaction);
+ if (d->p) {
+ RUN_TRANSACTION(Cancel())
+ }
}
QString Transaction::packageName(const QString &packageID)
diff --git a/src/transaction.h b/src/transaction.h
index 26f7fe5..c20cac5 100644
--- a/src/transaction.h
+++ b/src/transaction.h
@@ -100,7 +100,7 @@ public:
/**
* Describes the role of the transaction
*/
- typedef enum {
+ enum Role {
RoleUnknown,
RoleCancel,
RoleGetDepends,
@@ -132,7 +132,7 @@ public:
RoleGetOldTransactions,
RoleUpgradeSystem, // Since 0.6.11
RoleRepairSystem // Since 0.7.2
- } Role;
+ };
typedef Bitfield Roles;
/**
@@ -1210,6 +1210,13 @@ Q_SIGNALS:
* \sa getOldTransactions()
*/
void transaction(PackageKit::Transaction *transaction);
+
+ /**
+ * Emitted a bit after a transaction has been finished
+ * It's useful when the transaction is too fast and emits
+ * finished before we finish connecting
+ */
+ void destroy();
protected:
static Transaction::InternalError parseError(const QString &errorName);
More information about the Neon-commits
mailing list