[arch-commits] Commit in polkit-qt/repos (6 files)

Andrea Scarpino andrea at archlinux.org
Fri Oct 3 07:24:50 UTC 2014


    Date: Friday, October 3, 2014 @ 09:24:50
  Author: andrea
Revision: 223803

archrelease: copy trunk to extra-i686, extra-x86_64

Added:
  polkit-qt/repos/extra-i686/PKGBUILD
    (from rev 223802, polkit-qt/trunk/PKGBUILD)
  polkit-qt/repos/extra-i686/systembus-usage.patch
    (from rev 223802, polkit-qt/trunk/systembus-usage.patch)
  polkit-qt/repos/extra-x86_64/PKGBUILD
    (from rev 223802, polkit-qt/trunk/PKGBUILD)
  polkit-qt/repos/extra-x86_64/systembus-usage.patch
    (from rev 223802, polkit-qt/trunk/systembus-usage.patch)
Deleted:
  polkit-qt/repos/extra-i686/PKGBUILD
  polkit-qt/repos/extra-x86_64/PKGBUILD

------------------------------------+
 /PKGBUILD                          |  116 +++++++++++++++++++++++++++++++++++
 extra-i686/PKGBUILD                |   53 ---------------
 extra-i686/systembus-usage.patch   |   79 +++++++++++++++++++++++
 extra-x86_64/PKGBUILD              |   53 ---------------
 extra-x86_64/systembus-usage.patch |   79 +++++++++++++++++++++++
 5 files changed, 274 insertions(+), 106 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2014-10-03 07:24:43 UTC (rev 223802)
+++ extra-i686/PKGBUILD	2014-10-03 07:24:50 UTC (rev 223803)
@@ -1,53 +0,0 @@
-# $Id: PKGBUILD 102633 2010-12-09 08:40:59Z andrea $
-# Maintainer: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgbase=polkit-qt
-pkgname=('polkit-qt4' 'polkit-qt5')
-pkgver=0.112
-pkgrel=1
-pkgdesc='A library that allows developers to access PolicyKit API with a nice Qt-style API'
-arch=('i686' 'x86_64')
-url='https://projects.kde.org/projects/kdesupport/polkit-qt-1'
-license=('LGPL')
-makedepends=('cmake' 'automoc4' 'polkit' 'qt4' 'qt5-base')
-source=(${pkgbase}-${pkgver}.tar.bz2::"http://quickgit.kde.org/?p=${pkgbase}-1.git&a=snapshot&h=40afa675bfa4cacd95487ce8b0544654c5f34e21&fmt=tbz2")
-md5sums=('c46401dbb55e2276616849e22b096768')
-
-prepare() {
-  mkdir build{,-qt5}
-}
-
-build() {
-  cd build
-  cmake ../${pkgbase}-1 \
-    -DCMAKE_BUILD_TYPE=Release \
-    -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')
-  replaces=('polkit-qt')
-  provides=('polkit-qt')
-  conflicts=('polkit-qt')
-
-  cd build
-  make DESTDIR="${pkgdir}" install
-}
-
-package_polkit-qt5() {
-  depends=('polkit' 'qt5-base')
-
-  cd build-qt5
-  make DESTDIR="${pkgdir}" install
-}

