Hello community,

here is the log from the commit of package PackageKit for openSUSE:12.3 checked 
in at 2013-03-01 07:39:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3/PackageKit (Old)
 and      /work/SRC/openSUSE:12.3/.PackageKit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "PackageKit", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:12.3/PackageKit/PackageKit.changes       2013-02-20 
09:33:53.000000000 +0100
+++ /work/SRC/openSUSE:12.3/.PackageKit.new/PackageKit.changes  2013-03-01 
07:39:34.000000000 +0100
@@ -1,0 +2,6 @@
+Thu Feb 28 16:00:49 CET 2013 - [email protected]
+
+- Add 0014-Instantiate-PoolStatusSaver-after-pool-is-built-bnc-.patch
+  (bnc#804054)
+
+-------------------------------------------------------------------

New:
----
  0014-zypp-Instantiate-PoolStatusSaver-after-pool-is-built.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ PackageKit.spec ++++++
--- /var/tmp/diff_new_pack.pt3Wyt/_old  2013-03-01 07:39:35.000000000 +0100
+++ /var/tmp/diff_new_pack.pt3Wyt/_new  2013-03-01 07:39:35.000000000 +0100
@@ -59,6 +59,8 @@
 Patch14:        0013-zypp-remap-PK-provides-into-rpm-provides-as-the-zif-.patch
 # PATCH-FIX-UPSTREAM PackageKit-allow-to-disable-systemd-updates.patch 
fdo#61103 [email protected] -- Fix build with --disable-systemd-updates
 Patch15:        PackageKit-allow-to-disable-systemd-updates.patch
+# PATCH-FIX-UPSTREAM 
0014-zypp-Instantiate-PoolStatusSaver-after-pool-is-built.patch bnc#804054 
[email protected] 
+Patch16:        0014-zypp-Instantiate-PoolStatusSaver-after-pool-is-built.patch
 # To update this package, please git-format-patch the tag of the
 # tarball version (eg: PACKAGEKIT_0_6_19) vs the distro tag (eg: 
openSUSE_Factory)
 # in https://github.com/openSUSE/PackageKit and keep the patches
@@ -292,6 +294,7 @@
 %patch13 -p1
 %patch14 -p1
 %patch15 -p1
+%patch16 -p1
 translation-update-upstream
 
 %build

++++++ 0014-zypp-Instantiate-PoolStatusSaver-after-pool-is-built.patch ++++++
>From e81a7af4d48348f00c40532c23a097533795c1b6 Mon Sep 17 00:00:00 2001
From: Michael Andres <[email protected]>
Date: Thu, 28 Feb 2013 15:01:20 +0100
Subject: [PATCH] zypp: Instantiate PoolStatusSaver after pool is built
 (bnc#804054)

---
 backends/zypp/pk-backend-zypp.cpp | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

Index: PackageKit-0.8.7/backends/zypp/pk-backend-zypp.cpp
===================================================================
--- PackageKit-0.8.7.orig/backends/zypp/pk-backend-zypp.cpp
+++ PackageKit-0.8.7/backends/zypp/pk-backend-zypp.cpp
@@ -120,8 +120,12 @@ enum PkgSearchType {
        SEARCH_TYPE_RESOLVE = 3
 };
 
-// helper function to restore the pool status
-// after doing operations on it
+/// \class PoolStatusSaver
+/// \brief Helper to restore the pool status after doing operations on it.
+///
+/// \note It's important that a PoolStatusSaver is instantiated \b after
+/// the pool is built/refreshed. Otherwise you lose all the locks applied
+/// during refresh. (bnc#804054)
 class PoolStatusSaver : private base::NonCopyable
 {
 public:
@@ -1732,8 +1736,8 @@ backend_get_requires_thread (PkBackendJo
 
        pk_backend_job_set_percentage (job, 10);
 
-       PoolStatusSaver saver;
        ResPool pool = zypp_build_pool (zypp, true);
+       PoolStatusSaver saver;
        for (uint i = 0; package_ids[i]; i++) {
                sat::Solvable solvable = zypp_get_package_by_id 
(package_ids[i]);
 
@@ -2463,7 +2467,6 @@ static void
 backend_install_packages_thread (PkBackendJob *job, GVariant *params, gpointer 
user_data)
 {
        MIL << endl;
-       PoolStatusSaver saver;
 
        PkBitfield transaction_flags = 0;
        gchar **package_ids;
@@ -2491,6 +2494,7 @@ backend_install_packages_thread (PkBacke
        try
        {
                ResPool pool = zypp_build_pool (zypp, TRUE);
+               PoolStatusSaver saver;
                pk_backend_job_set_percentage (job, 10);
                vector<PoolItem> *items = new vector<PoolItem> ();
 
@@ -2581,7 +2585,6 @@ static void
 backend_remove_packages_thread (PkBackendJob *job, GVariant *params, gpointer 
user_data)
 {
        MIL << endl;
-       PoolStatusSaver saver;
        PkBitfield transaction_flags = 0;
        gboolean autoremove = false;
        gboolean allow_deps = false;
@@ -2613,6 +2616,7 @@ backend_remove_packages_thread (PkBacken
        target->load ();
        pk_backend_job_set_percentage (job, 10);
 
+       PoolStatusSaver saver;
        for (guint i = 0; package_ids[i]; i++) {
                sat::Solvable solvable = zypp_get_package_by_id 
(package_ids[i]);
                
@@ -3137,8 +3141,6 @@ static void
 backend_update_packages_thread (PkBackendJob *job, GVariant *params, gpointer 
user_data)
 {
        MIL << endl;
-       PoolStatusSaver saver;
-
        PkBitfield transaction_flags = 0;
        gchar **package_ids;
        g_variant_get(params, "(t^a&s)",
@@ -3155,6 +3157,8 @@ backend_update_packages_thread (PkBacken
        ResPool pool = zypp_build_pool (zypp, TRUE);
        PkRestartEnum restart = PK_RESTART_ENUM_NONE;
 
+       PoolStatusSaver saver;
+
        for (guint i = 0; package_ids[i]; i++) {
                sat::Solvable solvable = zypp_get_package_by_id 
(package_ids[i]);
                PoolItem item(solvable);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to