Accepting request 1129730 from GNOME:Factory

OBS-URL: https://build.opensuse.org/request/show/1129730
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/PackageKit?expand=0&rev=235
This commit is contained in:
Ana Guerrero 2023-11-29 20:19:43 +00:00 committed by Git OBS Bridge
commit b1f7581c4d
19 changed files with 318 additions and 693 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e08cb9164700ac684386e4257f783493ebac637141d34a8ce8077147ea10ad26
size 2753668

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEFj61ARkiXbPfj0nqF6y6jfqXDhcFAmIOSzUACgkQF6y6jfqX
Dhcr5Af/W+F5ao9B4d9fulddpqjK70AE6vJdlYCKzj5GprMM5IaNRZL/AeLGweDR
Pt9nWP8SByrMs+yq2IU4FfvpX1iIHcJuTG6ROQdhEkQ9hUAEcFKYGFwMtr7CkMTE
/kgH05QmkvybpRj1JDo4VlOCpjNz5GUvObtzN3M88/5PHKWBopJOo/H4cjS9eppG
cB4DlYjQM8oHFHV3Dy80EX1F6nNX58g0QzzlhWhifffneNR0EDNZNOkVzbyTcjX/
gtMpvvBHdpXZtyN/DGZvzBNciHU8rY3QLVmNCeFIzwcZImwPHgC4PJVWCxOvzBGt
WI6/vLppH1gk8DB8hjagGWB1rBUcWQ==
=9tBL
-----END PGP SIGNATURE-----

3
PackageKit-1.2.8.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d834250a0f121483027db2cfd93e8b2cba8dc48ff854395bfd88aa9511898be4
size 2790440

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE0zo/DKFrCsxRpgc4SUyKX79N7OsFAmVL8fAACgkQSUyKX79N
7OuBgw/9HMzZHR28uRPBXsCFvuizNp/BNmJm0rsJp8bG7vUOydz1MlEjwf+GIxXy
SqEbfbVqT6ENjyWC1w1pPGS10uHsmdQVuI5Zsu6NjD+UjEpQxK210BvgS+Yl+QNA
E/oaE1gbNykHpKLmqR1X2NyTb2352x2BjPgFcy5rJAmJnss6vuFwWZu30EKOX4x0
wClHmmdMw5jgbkj+HsA5USvtZyEwKNFfo5E9a0CmbksTeO5iPACh7ZZ+h+ZsfLfi
K6+LtZ3GsDAyg2W+UdggUCVHALe4aHUCu7nor3om6D4tDQIn6FQqo5A5If6yF6l7
NEbr2EZJ8aafIZ+knmtjjvByDmtXbq+IZpEVjReyAT8EVsVhZa7Wb3Xpulm8eSyr
Qa4EKluSbTw+jOQtjMmYIjLNBQnPOGIF1LRS2OmrYpNUyFiINKDl2bTFvvGOVgQP
wp9mGOiKwwLD2RitQZbC89RmFK/jPlVvOKNpR6vBS0taDWnd6hyC2SbCZzUa4S/8
t1vG3kfmk1etCcVX+1BHSTk2HwthVeTrUsqBaN8Fa7Ti2IhZIIJCWslvd7yc57vQ
njzaWgU9sA/XIoE2I2WMkmCpA94//b3X8o3MtwVHHJ5AwVEFg8qn32/2gxhhgcdQ
XPhzuVtWJxUOGJZJoiZifaQ5KzWCa3SXeZ7Be8XzhzzuS230bis=
=0749
-----END PGP SIGNATURE-----

View File

