Date: Friday, August 24, 2018 @ 07:08:05 Author: arojas Revision: 332921
Drop Qt4 support Modified: polkit-qt/trunk/PKGBUILD Deleted: polkit-qt/trunk/systembus-usage.patch -----------------------+ PKGBUILD | 32 ++++--------------- systembus-usage.patch | 79 ------------------------------------------------ 2 files changed, 8 insertions(+), 103 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-08-24 07:05:47 UTC (rev 332920) +++ PKGBUILD 2018-08-24 07:08:05 UTC (rev 332921) @@ -1,9 +1,10 @@ # $Id: PKGBUILD 102633 2010-12-09 08:40:59Z andrea $ -# Maintainer: Andrea Scarpino <[email protected]> +# Maintainer: Antonio Rojas <[email protected]> +# Contributor: Andrea Scarpino <[email protected]> # Contributor: Pierre Schmitz <[email protected]> pkgbase=polkit-qt -pkgname=(polkit-qt4 polkit-qt5) +pkgname=(polkit-qt5) pkgver=0.112.0+git20180107 pkgrel=1 pkgdesc='A library that allows developers to access PolicyKit API with a nice Qt-style API' @@ -10,42 +11,25 @@ arch=(x86_64) url='https://www.kde.org/' license=(LGPL) -makedepends=(cmake polkit qt4 qt5-base git) +depends=(polkit qt5-base) +makedepends=(cmake git) #source=("http://download.kde.org/stable/apps/KDE4.x/admin/${pkgbase}-1-${pkgver}.tar.bz2") source=("git+https://anongit.kde.org/polkit-qt-1.git#commit=cbecf60ac7b5c17cf37503d6675bf5542efbab29") sha256sums=('SKIP') prepare() { - mkdir build{,-qt5} + mkdir -p build } build() { cd build - cmake ../${pkgbase}-1 \ - -DCMAKE_BUILD_TYPE=Release \ + cmake ../$pkgbase-1 \ -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_DESTINATION=/usr/lib \ - -DUSE_QT4=ON - make - - cd ../build-qt5 - cmake ../${pkgbase}-1 \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB_DESTINATION=/usr/lib make } -package_polkit-qt4() { - depends=(polkit qt4) - +package_polkit-qt5() { cd build make DESTDIR="$pkgdir" install } - -package_polkit-qt5() { - depends=(polkit qt5-base) - - cd build-qt5 - make DESTDIR="$pkgdir" install -} Deleted: systembus-usage.patch =================================================================== --- systembus-usage.patch 2018-08-24 07:05:47 UTC (rev 332920) +++ systembus-usage.patch 2018-08-24 07:08:05 UTC (rev 332921) @@ -1,79 +0,0 @@ -commit 88c6e9334c8440721189ef7d020fa94d47f30f8b -Author: Harald Sitter <[email protected]> -Date: Fri Aug 1 16:34:03 2014 +0200 - - do not use global static systembus instance - - global static destruction order cannot be controlled and we need our bus - to disconnect from the consolekit signals, so use our own bus instance - to connect to systembus signals - - REVIEW: 119545 - -diff --git a/core/polkitqt1-authority.cpp b/core/polkitqt1-authority.cpp -index dd014cf..f25354d 100644 ---- a/core/polkitqt1-authority.cpp -+++ b/core/polkitqt1-authority.cpp -@@ -83,7 +83,10 @@ public: - // Polkit will return NULL on failures, hence we use it instead of 0 - Private(Authority *qq) : q(qq) - , pkAuthority(NULL) -- , m_hasError(false) {} -+ , m_hasError(false) -+ , m_systemBus(0) -+ { -+ } - - ~Private(); - -@@ -103,6 +106,13 @@ public: - bool m_hasError; - Authority::ErrorCode m_lastError; - QString m_errorDetails; -+ // Local system bus. QDBusConnection::systemBus() may only be savely used -+ // inside a QCoreApplication scope as for example destruction of connected -+ // objects need to happen before the bus disappears. Since this class however -+ // is a global static and systemBus() internally is a global static we -+ // cannot assure destruction order. Instead we create a local copy of the -+ // global systemBus instance so we can make life time to our needs. -+ // This prevents crashes when cleaning up the global statics. - QDBusConnection *m_systemBus; - GCancellable *m_checkAuthorizationCancellable, - *m_enumerateActionsCancellable, -@@ -127,6 +137,7 @@ public: - - Authority::Private::~Private() - { -+ delete m_systemBus; - g_object_unref(m_checkAuthorizationCancellable); - g_object_unref(m_enumerateActionsCancellable); - g_object_unref(m_registerAuthenticationAgentCancellable); -@@ -170,6 +181,9 @@ void Authority::Private::init() - - g_type_init(); - -+ m_systemBus = new QDBusConnection(QDBusConnection::connectToBus(QDBusConnection::SystemBus, -+ QString("polkit_qt_system_bus"))); -+ - m_checkAuthorizationCancellable = g_cancellable_new(); - m_enumerateActionsCancellable = g_cancellable_new(); - m_registerAuthenticationAgentCancellable = g_cancellable_new(); -@@ -219,7 +233,7 @@ void Authority::Private::init() - - // then we need to extract all seats from ConsoleKit - QDBusMessage msg = QDBusMessage::createMethodCall(consoleKitService, consoleKitManagerPath, consoleKitManagerInterface, "GetSeats"); -- msg = QDBusConnection::systemBus().call(msg); -+ msg = m_systemBus->call(msg); - if (!msg.arguments().isEmpty()) { - // this method returns a list with present seats - QList<QString> seats; -@@ -256,8 +270,7 @@ void Authority::Private::seatSignalsConnect(const QString &seat) - void Authority::Private::dbusSignalAdd(const QString &service, const QString &path, const QString &interface, const QString &name) - { - // FIXME: This code seems to be nonfunctional - it needs to be fixed somewhere (is it Qt BUG?) -- QDBusConnection::systemBus().connect(service, path, interface, name, -- q, SLOT(dbusFilter(QDBusMessage))); -+ m_systemBus->connect(service, path, interface, name, q, SLOT(dbusFilter(QDBusMessage))); - } - - void Authority::Private::dbusFilter(const QDBusMessage &message)
