Hello community, here is the log from the commit of package PackageKit for openSUSE:Factory checked in at 2017-11-01 11:06:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/PackageKit (Old) and /work/SRC/openSUSE:Factory/.PackageKit.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "PackageKit" Wed Nov 1 11:06:26 2017 rev:165 rq:537471 version:1.1.7 Changes: -------- --- /work/SRC/openSUSE:Factory/PackageKit/PackageKit.changes 2017-10-13 14:09:04.518729354 +0200 +++ /work/SRC/openSUSE:Factory/.PackageKit.new/PackageKit.changes 2017-11-01 11:06:25.752806825 +0100 @@ -1,0 +2,7 @@ +Mon Oct 30 06:11:17 UTC 2017 - sckang@suse.com + +- Modify PackageKit-zypp-backend-improve-refresh-cache.patch: + Prevent PK from being killed by unhandled exceptions + (boo#1064380). + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ PackageKit-zypp-backend-improve-refresh-cache.patch ++++++ --- /var/tmp/diff_new_pack.YmrX3n/_old 2017-11-01 11:06:26.420782423 +0100 +++ /var/tmp/diff_new_pack.YmrX3n/_new 2017-11-01 11:06:26.420782423 +0100 @@ -1,7 +1,7 @@ -Index: PackageKit-1.1.4/backends/zypp/pk-backend-zypp.cpp +Index: PackageKit-1.1.7/backends/zypp/pk-backend-zypp.cpp =================================================================== ---- PackageKit-1.1.4.orig/backends/zypp/pk-backend-zypp.cpp -+++ PackageKit-1.1.4/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 @@ -986,20 +986,27 @@ static gboolean zypp_refresh_meta_and_cache (RepoManager &manager, RepoInfo &repo, bool force = false) { @@ -37,7 +37,7 @@ return TRUE; } catch (const AbortTransactionException &ex) { return FALSE; -@@ -1580,9 +1587,44 @@ zypp_refresh_cache (PkBackendJob *job, Z +@@ -1580,9 +1587,30 @@ zypp_refresh_cache (PkBackendJob *job, Z if (zypp == NULL) return FALSE; filesystem::Pathname pathname("/"); @@ -63,29 +63,15 @@ + } + else + { -+ // interim storage to avoid delete while iterating -+ std::set<std::string> idsToDelete; -+ const std::set<Edition> &rpmdbKeys (zypp->target ()->rpmDb ().pubkeyEditions ()); -+ + // load rpmdb trusted keys into zypp keyring + target->rpmDb ().exportTrustedKeysInZyppKeyRing (); -+ -+ // keys no longer stored in the rpmdb need to be removed from the zypp keyring! -+ for (const PublicKeyData &el : zypp->keyRing ()->trustedPublicKeyData ()) -+ { -+ if(!rpmdbKeys.count (Edition(el.gpgPubkeyVersion (), el.gpgPubkeyRelease ()))) -+ idsToDelete.insert (el.id ()); -+ } -+ -+ for (const std::string & idToDelete : idsToDelete) -+ zypp->keyRing ()->deleteKey (idToDelete, true); + } + // load installed packages to pool + target->load (); pk_backend_job_set_status (job, PK_STATUS_ENUM_REFRESH_CACHE); pk_backend_job_set_percentage (job, 0); -@@ -1600,6 +1642,22 @@ zypp_refresh_cache (PkBackendJob *job, Z +@@ -1600,6 +1628,22 @@ zypp_refresh_cache (PkBackendJob *job, Z return FALSE; } @@ -108,7 +94,7 @@ int i = 1; int num_of_repos = repos.size (); gchar *repo_messages = NULL; -@@ -1614,7 +1672,11 @@ zypp_refresh_cache (PkBackendJob *job, Z +@@ -1614,7 +1658,11 @@ zypp_refresh_cache (PkBackendJob *job, Z // skip disabled repos if (repo.enabled () == false) @@ -120,7 +106,7 @@ // do as zypper does if (!force && !repo.autorefresh()) -@@ -1623,7 +1685,11 @@ zypp_refresh_cache (PkBackendJob *job, Z +@@ -1623,7 +1671,11 @@ zypp_refresh_cache (PkBackendJob *job, Z // skip changeable media (DVDs and CDs). Without doing this, // the disc would be required to be physically present. if (repo.baseUrlsBegin ()->schemeIsVolatile())
participants (1)
-
root@hilbert.suse.de