Copied: polkit-qt/repos/extra-i686/PKGBUILD (from rev 223802, polkit-qt/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2014-10-03 07:24:50 UTC (rev 223803)
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 102633 2010-12-09 08:40:59Z andrea $
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgbase=polkit-qt
+pkgname=('polkit-qt4' 'polkit-qt5')
+pkgver=0.112
+pkgrel=2
+pkgdesc='A library that allows developers to access PolicyKit API with a nice Qt-style API'
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kdesupport/polkit-qt-1'
+license=('LGPL')
+makedepends=('cmake' 'automoc4' 'polkit' 'qt4' 'qt5-base')
+source=(${pkgbase}-${pkgver}.tar.bz2::"http://quickgit.kde.org/?p=${pkgbase}-1.git&a=snapshot&h=40afa675bfa4cacd95487ce8b0544654c5f34e21&fmt=tbz2"
+        'systembus-usage.patch')
+md5sums=('d27343d2918330f4159d851e256c5c6d'
+         '067355984adf2cd87e2fac715bd025f3')
+
+prepare() {
+  mkdir build{,-qt5}
+
+  cd ${pkgbase}-1
+  patch -p1 -i "${srcdir}"/systembus-usage.patch
+}
+
+build() {
+  cd build
+  cmake ../${pkgbase}-1 \
+    -DCMAKE_BUILD_TYPE=Release \
+    -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')
+  replaces=('polkit-qt')
+  provides=('polkit-qt')
+  conflicts=('polkit-qt')
+
+  cd build
+  make DESTDIR="${pkgdir}" install
+}
+
+package_polkit-qt5() {
+  depends=('polkit' 'qt5-base')
+
+  cd build-qt5
+  make DESTDIR="${pkgdir}" install
+}

Copied: polkit-qt/repos/extra-i686/systembus-usage.patch (from rev 223802, polkit-qt/trunk/systembus-usage.patch)
===================================================================
--- extra-i686/systembus-usage.patch	                        (rev 0)
+++ extra-i686/systembus-usage.patch	2014-10-03 07:24:50 UTC (rev 223803)
@@ -0,0 +1,79 @@
+commit 88c6e9334c8440721189ef7d020fa94d47f30f8b
+Author: Harald Sitter <sitter at kde.org>
+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)

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2014-10-03 07:24:43 UTC (rev 223802)
+++ extra-x86_64/PKGBUILD	2014-10-03 07:24:50 UTC (rev 223803)
@@ -1,53 +0,0 @@
-# $Id: PKGBUILD 102633 2010-12-09 08:40:59Z andrea $
-# Maintainer: Andrea Scarpino <andrea at archlinux.org>
-# Contributor: Pierre Schmitz <pierre at archlinux.de>
-
-pkgbase=polkit-qt
-pkgname=('polkit-qt4' 'polkit-qt5')
-pkgver=0.112
-pkgrel=1
-pkgdesc='A library that allows developers to access PolicyKit API with a nice Qt-style API'
-arch=('i686' 'x86_64')
-url='https://projects.kde.org/projects/kdesupport/polkit-qt-1'
-license=('LGPL')
-makedepends=('cmake' 'automoc4' 'polkit' 'qt4' 'qt5-base')
-source=(${pkgbase}-${pkgver}.tar.bz2::"http://quickgit.kde.org/?p=${pkgbase}-1.git&a=snapshot&h=40afa675bfa4cacd95487ce8b0544654c5f34e21&fmt=tbz2")
-md5sums=('c46401dbb55e2276616849e22b096768')
-
-prepare() {
-  mkdir build{,-qt5}
-}
-
-build() {
-  cd build
-  cmake ../${pkgbase}-1 \
-    -DCMAKE_BUILD_TYPE=Release \
-    -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')
-  replaces=('polkit-qt')
-  provides=('polkit-qt')
-  conflicts=('polkit-qt')
-
-  cd build
-  make DESTDIR="${pkgdir}" install
-}
-
-package_polkit-qt5() {
-  depends=('polkit' 'qt5-base')
-
-  cd build-qt5
-  make DESTDIR="${pkgdir}" install
-}

Copied: polkit-qt/repos/extra-x86_64/PKGBUILD (from rev 223802, polkit-qt/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2014-10-03 07:24:50 UTC (rev 223803)
@@ -0,0 +1,58 @@
+# $Id: PKGBUILD 102633 2010-12-09 08:40:59Z andrea $
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+# Contributor: Pierre Schmitz <pierre at archlinux.de>
+
+pkgbase=polkit-qt
+pkgname=('polkit-qt4' 'polkit-qt5')
+pkgver=0.112
+pkgrel=2
+pkgdesc='A library that allows developers to access PolicyKit API with a nice Qt-style API'
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kdesupport/polkit-qt-1'
+license=('LGPL')
+makedepends=('cmake' 'automoc4' 'polkit' 'qt4' 'qt5-base')
+source=(${pkgbase}-${pkgver}.tar.bz2::"http://quickgit.kde.org/?p=${pkgbase}-1.git&a=snapshot&h=40afa675bfa4cacd95487ce8b0544654c5f34e21&fmt=tbz2"
+        'systembus-usage.patch')
+md5sums=('d27343d2918330f4159d851e256c5c6d'
+         '067355984adf2cd87e2fac715bd025f3')
+
+prepare() {
+  mkdir build{,-qt5}
+
+  cd ${pkgbase}-1
+  patch -p1 -i "${srcdir}"/systembus-usage.patch
+}
+
+build() {
+  cd build
+  cmake ../${pkgbase}-1 \
+    -DCMAKE_BUILD_TYPE=Release \
+    -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')
+  replaces=('polkit-qt')
+  provides=('polkit-qt')
+  conflicts=('polkit-qt')
+
+  cd build
+  make DESTDIR="${pkgdir}" install
+}
+
+package_polkit-qt5() {
+  depends=('polkit' 'qt5-base')
+
+  cd build-qt5
+  make DESTDIR="${pkgdir}" install
+}

Copied: polkit-qt/repos/extra-x86_64/systembus-usage.patch (from rev 223802, polkit-qt/trunk/systembus-usage.patch)
===================================================================
--- extra-x86_64/systembus-usage.patch	                        (rev 0)
+++ extra-x86_64/systembus-usage.patch	2014-10-03 07:24:50 UTC (rev 223803)
@@ -0,0 +1,79 @@
+commit 88c6e9334c8440721189ef7d020fa94d47f30f8b
+Author: Harald Sitter <sitter at kde.org>
+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)



More information about the arch-commits mailing list