Hello community,

here is the log from the commit of package PackageKit for openSUSE:Factory 
checked in at 2013-03-10 08:36:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PackageKit (Old)
 and      /work/SRC/openSUSE:Factory/.PackageKit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "PackageKit", Maintainer is "gnome-maintain...@suse.de"

Changes:
--------
--- /work/SRC/openSUSE:Factory/PackageKit/PackageKit.changes    2013-03-01 
07:39:30.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.PackageKit.new/PackageKit.changes       
2013-03-10 08:36:11.000000000 +0100
@@ -1,0 +2,5 @@
+Fri Mar  8 10:05:12 UTC 2013 - co...@suse.com
+
+- add 0015-zypp-only-allow-updates.patch from git (bnc#804983)
+
+-------------------------------------------------------------------

New:
----
  0015-zypp-only-allow-updates.patch

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

Other differences:
------------------
++++++ PackageKit.spec ++++++
--- /var/tmp/diff_new_pack.NSvguE/_old  2013-03-10 08:36:13.000000000 +0100
+++ /var/tmp/diff_new_pack.NSvguE/_new  2013-03-10 08:36:13.000000000 +0100
@@ -61,6 +61,8 @@
 Patch15:        PackageKit-allow-to-disable-systemd-updates.patch
 # PATCH-FIX-UPSTREAM 
0014-zypp-Instantiate-PoolStatusSaver-after-pool-is-built.patch bnc#804054 
co...@suse.de 
 Patch16:        0014-zypp-Instantiate-PoolStatusSaver-after-pool-is-built.patch
+# PATCH-FIX-UPSTREAM 0015-zypp-only-allow-updates.patch bnc#804983 
co...@suse.de
+Patch17:        0015-zypp-only-allow-updates.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
@@ -295,6 +297,7 @@
 %patch14 -p1
 %patch15 -p1
 %patch16 -p1
+%patch17 -p1
 translation-update-upstream
 
 %build

++++++ 0015-zypp-only-allow-updates.patch ++++++
>From d3d14631042237bcfe6fb30a60e59bb6d94af425 Mon Sep 17 00:00:00 2001
From: Stephan Kulow <co...@suse.de>
Date: Thu, 21 Feb 2013 17:40:24 +0100
Subject: [PATCH] zypp: only allow to update candidates (fdo#61231)

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

diff --git a/backends/zypp/pk-backend-zypp.cpp 
b/backends/zypp/pk-backend-zypp.cpp
index 6df4067..a949de9 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -1243,7 +1243,7 @@ zypp_get_updates (PkBackendJob *job, ZYpp::Ptr zypp, 
set<PoolItem> &candidates)
                        pi_it_t cb = candidates.begin (), ce = candidates.end 
(), ci;
                        for (ci = cb; ci != ce; ++ci) {
                                if (!isKind<Patch>(ci->resolvable()))
-                               continue;
+                                       continue;
 
                                Patch::constPtr patch = 
asKind<Patch>(ci->resolvable());
 
@@ -3157,7 +3157,23 @@ backend_update_packages_thread (PkBackendJob *job, 
GVariant *params, gpointer us
 
        for (guint i = 0; package_ids[i]; i++) {
                sat::Solvable solvable = zypp_get_package_by_id 
(package_ids[i]);
+               ui::Selectable::Ptr sel( ui::Selectable::get( solvable ));
+               
                PoolItem item(solvable);
+               // patches are special - they are not installed and can't have 
update candidates
+               if (sel->kind() != ResKind::patch) {
+                       MIL << "sel " << sel->kind() << " " << sel->ident() << 
endl;
+                       if (sel->installedEmpty()) {
+                               zypp_backend_finished_error (job, 
PK_ERROR_ENUM_DEP_RESOLUTION_FAILED, "Package %s is not installed", 
package_ids[i]);
+                               return;
+                       }
+                       item = sel->updateCandidateObj();
+                       if (!item) {
+                                zypp_backend_finished_error(job, 
PK_ERROR_ENUM_DEP_RESOLUTION_FAILED, "There is no update candidate for %s", 
sel->installedObj().satSolvable().asString().c_str());
+                               return;
+                       }
+               }
+
                item.status ().setToBeInstalled (ResStatus::USER);
                Patch::constPtr patch = asKind<Patch>(item.resolvable ());
                zypp_check_restart (&restart, patch);
-- 
1.7.1

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to