Hello community, here is the log from the commit of package kauth for openSUSE:Factory checked in at 2016-03-16 10:27:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kauth (Old) and /work/SRC/openSUSE:Factory/.kauth.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kauth" Changes: -------- --- /work/SRC/openSUSE:Factory/kauth/kauth.changes 2016-02-24 18:53:53.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kauth.new/kauth.changes 2016-03-16 10:28:22.000000000 +0100 @@ -1,0 +2,8 @@ +Sun Mar 6 09:54:49 UTC 2016 - [email protected] + +- Update to 5.20.0 (boo#970856) + * Fix kded5 dead lock when a program using kauth exits + * For more details please see: + https://www.kde.org/announcements/kde-frameworks-5.20.0.php + +------------------------------------------------------------------- Old: ---- kauth-5.19.0.tar.xz New: ---- kauth-5.20.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kauth.spec ++++++ --- /var/tmp/diff_new_pack.2Ffuct/_old 2016-03-16 10:28:23.000000000 +0100 +++ /var/tmp/diff_new_pack.2Ffuct/_new 2016-03-16 10:28:23.000000000 +0100 @@ -18,9 +18,9 @@ %bcond_without lang %define lname libKF5Auth5 -%define _tar_path 5.19 +%define _tar_path 5.20 Name: kauth -Version: 5.19.0 +Version: 5.20.0 Release: 0 %define kf5_version %{version} BuildRequires: cmake >= 2.8.12 ++++++ kauth-5.19.0.tar.xz -> kauth-5.20.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kauth-5.19.0/CMakeLists.txt new/kauth-5.20.0/CMakeLists.txt --- old/kauth-5.19.0/CMakeLists.txt 2016-02-06 14:36:29.000000000 +0100 +++ new/kauth-5.20.0/CMakeLists.txt 2016-03-05 19:46:40.000000000 +0100 @@ -3,7 +3,7 @@ project(KAuth) include(FeatureSummary) -find_package(ECM 5.19.0 NO_MODULE) +find_package(ECM 5.20.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -24,8 +24,8 @@ include(ECMPoQmTools) -set(KF5_VERSION "5.19.0") # handled by release scripts -set(KF5_DEP_VERSION "5.19.0") # handled by release scripts +set(KF5_VERSION "5.20.0") # handled by release scripts +set(KF5_DEP_VERSION "5.20.0") # handled by release scripts ecm_setup_version(${KF5_VERSION} VARIABLE_PREFIX KAUTH VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kauth_version.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kauth-5.19.0/po/se/kauth5_qt.po new/kauth-5.20.0/po/se/kauth5_qt.po --- old/kauth-5.19.0/po/se/kauth5_qt.po 2016-02-06 14:36:29.000000000 +0100 +++ new/kauth-5.20.0/po/se/kauth5_qt.po 2016-03-05 19:46:40.000000000 +0100 @@ -55,14 +55,14 @@ msgid "Unknown status for the authentication procedure" msgstr "" -#: kauthexecutejob.cpp:149 +#: kauthexecutejob.cpp:152 msgctxt "KAuth::ExecuteJob|" msgid "" "The current backend only allows helper authorization, but this action does " "not have a helper." msgstr "" -#: kauthexecutejob.cpp:157 kauthexecutejob.cpp:181 +#: kauthexecutejob.cpp:160 kauthexecutejob.cpp:184 msgctxt "KAuth::ExecuteJob|" msgid "The backend does not specify how to authorize" msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kauth-5.19.0/src/backends/dbus/DBusHelperProxy.cpp new/kauth-5.20.0/src/backends/dbus/DBusHelperProxy.cpp --- old/kauth-5.19.0/src/backends/dbus/DBusHelperProxy.cpp 2016-02-06 14:36:29.000000000 +0100 +++ new/kauth-5.20.0/src/backends/dbus/DBusHelperProxy.cpp 2016-03-05 19:46:40.000000000 +0100 @@ -52,6 +52,11 @@ DBusHelperProxy::~DBusHelperProxy() { + // workaround for Qt 5.6.0 bug which leads to kded5 deadlocking when a program using kauth exits + // See: https://bugreports.qt.io/browse/QTBUG-51648 +#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) && QT_VERSION < QT_VERSION_CHECK(5, 7, 0) + disconnect(); +#endif } void DBusHelperProxy::stopAction(const QString &action, const QString &helperID) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kauth-5.19.0/src/kauthaction.h new/kauth-5.20.0/src/kauthaction.h --- old/kauth-5.19.0/src/kauthaction.h 2016-02-06 14:36:29.000000000 +0100 +++ new/kauth-5.20.0/src/kauthaction.h 2016-03-05 19:46:40.000000000 +0100 @@ -42,21 +42,18 @@ * of the Action class with the same name refers to the same action. * * Once you have an action object you can tell the helper to execute it - * (asking the user to authenticate if needed) with one of the execute*() methods. + * (asking the user to authenticate if needed) with the execute() method. * The simplest thing to do is to execute a single action synchronously - * blocking for the reply, using the execute() method. + * blocking for the reply by callin exec() on the job object returned by + * execute(). * - * For asynchronous calls, use the executeAsync() method. It sends the request - * to the helper and returns immediately. You can optionally provide an object - * and a slot. This will be connected to the actionPerformed() signal of the - * action's ActionWatcher object. - * By calling the watcher() method, you obtain an object that emits some useful - * signals that you can receive while the action is in progress. Those signals - * are emitted also with the synchronous calls. - * To execute a bunch of actions with a single call, you can use the executeActions() - * static method. This is not the same as calling executeAsync() for each action, - * because the actions are execute with a single request to the helper. - * To use any of the execute*() methods you have to set the default helper's ID using + * For asynchronous calls, use KAuth::ExecuteJob::start() instead. + * It sends the request + * to the helper and returns immediately. Before doing so you should however + * connect to at least the KJob::result(KJob *) signal to receive a slot call + * once the action is done executing. + * + * To use the execute() method you have to set the default helper's ID using * the setHelperID() static method. Alternatively, you can specify the helperID using * the overloaded version of the methods that takes it as a parameter. * @@ -64,6 +61,22 @@ * helper when the action is executed. You can access this map using the arguments() * method. You can insert into it any kind of custom data you need to pass to the helper. * + * @code + * void MyApp::runAction() + * { + * action = KAuth::Action("org.kde.myapp.action"); + * KAuth::ExecuteJob *job = action.execute(); + * connect(job, &KAuth::ExecuteJob::result, this, &MyApp::actionResult); + * job->start(); + * } + * + * void MyApp::actionResult(KJob *kjob) + * { + * auto job = qobject_cast<KAuth::ExecuteJob *>(kjob); + * qDebug() << job.error() << job.data(); + * } + * @endcode + * * @since 4.4 */ class KAUTH_EXPORT Action diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kauth-5.19.0/src/kauthexecutejob.h new/kauth-5.20.0/src/kauthexecutejob.h --- old/kauth-5.19.0/src/kauthexecutejob.h 2016-02-06 14:36:29.000000000 +0100 +++ new/kauth-5.20.0/src/kauthexecutejob.h 2016-03-05 19:46:40.000000000 +0100 @@ -30,6 +30,10 @@ namespace KAuth { +/** + * @brief Job executing an Action + * @since 5.0 + */ class KAUTH_EXPORT ExecuteJob : public KJob { Q_OBJECT @@ -53,11 +57,22 @@ /// Virtual destructor virtual ~ExecuteJob(); + /** + * Starts the job asynchronously. + * @see KJob::result + * @see newData + * @see statusChanged + */ void start() Q_DECL_OVERRIDE; - /// Returns the action associated with this job + /** + * @returns the action associated with this job + */ Action action() const; + /** + * @returns the data sent by the helper + */ QVariantMap data() const; Q_SIGNALS: @@ -76,6 +91,10 @@ */ void newData(const QVariantMap &data); + /** + * @brief Signal emitted when the authentication status changes + * @param status the the new authentication status + */ void statusChanged(KAuth::Action::AuthStatus status); };
