Accepting request 726581 from home:luca_b:polkitqt

- New upstream release 0.113.0
- Changes since 0.112.0:
  * Bump version for release
  * Don't set version numbers as INT cache entries
  * Move cmake_minimum_required to the top of CMakeLists.txt
  * Remove support for Qt4
  * Remove unneded documentation
  * authority: add support for passing details to polkit
  * Fix typo in comments
  * Add .arcconfig
  * Remove unused file
  * polkitqtlistener.cpp - pedantic
  * Fix build with -DBUILD_TEST=TRUE
  * Allow compilation with older polkit versions
  * Fix compilation with Qt5.6
  * Drop use of deprecated Qt functions REVIEW: 126747
  * Add wrapper for polkit_system_bus_name_get_user_sync
  * Add .reviewboardrc
  * Fix QDBusArgument assertion
  * fix build with Qt4, which doesn't have QStringLiteral. so use QString instead.
  * do not use global static systembus instance
- Dropped patch, now upstream:
  * do-not-use-global-static-systembus-instance.patch
- Run spec-cleaner

OBS-URL: https://build.opensuse.org/request/show/726581
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/polkit-qt5-1?expand=0&rev=11
This commit is contained in:
Fabian Vogt 2019-08-27 18:57:06 +00:00 committed by Git OBS Bridge
parent e2a917b461
commit 16e377f726
7 changed files with 63 additions and 101 deletions

View File

