Hello community,

here is the log from the commit of package PackageKit for openSUSE:Factory 
checked in at 2011-11-08 17:44:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PackageKit (Old)
 and      /work/SRC/openSUSE:Factory/.PackageKit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

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

Changes:
--------
--- /work/SRC/openSUSE:Factory/PackageKit/PackageKit.changes    2011-10-05 
17:34:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.PackageKit.new/PackageKit.changes       
2011-11-08 17:44:54.000000000 +0100
@@ -1,0 +2,8 @@
+Mon Nov  7 10:27:14 UTC 2011 - [email protected]
+
+- Redo patches based on github.com/openSUSE/PackageKit for
+  easier patch tracking across all distro versions.
+- Add patches to fix slowness in zypp backend.
+- Add comment in package to help with future updating.
+
+-------------------------------------------------------------------

Old:
----
  PackageKit-npapi.patch
  PackageKit-sysconfig-cron.patch

New:
----
  0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch
  0002-dont-call-build-pool-inside-the-loop.patch
  0003-only-load-repositories-once.patch
  0004-Workaround-Don-t-refresh-repositories-each-time-for-.patch
  0005-Build-against-npapi-sdk-instead-of-xulrunner.patch

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

Other differences:
------------------
++++++ PackageKit.spec ++++++
--- /var/tmp/diff_new_pack.yGPzgN/_old  2011-11-08 17:44:56.000000000 +0100
+++ /var/tmp/diff_new_pack.yGPzgN/_new  2011-11-08 17:44:56.000000000 +0100
@@ -75,10 +75,25 @@
 Url:            http://packagekit.org/
 Source:         http://www.packagekit.org/releases/%{name}-%{version}.tar.xz
 Source2:        baselibs.conf
-# PATCH-FEATURE-OPENSUSE PackageKit-sysconfig-cron.patch [email protected] -- 
Change the configuration of the cron script to a sysconfig-like config
-Patch0:         PackageKit-sysconfig-cron.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
+# in that git repository for easier tracking and merging.
+# When updating the package you can rebase the distro branch against
+# the new release tag.
+#
+# PATCH-FEATURE-OPENSUSE 
0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch 
[email protected] -- Change the configuration of the cron script to a 
sysconfig-like config
+Patch0:         0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch
+# PATCH-FIX-UPSTREAM backport part of fix for bnc#679650
+Patch1:         0002-dont-call-build-pool-inside-the-loop.patch
+# PATCH-FIX-UPSTREAM backport part of fix for bnc#679650
+Patch2:         0003-only-load-repositories-once.patch
+# PATCH-FIX-UPSTREAM backport part of fix for bnc#679650
+Patch3:         0004-Workaround-Don-t-refresh-repositories-each-time-for-.patch
 # PATCH-FIX-UPSTREAM PackageKit-npapi.patch fdo#40026 [email protected] -- 
Build against npapi-sdk instead of xulrunner
-Patch1:         PackageKit-npapi.patch
+Patch4:         0005-Build-against-npapi-sdk-instead-of-xulrunner.patch
+#
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Requires:       %{name}-branding = %{version}
 Recommends:     %{name}-lang
@@ -301,8 +316,11 @@
 %setup -q
 translation-update-upstream
 %patch0 -p1
-%if 0%{suse_version} > 1140
 %patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%if 0%{suse_version} > 1140
+%patch4 -p1
 %endif
 # Remove .moc files, as they make the build fail with our qt. They will be 