@ -14,19 +14,16 @@ be mutually exclusive.
backends/dnf/pk-backend-dnf.c | 2 +- backends/dnf/pk-backend-dnf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backends/dnf/pk-backend-dnf.c b/backends/dnf/pk-backend-dnf.c Index: PackageKit-1.2.8/backends/dnf/pk-backend-dnf-common.c
index 503a6eb0a..3d39101ba 100644 ===================================================================
--- a/backends/dnf/pk-backend-dnf.c --- PackageKit-1.2.8.orig/backends/dnf/pk-backend-dnf-common.c
+++ b/backends/dnf/pk-backend-dnf.c +++ PackageKit-1.2.8/backends/dnf/pk-backend-dnf-common.c
@@ -505,7 +505,7 @@ pk_backend_stop_job (PkBackend *backend, PkBackendJob *job) @@ -89,7 +89,7 @@ pk_backend_setup_dnf_context (DnfContext
static gboolean gboolean
dnf_utils_refresh_repo_appstream (DnfRepo *repo, GError **error) dnf_utils_refresh_repo_appstream (DnfRepo *repo, GError **error)
{ {
- const gchar *as_basenames[] = { "appstream", "appstream-icons", NULL }; - const gchar *as_basenames[] = { "appstream", "appstream-icons", NULL };
+ const gchar *as_basenames[] = { "appstream", "appstream-icons", "appdata", "appdata-icons", NULL }; + const gchar *as_basenames[] = { "appstream", "appstream-icons", "appdata", "appdata-icons", NULL };
for (guint i = 0; as_basenames[i] != NULL; i++) { for (guint i = 0; as_basenames[i] != NULL; i++) {
const gchar *tmp = dnf_repo_get_filename_md (repo, as_basenames[i]); const gchar *tmp = dnf_repo_get_filename_md (repo, as_basenames[i]);
if (tmp != NULL) { if (tmp == NULL)
--
2.24.1

View File

@ -1,12 +1,12 @@
Index: PackageKit-1.2.5/src/meson.build Index: PackageKit-1.2.8/src/meson.build
=================================================================== ===================================================================
--- PackageKit-1.2.5.orig/src/meson.build --- PackageKit-1.2.8.orig/src/meson.build
+++ PackageKit-1.2.5/src/meson.build +++ PackageKit-1.2.8/src/meson.build
@@ -76,6 +76,7 @@ packagekitd_exec = executable( @@ -51,6 +51,7 @@ packagekit_direct_exec = executable(
], ],
install: true, install: true,
install_dir: get_option('libexecdir'), install_dir: get_option('libexecdir'),
+ export_dynamic: true, + export_dynamic: true,
c_args: [ c_args: [
'-DPK_BUILD_DAEMON=1',
'-DG_LOG_DOMAIN="PackageKit"', '-DG_LOG_DOMAIN="PackageKit"',
'-DLIBDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('libdir'))),

View File

@ -1,39 +0,0 @@
Index: PackageKit-1.2.5/backends/zypp/pk-backend-zypp.cpp
===================================================================
--- PackageKit-1.2.5.orig/backends/zypp/pk-backend-zypp.cpp
+++ PackageKit-1.2.5/backends/zypp/pk-backend-zypp.cpp
@@ -169,18 +169,30 @@ zypp_build_package_id_from_resolvable (c
{
gchar *package_id;
const char *arch;
+ g_autofree gchar *repo = NULL;
if (isKind<SrcPackage>(resolvable))
arch = "source";
else
arch = resolvable.arch ().asString ().c_str ();
- string repo = resolvable.repository ().alias();
- if (resolvable.isSystem())
- repo = "installed";
+ if (resolvable.isSystem ()) {
+ PoolItem pi;
+ PoolItem installedPI { resolvable };
+ ui::Selectable::Ptr selectable { ui::Selectable::get (resolvable) };
+
+ if (selectable->identicalAvailableObj (installedPI) != NULL)
+ pi = selectable->identicalAvailableObj (installedPI);
+ else
+ pi = selectable->updateCandidateObj ();
+
+ repo = g_strconcat ("installed:", pi.repository ().alias ().c_str (), NULL);
+ } else
+ repo = g_strdup (resolvable.repository ().alias ().c_str ());
+
package_id = pk_package_id_build (resolvable.name ().c_str (),
resolvable.edition ().asString ().c_str (),
- arch, repo.c_str ());
+ arch, repo);
return package_id;
}

View File

@ -1,72 +0,0 @@
From 74da50015b14f3465042aa7280a8e7721a825540 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Wed, 4 Aug 2021 14:32:22 +0800
Subject: [PATCH] zypp: implement upgrade-system method
---
backends/zypp/pk-backend-zypp.cpp | 49 +++++++++++++++++++++++++++++++
1 file changed, 49 insertions(+)
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index 6da70348b..49251297d 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -3528,6 +3528,55 @@ pk_backend_update_packages (PkBackend *backend, PkBackendJob *job, PkBitfield tr
pk_backend_job_thread_create (job, backend_update_packages_thread, NULL, NULL);
}
+static void
+pk_backend_upgrade_system_thread (PkBackendJob *job,
+ GVariant *params,
+ gpointer user_data)
+{
+ const gchar *release_ver = NULL;
+ PkBitfield transaction_flags = 0;
+
+ g_variant_get (params, "(t&su)",
+ &transaction_flags,
+ &release_ver, NULL);
+
+ ZyppJob zjob(job);
+ ZYpp::Ptr zypp = zjob.get_zypp ();
+ if (zypp == NULL) {
+ return;
+ }
+
+ if (is_tumbleweed ()) {
+ pk_backend_job_error_code (job, PK_ERROR_ENUM_NOT_SUPPORTED,
+ "upgrade-system is not supported in Tumbleweed, use \"pkcon update\" instead.");
+ return;
+ }
+
+ ResPool pool = zypp_build_pool (zypp, TRUE);
+ PkRestartEnum restart = PK_RESTART_ENUM_NONE;
+ PoolStatusSaver saver;
+
+ /* Set environment variable ZYPP_REPO_RELEASEVER to target version. */
+ g_setenv ("ZYPP_REPO_RELEASEVER", release_ver, TRUE);
+
+ upgrade_system (job, zypp, transaction_flags);
+
+ g_unsetenv ("ZYPP_REPO_RELEASEVER");
+}
+
+/**
+ * pk_backend_upgrade_system
+ */
+void
+pk_backend_upgrade_system (PkBackend *backend,
+ PkBackendJob *job,
+ PkBitfield transaction_flags,
+ const gchar *distro_id,
+ PkUpgradeKindEnum upgrade_kind)
+{
+ pk_backend_job_thread_create (job, pk_backend_upgrade_system_thread, NULL, NULL);
+}
+
static void
backend_repo_set_data_thread (PkBackendJob *job, GVariant *params, gpointer user_data)
{
--
2.31.1

View File

@ -1,68 +0,0 @@
From e9f61bd37d7269aec15c15a98d2353c809ee0f86 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Fri, 22 Jul 2022 15:11:15 +0800
Subject: [PATCH] zypp: Avoid statuReset() on locked packages
https://bugzilla.suse.com/show_bug.cgi?id=1199895
---
backends/zypp/pk-backend-zypp.cpp | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
Index: PackageKit-1.2.5/backends/zypp/pk-backend-zypp.cpp
===================================================================
--- PackageKit-1.2.5.orig/backends/zypp/pk-backend-zypp.cpp
+++ PackageKit-1.2.5/backends/zypp/pk-backend-zypp.cpp
@@ -1482,7 +1482,7 @@ zypp_perform_execution (PkBackendJob *jo
ResPool pool = ResPool::instance ();
for (ResPool::const_iterator it = pool.begin (); it != pool.end (); ++it) {
if (it->status ().isToBeInstalled ())
- it->statusReset ();
+ it->statusReinit ();
}
pk_backend_job_error_code (job, PK_ERROR_ENUM_DEP_RESOLUTION_FAILED, "%s", emsg);
@@ -1520,7 +1520,7 @@ zypp_perform_execution (PkBackendJob *jo
switch (type) {
case REMOVE:
if (!(*it)->isSystem ()) {
- it->statusReset ();
+ it->statusReinit ();
continue;
}
break;
@@ -1537,7 +1537,7 @@ zypp_perform_execution (PkBackendJob *jo
if (!zypp_backend_pool_item_notify (job, *it, TRUE))
ret = FALSE;
- it->statusReset ();
+ it->statusReinit ();
}
goto exit;
}
@@ -2849,7 +2849,7 @@ backend_install_packages_thread (PkBacke
if (!zypp_perform_execution (job, zypp, INSTALL, FALSE, transaction_flags)) {
// reset the status of the marked packages
for (vector<PoolItem>::iterator it = items.begin (); it != items.end (); ++it) {
- it->statusReset ();
+ it->statusReinit ();
}
return;
}
@@ -2954,7 +2954,7 @@ backend_remove_packages_thread (PkBacken
if (!zypp_perform_execution (job, zypp, REMOVE, TRUE, transaction_flags)) {
//reset the status of the marked packages
for (vector<PoolItem>::iterator it = items.begin (); it != items.end (); ++it) {
- it->statusReset();
+ it->statusReinit();
}
zypp_backend_finished_error (
job, PK_ERROR_ENUM_TRANSACTION_ERROR,
@@ -3803,7 +3803,7 @@ backend_what_provides_thread (PkBackendJ
zypp_backend_package (job, status, it->resolvable()->satSolvable(),
it->resolvable ()->summary ().c_str ());
}
- it->statusReset ();
+ it->statusReinit ();
}
solver.setIgnoreAlreadyRecommended (FALSE);
} else {

View File

@ -7,28 +7,11 @@ Subject: [PATCH] zypp: Disable upgrade-system support in SLE
backends/zypp/pk-backend-zypp.cpp | 13 +++++++++++++ backends/zypp/pk-backend-zypp.cpp | 13 +++++++++++++
1 file changed, 13 insertions(+) 1 file changed, 13 insertions(+)
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp Index: PackageKit-1.2.8/backends/zypp/pk-backend-zypp.cpp
index 259aa2b90..271cc0a6c 100644 ===================================================================
--- a/backends/zypp/pk-backend-zypp.cpp --- PackageKit-1.2.8.orig/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp +++ PackageKit-1.2.8/backends/zypp/pk-backend-zypp.cpp
@@ -44,6 +44,7 @@ @@ -3572,6 +3572,16 @@ pk_backend_upgrade_system_thread (PkBack
#include <pk-backend.h>
#include <pk-shared.h>
#include <packagekit-glib2/packagekit.h>
+#include <packagekit-glib2/pk-common-private.h>
#include <packagekit-glib2/pk-enum.h>
#include <zypp/Digest.h>
@@ -3547,6 +3548,8 @@ pk_backend_upgrade_system_thread (PkBackendJob *job,
gpointer user_data)
{
const gchar *release_ver = NULL;
+ g_autofree gchar *release_name = NULL;
+ g_autoptr(GError) error = NULL;
PkBitfield transaction_flags = 0;
g_variant_get (params, "(t&su)",
@@ -3565,6 +3568,16 @@ pk_backend_upgrade_system_thread (PkBackendJob *job,
return; return;
} }
@ -45,6 +28,3 @@ index 259aa2b90..271cc0a6c 100644
ResPool pool = zypp_build_pool (zypp, TRUE); ResPool pool = zypp_build_pool (zypp, TRUE);
PkRestartEnum restart = PK_RESTART_ENUM_NONE; PkRestartEnum restart = PK_RESTART_ENUM_NONE;
PoolStatusSaver saver; PoolStatusSaver saver;
--
2.36.1

View File

@ -1,36 +0,0 @@
From 2ebbc222603f92769b60412c4592e3fb2d6c8d00 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Thu, 1 Sep 2022 10:15:15 +0800
Subject: [PATCH] zypp: Don't refresh repos before searching
Refreshing repos should be done by calling "refresh-cache", not inside
backend_find_packages_thread.
This fixes the issue that GNOME Software calls multiple search-files
methods which takes very long time to finish. As most of the time was
spent refreshing repos multiple times.
https://bugzilla.suse.com/show_bug.cgi?id=1202796
---
backends/zypp/pk-backend-zypp.cpp | 5 -----
1 file changed, 5 deletions(-)
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index 62adbb8be..c87972079 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -3109,11 +3109,6 @@ backend_find_packages_thread (PkBackendJob *job, GVariant *params, gpointer user
return;
}
- // refresh the repos before searching
- if (!zypp_refresh_cache (job, zypp, FALSE)) {
- return;
- }
-
search = values[0]; //Fixme - support the possible multiple values (logical OR search)
role = pk_backend_job_get_role(job);
--
2.37.1

View File

@ -1,17 +0,0 @@
Index: PackageKit-1.2.5/backends/zypp/pk-backend-zypp.cpp
===================================================================
--- PackageKit-1.2.5.orig/backends/zypp/pk-backend-zypp.cpp
+++ PackageKit-1.2.5/backends/zypp/pk-backend-zypp.cpp
@@ -2940,6 +2940,12 @@ backend_remove_packages_thread (PkBacken
return;
}
PoolItem item(solvable);
+ if (item.status ().isLocked ()) {
+ zypp_backend_finished_error (job, PK_ERROR_ENUM_PACKAGE_FAILED_TO_REMOVE,
+ "Failed to remove %s: Locked package.",
+ solvable.name ().c_str ());
+ return;
+ }
if (solvable.isSystem ()) {
item.status ().setToBeUninstalled (ResStatus::USER);
items.push_back (item);

View File

@ -1,80 +0,0 @@
From bb1409a71a4872f3f13ca565c98a8be0b2dc77eb Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Fri, 6 Jan 2023 09:41:42 +0800
Subject: [PATCH] zypp: Fix ambiguous reference to 'filesystem' class
https://bugzilla.suse.com/show_bug.cgi?id=1206687
---
backends/zypp/pk-backend-zypp.cpp | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index bf9a7feca..67ea9abf7 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -611,7 +611,7 @@ ZyppJob::get_zypp()
/* TODO: we need to lifecycle manage this, detect changes
in the requested 'root' etc. */
if (!initialized) {
- filesystem::Pathname pathname("/");
+ zypp::filesystem::Pathname pathname("/");
zypp->initializeTarget (pathname);
initialized = TRUE;
@@ -1669,7 +1669,7 @@ zypp_refresh_cache (PkBackendJob *job, ZYpp::Ptr zypp, gboolean force)
if (zypp == NULL)
return FALSE;
- filesystem::Pathname pathname("/");
+ zypp::filesystem::Pathname pathname("/");
bool poolIsClean = sat::Pool::instance ().reposEmpty ();
// Erase and reload all if pool is too holey (densyity [100: good | 0 bad])
@@ -1855,7 +1855,7 @@ pk_backend_destroy (PkBackend *backend)
{
g_debug ("zypp_backend_destroy");
- filesystem::recursive_rmdir (zypp::myTmpDir ());
+ zypp::filesystem::recursive_rmdir (zypp::myTmpDir ());
g_free (_repoName);
delete priv;
@@ -2538,7 +2538,7 @@ backend_install_files_thread (PkBackendJob *job, GVariant *params, gpointer user
}
// create a temporary directory
- filesystem::TmpDir tmpDir;
+ zypp::filesystem::TmpDir tmpDir;
if (tmpDir == NULL) {
zypp_backend_finished_error (
job, PK_ERROR_ENUM_LOCAL_INSTALL_FAILED,
@@ -2561,7 +2561,7 @@ backend_install_files_thread (PkBackendJob *job, GVariant *params, gpointer user
// copy the rpm into tmpdir
string tempDest = tmpDir.path ().asString () + "/" + rpmHeader->tag_name () + ".rpm";
- if (filesystem::copy (full_paths[i], tempDest) != 0) {
+ if (zypp::filesystem::copy (full_paths[i], tempDest) != 0) {
zypp_backend_finished_error (
job, PK_ERROR_ENUM_LOCAL_INSTALL_FAILED,
"Could not copy the rpm-file into the temp-dir");
@@ -3924,7 +3924,7 @@ backend_download_packages_thread (PkBackendJob *job, GVariant *params, gpointer
PoolItem item(solvable);
size += 2 * make<ResObject>(solvable)->downloadSize();
- filesystem::Pathname repo_dir = solvable.repository().info().packagesPath();
+ zypp::filesystem::Pathname repo_dir = solvable.repository().info().packagesPath();
struct statfs stat;
statfs(repo_dir.c_str(), &stat);
if (size > stat.f_bavail * 4) {
@@ -3949,7 +3949,7 @@ backend_download_packages_thread (PkBackendJob *job, GVariant *params, gpointer
// be sure it ends with /
target += "/";
target += tmp_file->basename();
- filesystem::hardlinkCopy(tmp_file, target);
+ zypp::filesystem::hardlinkCopy(tmp_file, target);
const gchar *to_strv[] = { NULL, NULL };
to_strv[0] = target.c_str();
pk_backend_job_files (job, package_ids[i],(gchar **) to_strv);
--
2.38.1

View File

@ -1,39 +0,0 @@
From 27eb171c805eedcd121d174c5d89d5eb2f15a045 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Tue, 2 Aug 2022 09:23:18 +0800
Subject: [PATCH] zypp: build the pool before calling is_tumbleweed()
This makes sure that is_tumbleweed() returns the correct result.
---
backends/zypp/pk-backend-zypp.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index ecdfc9c89..62adbb8be 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -3563,6 +3563,10 @@ pk_backend_upgrade_system_thread (PkBackendJob *job,
return;
}
+ ResPool pool = zypp_build_pool (zypp, TRUE);
+ PkRestartEnum restart = PK_RESTART_ENUM_NONE;
+ PoolStatusSaver saver;
+
if (is_tumbleweed ()) {
pk_backend_job_error_code (job, PK_ERROR_ENUM_NOT_SUPPORTED,
"upgrade-system is not supported in Tumbleweed, use \"pkcon update\" instead.");
@@ -3579,10 +3583,6 @@ pk_backend_upgrade_system_thread (PkBackendJob *job,
return;
}
- ResPool pool = zypp_build_pool (zypp, TRUE);
- PkRestartEnum restart = PK_RESTART_ENUM_NONE;
- PoolStatusSaver saver;
-
/* Set environment variable ZYPP_REPO_RELEASEVER to target version. */
g_setenv ("ZYPP_REPO_RELEASEVER", release_ver, TRUE);
--
2.37.1

View File

@ -1,33 +0,0 @@
From 8843cdf4de151d6a515bb3c42ca02774573bb370 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Mon, 1 Aug 2022 10:08:19 +0800
Subject: [PATCH] zypp: restore pool status after simulating an update
Previously, when simulating an update, doUpgrade() or doUpdate() is
called. But the changes to the pool never got commited nor cancelled.
This leads to the result that locked packages are updated in a later
update/upgrade.
Fix that by restoring the ResPool status to the state before simulating
an update.
https://bugzilla.suse.com/show_bug.cgi?id=1199895
---
backends/zypp/pk-backend-zypp.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/backends/zypp/pk-backend-zypp.cpp b/backends/zypp/pk-backend-zypp.cpp
index 271cc0a6c..ecdfc9c89 100644
--- a/backends/zypp/pk-backend-zypp.cpp
+++ b/backends/zypp/pk-backend-zypp.cpp
@@ -3451,6 +3451,7 @@ upgrade_system (PkBackendJob *job,
if (!zypp_refresh_cache (job, zypp, FALSE)) {
return;
}
+ PoolStatusSaver saver;
zypp_get_updates (job, zypp, candidates);
if (candidates.empty ()) {
pk_backend_job_error_code (job, PK_ERROR_ENUM_NO_DISTRO_UPGRADE_DATA,
--
2.36.1

View File

@ -1,29 +0,0 @@
From 58c7c0285100c6c26f299571dac784e8495df357 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathankang@gnome.org>
Date: Wed, 3 Aug 2022 10:55:48 +0800
Subject: [PATCH] zypp: update libzypp dependency version
In commit dd1964255, we use the newly introduced
PoolItem::statusReinit() to reset pool items status. Since this is
introduced in version 17.31.0, update libzypp dependency version.
https://bugzilla.suse.com/show_bug.cgi?id=1199895
---
backends/zypp/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backends/zypp/meson.build b/backends/zypp/meson.build
index 84d5b6fbf..5957926dd 100644
--- a/backends/zypp/meson.build
+++ b/backends/zypp/meson.build
@@ -1,6 +1,6 @@
add_languages('cpp')
-zypp_dep = dependency('libzypp', version: '>=6.16.0')
+zypp_dep = dependency('libzypp', version: '>=17.31.0')
# define if libzypp returns package size in bytes
zypp_args = []
--
2.37.1

View File

@ -1,3 +1,64 @@
-------------------------------------------------------------------
Thu Nov 9 09:32:29 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
- Update to version 1.2.8:
+ Libraries:
- offline-updates:
. Make package update list deduplication more efficient.
. Add only one entry per package to 'offline-update-competed'
file.
- PkClient: Replace the GSimpleAsyncResult with the GTask API.
- pk-client:
. Fix use-before-set of PkProgress on cancellation.
. Move cancellable disconnect to dispose.
. Rework refcounting for PkClientState.
+ Backends: Changes to apt, dnf, PiSi and BSD backends.
- Changes from version 1.2.7:
+ New Features:
- pkclient: Add an option to count download size with
dependencies.
- pk-transaction: Add support for getting the RemainingTime
property.
+ Backends:
- zypp: Fix ambiguous reference to 'filesystem' class.
- Changes to dnf, apt, alpm backends.
- Changes from version 1.2.6:
+ New Features:
- Expose transaction sender as read-only property on the bus.
- pkmon: Display transaction sender binary name in log.
- pk-transaction: Add Packages signal.
- pk-transaction: Combine some D-Bus PropertiesChanged signal
emissions.
- pk-transaction: Add UpdateDetails signal.
+ Backends:
- zypp:
. implement upgrade-system method.
. Clean up trailing whitespaces.
. Avoid statuReset() on locked packages.
. restore pool status after simulating an update.
. Disable upgrade-system support in SLE.
. build the pool before calling is_tumbleweed().
. update libzypp dependency version.
. Don't refresh repos before searching.
. Check if packages are locked before removing.
. add repository data in package id.
. Remove trailing whitespace.
+ Changes to alpm, aptcc, apt, and nix backends.
- Rebase patches:
+ PackageKit-dnf-Add-support-for-AppStream-repodata-basenames-use.patch
+ PackageKit-dynamic-export.patch
+ PackageKit-zypp-disable-upgrade-system-in-sle.patch
- Drop upstream fixed patches:
+ PackageKit-zypp-add-repo-in-packageid.patch
+ PackageKit-zypp-add-upgrade-system.patch
+ PackageKit-zypp-avoid-statuReset.patch
+ PackageKit-zypp-dont-refresh-before-searching.patch
+ PackageKit-zypp-dont-remove-locked-packages.patch
+ PackageKit-zypp-fix-ambiguous-filesystem-reference.patch
+ PackageKit-zypp-fix-is-tumbleweed-check.patch
+ PackageKit-zypp-restore-pool-status-after-simulating-update.patch
+ PackageKit-zypp-update-libzypp-dependency-version.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Jul 17 13:28:33 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org> Mon Jul 17 13:28:33 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>

View File

@ -1,211 +1,220 @@
-----BEGIN PGP PUBLIC KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
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
AAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEG zML7qSsutB0p3nJIPlUT1psYroRwPgRN6270DWo7gEsckprHIvSNNTVJdmYoP4Nj
E1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RF 3BUr8rOkUOkJ/VwvY0KqzIge3d60OI1pZcJV/zaRBK8OKjJvmagGbBFQ4Rd7zc/r
RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKj AV4I14+qn5tfxAMxBvgwnSopRDIlzJerwR/UHPv4DCsGV95zlbE7ufxYDmnzJxFv
pKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP0 vqzzK98hQVvXLSvvvybE/4oonGFLe1yI7fwgQu9sx4HixqG4iQPHuIMHEUROj7gk
9fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgEC jybuqinu6ZS7tCdNYXR0aGlhcyBLbHVtcHAgPGttYXR0aGlhczEyQGdtYWlsLmNv
BAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLR bT6JAhwEEAEIAAYFAk5CU8UACgkQ7EsDPHAJatGDExAAk6dEHJN6mld8oE66ol5Z
ChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 I9MPsU0ou14OCfTj/fiWfmSLX2HVUN2ltAiRUgIAd9REd3WV7PRlpRIKhEXpd8Bk
dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbH 2eLDYg1JoW7IqnqaxvgzqsyTNKXdJo8YvSTzJzIu62wDUswgn9n+xhfjZ2xWUoNQ
yMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDtVhmb tFc0HqvjIvcP4pTUJVHsQaDb34RxQ7nVoJGLeSUW3O5rWU2OUhxfW5gjBVnjhLyK
0FSLaOfvNV4LS4rmJKq2a9yakFrGO1WAKpapq1lo1o11fTrFGo6nv7CgLFkQoozg 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
vEI5YQ== qeWOAAoJEC5cILs3kzv9z8MP/2nMutjsu8wqpIDWArsP6ZnJcdKYBDIR53HM/I6m
=PT+/ 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
L3QE
=7l2s
-----END PGP PUBLIC KEY BLOCK----- -----END PGP PUBLIC KEY BLOCK-----
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
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
=MNQw
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -32,7 +32,7 @@
%endif %endif
Name: PackageKit Name: PackageKit
Version: 1.2.5 Version: 1.2.8
Release: 0 Release: 0
Summary: Simple software installation management software Summary: Simple software installation management software
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -52,26 +52,8 @@ Patch2: PackageKit-remove-polkit-rules.patch
Patch3: PackageKit-dnf-Add-support-for-AppStream-repodata-basenames-use.patch Patch3: PackageKit-dnf-Add-support-for-AppStream-repodata-basenames-use.patch
# PATCH-FIX-UPSTREAM PackageKit-fix-crash-pre-dbus.patch gh#hughsie/PackageKit!436 -- Do not crash when calling pk_dbus_get_uid() before D-Bus is setup # PATCH-FIX-UPSTREAM PackageKit-fix-crash-pre-dbus.patch gh#hughsie/PackageKit!436 -- Do not crash when calling pk_dbus_get_uid() before D-Bus is setup
Patch4: PackageKit-fix-crash-pre-dbus.patch Patch4: PackageKit-fix-crash-pre-dbus.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-add-upgrade-system.patch gh#hughsie/PackageKit/commit/930dd201b sckang@suse.com -- zypp: implement upgrade-system method
Patch5: PackageKit-zypp-add-upgrade-system.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-avoid-statuReset.patch gh#PackageKit/PackageKit/commit/dd1964255, bsc#1199895 sckang@suse.com -- zypp: Avoid statuReset() on locked packages
Patch6: PackageKit-zypp-avoid-statuReset.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-disable-upgrade-system-in-sle.patch gh#PackageKit/PackageKit/commit/0fcd820c2 sckang@suse.com -- zypp: Disable upgrade-system support in SLE # PATCH-FIX-UPSTREAM PackageKit-zypp-disable-upgrade-system-in-sle.patch gh#PackageKit/PackageKit/commit/0fcd820c2 sckang@suse.com -- zypp: Disable upgrade-system support in SLE
Patch7: PackageKit-zypp-disable-upgrade-system-in-sle.patch Patch7: PackageKit-zypp-disable-upgrade-system-in-sle.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-restore-pool-status-after-simulating-update.patch gh#PackageKit/PackageKit/commit/2b61a6649, bsc#1199895 sckang@suse.com -- zypp: restore pool status after simulating an update
Patch8: PackageKit-zypp-restore-pool-status-after-simulating-update.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-fix-is-tumbleweed-check.patch gh#PackageKit/PackageKit/commit/146890153 sckang@suse.com -- zypp: build the pool before calling is_tumbleweed()
Patch9: PackageKit-zypp-fix-is-tumbleweed-check.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-update-libzypp-dependency-version.patch gh#PackageKit/PackageKit/commit/58c7c0285, bsc#1199895 sckang@suse.com -- zypp: update libzypp dependency version
Patch10: PackageKit-zypp-update-libzypp-dependency-version.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-dont-refresh-before-searching.patch gh#PackageKit/PackageKit/commit/7e700e217, bsc#1202796 sckang@suse.com -- zypp: Don't refresh repos before searching
Patch11: PackageKit-zypp-dont-refresh-before-searching.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-dont-remove-locked-packages.patch gh#PackageKit/PackageKit/commit/8649a07bc, bsc#1199895 sckang@suse.com -- zypp: Check if packages are locked before removing
Patch12: PackageKit-zypp-dont-remove-locked-packages.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-fix-package-id.patch gh#PackageKit/PackageKit/commit/8eb2ef0ae, bsc#1202585 sckang@suse.com -- zypp: add repository data in package id
Patch13: PackageKit-zypp-add-repo-in-packageid.patch
# PATCH-FIX-UPSTREAM PackageKit-zypp-fix-ambiguous-filesystem-reference.patch gh#PackageKit/PackageKit/commit/bb1409a71, bsc#1206687 sckang@suse.com -- zypp: Fix ambiguous reference to 'filesystem' class
Patch14: PackageKit-zypp-fix-ambiguous-filesystem-reference.patch
# PATCH-FIX-UPSTREAM PackageKit-fix-pkcon-permission.patch gh#PackageKit/PackageKit/commit/47b7f97bc, bsc#1209138 sckang@suse.com -- trivial: Drop unnecessary x permission # PATCH-FIX-UPSTREAM PackageKit-fix-pkcon-permission.patch gh#PackageKit/PackageKit/commit/47b7f97bc, bsc#1209138 sckang@suse.com -- trivial: Drop unnecessary x permission
Patch15: PackageKit-fix-pkcon-permission.patch Patch15: PackageKit-fix-pkcon-permission.patch
# PATCH-FIX-UPSTREAM PackageKit-dynamic-export.patch boo#1213309 dimstar@opensuse.org -- Fix loading modules when built with glib 2.70 # PATCH-FIX-UPSTREAM PackageKit-dynamic-export.patch boo#1213309 dimstar@opensuse.org -- Fix loading modules when built with glib 2.70
@ -90,6 +72,7 @@ BuildRequires: libcppunit-devel
%if %{with dnf} %if %{with dnf}
BuildRequires: appstream-glib-devel BuildRequires: appstream-glib-devel
BuildRequires: libdnf-devel >= 0.43.1 BuildRequires: libdnf-devel >= 0.43.1
BuildRequires: pkgconfig(appstream)
%endif %endif
BuildRequires: libgudev-1_0-devel BuildRequires: libgudev-1_0-devel
BuildRequires: libtool BuildRequires: libtool
@ -411,6 +394,7 @@ fi
%verify(not md5 size mtime) %{_datadir}/PackageKit/transactions.db %verify(not md5 size mtime) %{_datadir}/PackageKit/transactions.db
%{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy %{_datadir}/polkit-1/actions/org.freedesktop.packagekit.policy
%{_datadir}/dbus-1/system-services/* %{_datadir}/dbus-1/system-services/*
%{_datadir}/metainfo/org.freedesktop.packagekit.metainfo.xml
%{_unitdir}/packagekit.service %{_unitdir}/packagekit.service
%{_unitdir}/packagekit-background.service %{_unitdir}/packagekit-background.service
%{_unitdir}/packagekit-background.timer %{_unitdir}/packagekit-background.timer
@ -434,6 +418,8 @@ fi
%if %{with dnf} %if %{with dnf}
%files backend-dnf %files backend-dnf
%{_libdir}/packagekit-backend/libpk_backend_dnf.so %{_libdir}/packagekit-backend/libpk_backend_dnf.so
%{_libexecdir}/packagekit-dnf-refresh-repo
%{python3_sitelib}/dnf-plugins/
%endif %endif
%if %{with cnf} %if %{with cnf}