@ -1,80 +0,0 @@
From: Harald Sitter <sitter@kde.org>
Date: Fri, 01 Aug 2014 14:34:03 +0000
Subject: do not use global static systembus instance
X-Git-Url: http://quickgit.kde.org/?p=polkit-qt-1.git&a=commitdiff&h=88c6e9334c8440721189ef7d020fa94d47f30f8b
---
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
---
--- a/core/polkitqt1-authority.cpp
+++ b/core/polkitqt1-authority.cpp
@@ -83,7 +83,10 @@
// 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 @@
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 @@
Authority::Private::~Private()
{
+ delete m_systemBus;
g_object_unref(m_checkAuthorizationCancellable);
g_object_unref(m_enumerateActionsCancellable);
g_object_unref(m_registerAuthenticationAgentCancellable);
@@ -169,6 +180,9 @@
QDBusError dbus_error;
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();
@@ -219,7 +233,7 @@
// 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::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)

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67fb03bf6ca3e0bdbd98d374dfb5b1651a07d17ae6c23e11a81b4b084447e7c6
size 67725

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5b866a2954ef10ffb66156e2fe8ad0321b5528a8df2e4a91b02f5041ce5563a7
size 64652

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE2BwMs463Je9mkcOFu0YzUNbvMe8FAl1lUS8ACgkQu0YzUNbv
Me/bMg/+MSjDnLGo/hf5QsxKD8Cm9qD11QerPxOdt9vzUbLC11GmqunpxJdJfo5y
JPh/fWV1gJdO+tBaWB/mU2mMMstDIRKVdoX6ErYHuNO8b1BW2aNfTzte3sUvTDMp
R/WXmK1+zD45p/e3khnEKOEfooi3E7Gucc8TSdbVkQIWNslfZS0yuykUrsdyidoW
NImH0WUnCqR6JYU/v2fKl/djOFs0NKGudNt9he+qdeW10TSCkOxvx8SEAPuPz+gT
vmPoR0QCH0M5WEAqRk8JQUxg/1Lzh1nLUiE96pno3KULnkN6nLOuTYq3ahBmoaSR
62GhI8y064ITBK++3mm/VeR4+BPmJ3tllx+rc+557KvohXzv9Et97LVHph72XkMS
l+f0zTzbmb//KciRHeHNEbbrVzYZK+lAz6RyIvek1mV452fBhcS72orkzdyQ/xgi
OOFzCBKEOZQODYjsNxo/7AnSIbxViD8ihZPHcXk3opn5BDODBlOmNjCmMi35tvcQ
T5OSPPXdcDB06r1Ttt+ERUrwEfVxu/ZhXaYiPc5hb0G+mkvNnxbRNRe0bZWGeWLl
XnzifAT8rPceSwqmKYg83PVhcQPZ/sfVi+Bxfaj4qAYy3fJAoHx2v5BU81yuL1RS
oug3kDR6tMad1EYKvXNifjqU7wmQK9YvO/jPjfMgUKvocz+zzm4=
=5kw6
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,31 @@
-------------------------------------------------------------------
Tue Aug 27 18:28:02 UTC 2019 - Luca Beltrame <lbeltrame@kde.org>
- New upstream release 0.113.0
- Changes since 0.112.0:
* Bump version for release
* Don't set version numbers as INT cache entries
* Move cmake_minimum_required to the top of CMakeLists.txt
* Remove support for Qt4
* Remove unneded documentation
* authority: add support for passing details to polkit
* Fix typo in comments
* Add .arcconfig
* Remove unused file
* polkitqtlistener.cpp - pedantic
* Fix build with -DBUILD_TEST=TRUE
* Allow compilation with older polkit versions
* Fix compilation with Qt5.6
* Drop use of deprecated Qt functions REVIEW: 126747
* Add wrapper for polkit_system_bus_name_get_user_sync
* Add .reviewboardrc
* Fix QDBusArgument assertion
* fix build with Qt4, which doesn't have QStringLiteral. so use QString instead.
* do not use global static systembus instance
- Dropped patch, now upstream:
* do-not-use-global-static-systembus-instance.patch
- Run spec-cleaner
-------------------------------------------------------------------
Wed Aug 13 20:32:57 UTC 2014 - hrvoje.senjan@gmail.com

BIN
polkit-qt5-1.keyring Normal file

Binary file not shown.

View File

@ -1,7 +1,7 @@
#
# spec file for package polkit-qt5-1
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -12,29 +12,30 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define rname polkit-qt-1
Name: polkit-qt5-1
Version: 0.112.0
Version: 0.113.0
Release: 0
Summary: PolicyKit Library Qt Bindings
License: LGPL-2.1+
License: LGPL-2.1-or-later
Group: Development/Libraries/KDE
Url: http://api.kde.org/kdesupport-api/kdesupport-apidocs/polkit-qt/html/
Source: http://download.kde.org/stable/apps/KDE4.x/admin/polkit-qt-1-%{version}.tar.bz2
Source1: baselibs.conf
# PATCH-FIX-UPSTREAM do-not-use-global-static-systembus-instance.patch
Patch0: do-not-use-global-static-systembus-instance.patch
URL: https://www.kde.org
Source: https://download.kde.org/stable/%{rname}/%{rname}-%{version}.tar.xz
Source1: https://download.kde.org/stable/%{rname}/%{rname}-%{version}.tar.xz.sig
Source2: %{name}.keyring
Source3: baselibs.conf
BuildRequires: cmake >= 2.8.12
BuildRequires: extra-cmake-modules
BuildRequires: kf5-filesystem
BuildRequires: pkgconfig
BuildRequires: polkit-devel
BuildRequires: pkgconfig(Qt5Core) >= 5.1.0
BuildRequires: pkgconfig(Qt5DBus) >= 5.1.0
BuildRequires: pkgconfig(Qt5Widgets) >= 5.1.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Polkit-qt-1 aims to make it easy for Qt developers to take advantage of
@ -67,23 +68,21 @@ QAbstractButton that lets you integrate those two components easily
with PolicyKit.
%prep
%setup -q -n polkit-qt-1-%{version}
%patch0 -p1
%autosetup -n %{rname}-%{version}
%build
%cmake_kf5 -d build -- -DUSE_QT5=ON -DUSE_QT4=OFF
%cmake_kf5 -d build
%make_jobs
%install
%kf5_makeinstall -C build
%post -n libpolkit-qt5-1-1 -p /sbin/ldconfig
%postun -n libpolkit-qt5-1-1 -p /sbin/ldconfig
%files -n libpolkit-qt5-1-devel
%defattr(-,root,root)
%doc AUTHORS README COPYING*
%license COPYING*
%doc AUTHORS README
%{_includedir}/polkit-qt5-1/
%{_kf5_libdir}/pkgconfig/polkit-qt5*
%{_kf5_libdir}/libpolkit-qt5-gui-1.so
@ -92,8 +91,7 @@ with PolicyKit.
%{_kf5_libdir}/cmake/PolkitQt5-1/
%files -n libpolkit-qt5-1-1
%defattr(-,root,root)
%doc COPYING*
%license COPYING*
%{_kf5_libdir}/libpolkit-qt5-gui-1.so.*
%{_kf5_libdir}/libpolkit-qt5-core-1.so.*
%{_kf5_libdir}/libpolkit-qt5-agent-1.so.*