re-created during the build. See fdo#40662.
 rm lib/packagekit-qt/src/*.moc lib/packagekit-qt2/*.moc

++++++ 0001-Change-the-configuration-of-the-cron-script-to-a-sys.patch ++++++
>From 08ee1392820f91986eea93637c13cc5786ad102a Mon Sep 17 00:00:00 2001
From: Vincent Untz <[email protected]>
Date: Tue, 26 Jul 2011 11:34:22 +0200
Subject: [PATCH 1/5] Change the configuration of the cron script to a
 sysconfig-like config

---
 contrib/cron/packagekit-background |   43 +++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/contrib/cron/packagekit-background 
b/contrib/cron/packagekit-background
index e5b5c9b..783e2df 100644
--- a/contrib/cron/packagekit-background
+++ b/contrib/cron/packagekit-background
@@ -1,18 +1,41 @@
-# should we attempt to do this? (valid: yes|no)
+## Path:       System/Cron/PackageKit
+## Description: Cron job to update the system daily with PackageKit
+
+## Type:       yesno
+## Default:    no
+#
+# Run the cron job.
+#
 ENABLED=no
 
-# don't install, just check (valid: yes|no)
+## Type:       yesno
+## Default:    no
+#
+# Check if updates are available, instead of installing.
+#
 CHECK_ONLY=no
 
-# if MAILTO is set, the mail command is used to deliver PackageKit output
-# by default MAILTO is unset, so crond mails the output by itself
-#MAILTO=root
+## Type:       string
+## Default:    ""
+#
+# If MAILTO is set, the mail command is used to deliver PackageKit output.
+# By default MAILTO is unset, so crond mails the output by itself.
+#
+MAILTO=""
 
-# you may set SYSTEM_NAME if you want your PackageKit emails tagged 
-# differently default is output of hostname command
-#SYSTEM_NAME=""
+## Type:       string
+## Default:    ""
+#
+# You may set SYSTEM_NAME if you want your PackageKit emails tagged 
differently.
+# Default is output of hostname command.
+#
+SYSTEM_NAME=""
 
-# update checks will sleep random time before contacting the servers to
+## Type:       integer
+## Default:    3600
+#
+# Update checks will sleep random time before contacting the servers to
 # avoid hammering them with thousands of request at the same time - this
-# is the maximum sleep time (in seconds) for the random wait period
+# is the maximum sleep time (in seconds) for the random wait period.
+#
 SLEEP_MAX=3600
-- 
1.7.6.4

++++++ 0002-dont-call-build-pool-inside-the-loop.patch ++++++
>From d2c1b8757cf716f275dd2958d5e6b759e619d9de Mon Sep 17 00:00:00 2001
From: Duncan Mac-Vicar P <[email protected]>
Date: Tue, 26 Jul 2011 11:21:37 +0200
Subject: [PATCH 2/5] dont call build pool inside the loop

---
 backends/zypp/pk-backend-zypp.cpp |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/backends/zypp/pk-backend-zypp.cpp 
b/backends/zypp/pk-backend-zypp.cpp
index 85b7cbb..e885cb0 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -185,13 +185,12 @@ backend_get_requires_thread (PkBackend *backend)
        //pk_backend_set_percentage (backend, 0);
 
        PoolStatusSaver saver;
+       ResPool pool = zypp_build_pool (backend, true);
        for (uint i = 0; package_ids[i]; i++) {
                sat::Solvable solvable = zypp_get_package_by_id (backend, 
package_ids[i]);
                PoolItem package;
 
                if (solvable.isSystem ()) {
-                       ResPool pool = zypp_build_pool (backend, true);
-
                        gboolean found = FALSE;
                        gchar **id_parts = pk_package_id_split (package_ids[i]);
 
-- 
1.7.6.4

++++++ 0003-only-load-repositories-once.patch ++++++
>From 9e52fd2b3cf62202f4afe3afe21a350cbdec1f15 Mon Sep 17 00:00:00 2001
From: Duncan Mac-Vicar P <[email protected]>
Date: Tue, 26 Jul 2011 11:20:51 +0200
Subject: [PATCH 3/5] only load repositories once

---
 backends/zypp/zypp-utils.cpp |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/backends/zypp/zypp-utils.cpp b/backends/zypp/zypp-utils.cpp
index 8fc69bd..4b84300 100644
--- a/backends/zypp/zypp-utils.cpp
+++ b/backends/zypp/zypp-utils.cpp
@@ -192,8 +192,11 @@ zypp_is_valid_repo (PkBackend *backend, RepoInfo repo)
 ResPool
 zypp_build_pool (PkBackend *backend, gboolean include_local)
 {
+       static gboolean repos_loaded = FALSE;
+
        ZYpp::Ptr zypp = get_zypp (backend);
 
+       // the target is loaded or unloaded on request
        if (include_local) {
                // FIXME have to wait for fix in zypp (repeated loading of 
target)
                if (sat::Pool::instance().reposFind( 
sat::Pool::systemRepoAlias() ).solvablesEmpty ())
@@ -211,6 +214,10 @@ zypp_build_pool (PkBackend *backend, gboolean 
include_local)
                }
        }
 
+       // we only load repositories once.
+       if (repos_loaded)
+               return zypp->pool();
+
        // Add resolvables from enabled repos
        RepoManager manager;
        list<RepoInfo> repos;
@@ -230,7 +237,9 @@ zypp_build_pool (PkBackend *backend, gboolean include_local)
                         //FIXME see above, skip already cached repos
                         if (sat::Pool::instance().reposFind( repo.alias ()) == 
Repository::noRepository)
                                 manager.loadFromCache (repo);
+
                }
+               repos_loaded = true;
        } catch (const repo::RepoNoAliasException &ex) {
                 g_error ("Can't figure an alias to look in cache");
         } catch (const repo::RepoNotCachedException &ex) {
-- 
1.7.6.4

++++++ 0004-Workaround-Don-t-refresh-repositories-each-time-for-.patch ++++++
>From e57cf1f8fbce05ede350f9be31557478de8a040f Mon Sep 17 00:00:00 2001
From: Duncan Mac-Vicar P <[email protected]>
Date: Wed, 19 Oct 2011 12:53:07 +0200
Subject: [PATCH 4/5] Workaround: Don't refresh repositories each time for
 operations called in batches like package search.

---
 backends/zypp/pk-backend-zypp.cpp |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/backends/zypp/pk-backend-zypp.cpp 
b/backends/zypp/pk-backend-zypp.cpp
index e885cb0..a893977 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1398,6 +1398,8 @@ pk_backend_resolve (PkBackend *backend, PkBitfield 
filters, gchar **package_ids)
 static gboolean
 backend_find_packages_thread (PkBackend *backend)
 {
+       static bool refreshed = false;
+
        MIL << endl;
        gchar **values;
        const gchar *search;
@@ -1411,9 +1413,13 @@ backend_find_packages_thread (PkBackend *backend)
        }
 
        // refresh the repos before searching
-       if (!zypp_refresh_cache (backend, FALSE)) {
-               pk_backend_finished (backend);
-               return FALSE;
+       if (!refreshed) {
+               if (!zypp_refresh_cache (backend, FALSE)) {
+                       pk_backend_finished (backend);
+                       return FALSE;
+               }
+               else
+                       refreshed = true;
        }
 
        values = pk_backend_get_strv (backend, "search");
@@ -2075,10 +2081,15 @@ backend_download_packages_thread (PkBackend *backend)
        MIL << endl;
        gchar **package_ids;
        gulong size = 0;
+       static bool refreshed = false;
 
-       if (!zypp_refresh_cache (backend, FALSE)) {
-               pk_backend_finished (backend);
-               return FALSE;
+       if (! refreshed) {
+               if (!zypp_refresh_cache (backend, FALSE)) {
+                       pk_backend_finished (backend);
+                       return FALSE;
+               }
+               else
+                       refreshed = true;
        }
 
        ZYpp::Ptr zypp;
-- 
1.7.6.4

++++++ 0005-Build-against-npapi-sdk-instead-of-xulrunner.patch ++++++
>From a311186fdff76aaf7ac796c5e931d843ad0d4e1b Mon Sep 17 00:00:00 2001
From: Wolfgang Rosenauer <[email protected]>
Date: Tue, 25 Oct 2011 14:27:15 +0200
Subject: [PATCH 5/5] Build against npapi-sdk instead of xulrunner

https://bugs.freedesktop.org/show_bug.cgi?id=40026
---
 configure.ac                     |    2 +-
 contrib/browser-plugin/pk-main.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index c261882..f7811c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -355,7 +355,7 @@ AC_ARG_ENABLE(browser_plugin, 
AS_HELP_STRING([--enable-browser-plugin],[Build br
              enable_browser_plugin=$enableval,enable_browser_plugin=yes)
 if test x$enable_browser_plugin = xyes; then
        PKG_CHECK_MODULES(PK_BROWSER_PLUGIN,    \
-                         mozilla-plugin        \
+                         npapi-sdk     \
                          gio-unix-2.0          \
                          nspr \
                          cairo                 \
diff --git a/contrib/browser-plugin/pk-main.c b/contrib/browser-plugin/pk-main.c
index 072a576..7d35f51 100644
--- a/contrib/browser-plugin/pk-main.c
+++ b/contrib/browser-plugin/pk-main.c
@@ -543,7 +543,7 @@ NP_Shutdown ()
 /**
  * NP_GetMIMEDescription:
  **/
-char *
+const char *
 NP_GetMIMEDescription (void)
 {
        pk_debug ("NP_GetMIMEDescription");
-- 
1.7.6.4


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

Reply via email to