Hello community,

here is the log from the commit of package PackageKit for openSUSE:Factory 
checked in at 2017-10-13 14:09:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PackageKit (Old)
 and      /work/SRC/openSUSE:Factory/.PackageKit.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "PackageKit"

Fri Oct 13 14:09:02 2017 rev:164 rq:532850 version:1.1.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/PackageKit/PackageKit.changes    2017-09-25 
13:54:35.151613451 +0200
+++ /work/SRC/openSUSE:Factory/.PackageKit.new/PackageKit.changes       
2017-10-13 14:09:04.518729354 +0200
@@ -1,0 +2,6 @@
+Mon Oct  9 02:20:58 UTC 2017 - sck...@suse.com
+
+- Add PK-zypp-return-error-invalid-package-ids.patch: Return error
+  if invalid package IDs are detected in zypp backend (bsc#981011).
+
+-------------------------------------------------------------------

New:
----
  PK-zypp-return-error-invalid-package-ids.patch

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

Other differences:
------------------
++++++ PackageKit.spec ++++++
--- /var/tmp/diff_new_pack.NIBxMM/_old  2017-10-13 14:09:05.314694353 +0200
+++ /var/tmp/diff_new_pack.NIBxMM/_new  2017-10-13 14:09:05.314694353 +0200
@@ -34,6 +34,8 @@
 Patch0:         PackageKit-avoid-endless-loop-on-autoupdate.patch
 # PATCH-FIX-OPENSUSE PackageKit-zypp-backend-improve-refresh-cache.patch 
bsc#899755 sck...@suse.com -- Improve refresh-cache function in zypp backend.
 Patch1:         PackageKit-zypp-backend-improve-refresh-cache.patch
+# PATCH-FIX-UPSTREAM PK-zypp-return-error-invalid-package-ids.patch bsc#981011 
sck...@suse.com -- zypp: Return error if invalid package IDs are detected
+Patch2:         PK-zypp-return-error-invalid-package-ids.patch
 BuildRequires:  NetworkManager-devel
 # Needed in order to be able to bootstrap (patch2)
 BuildRequires:  autoconf-archive
@@ -223,6 +225,7 @@
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 %if !0%{?is_opensuse}
 translation-update-upstream
 %endif

++++++ PK-zypp-return-error-invalid-package-ids.patch ++++++
>From 6c97a7f05953e91b156fdb783e24357ed03b20c7 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathan121...@gmail.com>
Date: Mon, 7 Aug 2017 14:48:37 +0800
Subject: [PATCH] zypp: Return error if invalid package IDs are detected

---
 backends/zypp/pk-backend-zypp.cpp | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

Index: PackageKit-1.1.7/backends/zypp/pk-backend-zypp.cpp
===================================================================
--- PackageKit-1.1.7.orig/backends/zypp/pk-backend-zypp.cpp
+++ PackageKit-1.1.7/backends/zypp/pk-backend-zypp.cpp
@@ -1805,7 +1805,7 @@ pk_backend_destroy (PkBackend *backend)
 static bool
 zypp_is_no_solvable (const sat::Solvable &solv)
 {
-       return solv.id() == sat::detail::noSolvableId;
+       return solv == sat::Solvable::noSolvable;
 }
 
 /**
@@ -2111,6 +2111,13 @@ backend_get_details_thread (PkBackendJob
 
                sat::Solvable solv = zypp_get_package_by_id( package_ids[i] );
 
+               if (zypp_is_no_solvable(solv)) {
+                       // Previously stored package_id no longer matches any 
solvable.
+                       zypp_backend_finished_error (job, 
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+                                                    "couldn't find package");
+                       return;
+               }
+
                ResObject::constPtr obj = make<ResObject>( solv );
                if (obj == NULL) {
                        zypp_backend_finished_error (job, 
PK_ERROR_ENUM_PACKAGE_NOT_FOUND, 
@@ -2584,6 +2591,13 @@ backend_install_packages_thread (PkBacke
                for (guint i = 0; package_ids[i]; i++) {
                        MIL << package_ids[i] << endl;
                        sat::Solvable solvable = zypp_get_package_by_id 
(package_ids[i]);
+
+                       if (zypp_is_no_solvable(solvable)) {
+                               // Previously stored package_id no longer 
matches any solvable.
+                               zypp_backend_finished_error (job, 
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+                                                            "couldn't find 
package");
+                               return;
+                       }
                        
                        to_install++;
                        PoolItem item(solvable);
@@ -3222,6 +3236,14 @@ backend_update_packages_thread (PkBacken
 
        for (guint i = 0; package_ids[i]; i++) {
                sat::Solvable solvable = zypp_get_package_by_id 
(package_ids[i]);
+
+               if (zypp_is_no_solvable(solvable)) {
+                       // Previously stored package_id no longer matches any 
solvable.
+                       zypp_backend_finished_error (job, 
PK_ERROR_ENUM_PACKAGE_NOT_FOUND,
+                                                    "couldn't find package");
+                       return;
+               }
+
                ui::Selectable::Ptr sel( ui::Selectable::get( solvable ));
                
                PoolItem item(solvable);



Reply via email to