* update packagekit to 1.3.0-1

This commit is contained in:
Alexander Baldeck 2024-10-10 13:17:45 +02:00
parent 1a1829b19f
commit df269d9e95
5 changed files with 231 additions and 85 deletions

44
packagekit/.SRCINFO Normal file
View File

@ -0,0 +1,44 @@
pkgbase = packagekit
pkgdesc = A system designed to make installation and updates of packages easier
pkgver = 1.3.0
pkgrel = 1
url = https://www.freedesktop.org/software/PackageKit/
arch = powerpc64le
arch = powerpc64
arch = powerpc
arch = riscv64
license = GPL-2.0-or-later
makedepends = bash-completion
makedepends = glib2-devel
makedepends = gobject-introspection
makedepends = intltool
makedepends = meson
makedepends = polkit
makedepends = python-setuptools
makedepends = sqlite
makedepends = vala
options = !emptydirs
source = https://www.freedesktop.org/software/PackageKit/releases/PackageKit-1.3.0.tar.xz
source = packagekit-alpm-15.patch
source = archpower.patch
validpgpkeys = 163EB50119225DB3DF8F49EA17ACBA8DFA970E17
validpgpkeys = EC60AABDF42AAE8FB062640480858FA38F62AF74
sha256sums = f929a9be395e94ba5b0351c3e95f09212324af12b9c30a3a6d255c443b74e0e6
sha256sums = fb59657d36915c392e38173a6ad04de45eb646c1fd6288c2b76f5f1745a6f5ea
sha256sums = a986af7a4663d679031b3592a11207697cb0de8decb5573c1f56255af681bb53
pkgname = packagekit
depends = libpackagekit-glib
depends = pacman
depends = libalpm.so
depends = polkit
depends = sqlite
optdepends = bash-completion: command completion in bash
backup = var/lib/PackageKit/transactions.db
backup = etc/PackageKit/alpm.d/pacman.conf
backup = etc/PackageKit/alpm.d/repos.list
pkgname = libpackagekit-glib
pkgdesc = GLib library for accessing PackageKit
depends = glib2
provides = libpackagekit-glib2.so

View File

@ -0,0 +1,4 @@
[packagekit]
source = "git"
git = "https://github.com/PackageKit/PackageKit.git"
prefix = "v"

View File

@ -1,74 +0,0 @@
From 40728db86389fa1254258ae60b462a9f8acf2786 Mon Sep 17 00:00:00 2001
From: Jelle van der Waa <jelle@archlinux.org>
Date: Fri, 8 Mar 2024 18:06:46 +0100
Subject: [PATCH] alpm: add compatibility with libalpm 14
In libalpm alpm_conflict_t package struct members are now of type
alpm_pkg_t instead of char*.
Don't crash on the new directive CacheServer.
---
backends/alpm/meson.build | 2 +-
backends/alpm/pk-alpm-config.c | 5 +++++
backends/alpm/pk-alpm-transaction.c | 15 +++++++++------
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/backends/alpm/meson.build b/backends/alpm/meson.build
index eb4d5b373..50301466a 100644
--- a/backends/alpm/meson.build
+++ b/backends/alpm/meson.build
@@ -1,4 +1,4 @@
-alpm_dep = dependency('libalpm', version: '>=13.0.0')
+alpm_dep = dependency('libalpm', version: '>=14.0.0')
shared_module(
'pk_backend_alpm',
diff --git a/backends/alpm/pk-alpm-config.c b/backends/alpm/pk-alpm-config.c
index c96b4e167..3954a45fb 100644
--- a/backends/alpm/pk-alpm-config.c
+++ b/backends/alpm/pk-alpm-config.c
@@ -615,6 +615,11 @@ pk_alpm_config_parse (PkAlpmConfig *config, const gchar *filename,
continue;
}
+ if (g_strcmp0 (key, "CacheServer") == 0 && str != NULL) {
+ /* Ignore "CacheServer" key instead of crashing */
+ continue;
+ }
+
/* report errors from above */
g_set_error (&e, PK_ALPM_ERROR, PK_ALPM_ERR_CONFIG_INVALID,
"unrecognised directive '%s'", key);
diff --git a/backends/alpm/pk-alpm-transaction.c b/backends/alpm/pk-alpm-transaction.c
index 58f996067..bc1273375 100644
--- a/backends/alpm/pk-alpm-transaction.c
+++ b/backends/alpm/pk-alpm-transaction.c
@@ -865,16 +865,19 @@ pk_alpm_conflict_build_list (const alpm_list_t *i)
alpm_conflict_t *conflict = (alpm_conflict_t *) i->data;
alpm_depend_t *depend = conflict->reason;
- if (g_strcmp0 (conflict->package1, depend->name) == 0 ||
- g_strcmp0 (conflict->package2, depend->name) == 0) {
+ const char *package_name1 = alpm_pkg_get_name (conflict->package1);
+ const char *package_name2 = alpm_pkg_get_name (conflict->package2);
+
+ if (g_strcmp0 (package_name1, depend->name) == 0 ||
+ g_strcmp0 (package_name2, depend->name) == 0) {
g_string_append_printf (list, "%s <-> %s, ",
- conflict->package1,
- conflict->package2);
+ package_name1,
+ package_name2);
} else {
char *reason = alpm_dep_compute_string (depend);
g_string_append_printf (list, "%s <-> %s (%s), ",
- conflict->package1,
- conflict->package2, reason);
+ package_name1,
+ package_name2, reason);
free (reason);
}
}
--
2.44.0

View File

@ -4,29 +4,36 @@
pkgbase='packagekit'
pkgname=('packagekit' 'libpackagekit-glib')
pkgver=1.2.8
pkgrel=8
pkgver=1.3.0
pkgrel=1
pkgdesc='A system designed to make installation and updates of packages easier'
arch=(powerpc64le powerpc64 powerpc riscv64)
url='https://www.freedesktop.org/software/PackageKit/'
license=('GPL-2.0-or-later')
makedepends=('polkit' 'sqlite' 'gobject-introspection' 'intltool'
'bash-completion' 'vala' 'meson' 'python-setuptools')
makedepends=('bash-completion'
'glib2-devel'
'gobject-introspection'
'intltool'
'meson'
'polkit'
'python-setuptools'
'sqlite'
'vala')
options=('!emptydirs')
validpgpkeys=('163EB50119225DB3DF8F49EA17ACBA8DFA970E17' # Richard Hughes <richard@hughsie.com>
'EC60AABDF42AAE8FB062640480858FA38F62AF74') # Kalev Lember <klember@redhat.com>
source=("https://www.freedesktop.org/software/PackageKit/releases/PackageKit-${pkgver}.tar.xz"
"0001-alpm-add-compatibility-with-libalpm-14.patch"
"archpower.patch")
sha256sums=('d834250a0f121483027db2cfd93e8b2cba8dc48ff854395bfd88aa9511898be4'
'2a75223614fceffe12e2c5cbc8534a927be583f798cd7a5fbd41348b464ecbf7'
packagekit-alpm-15.patch
archpower.patch)
sha256sums=('f929a9be395e94ba5b0351c3e95f09212324af12b9c30a3a6d255c443b74e0e6'
'fb59657d36915c392e38173a6ad04de45eb646c1fd6288c2b76f5f1745a6f5ea'
'a986af7a4663d679031b3592a11207697cb0de8decb5573c1f56255af681bb53')
prepare() {
cd PackageKit-${pkgver}
patch -Np1 -i $srcdir/0001-alpm-add-compatibility-with-libalpm-14.patch
patch -p1 -i ../packagekit-alpm-15.patch
patch -Np1 -i $srcdir/archpower.patch
patch -p1 -i ../archpower.patch
}
build() {
@ -45,7 +52,7 @@ build() {
}
package_packagekit() {
depends=('libpackagekit-glib' 'pacman>=6.0.0' 'polkit' 'sqlite')
depends=('libpackagekit-glib' 'pacman' 'libalpm.so' 'polkit' 'sqlite')
optdepends=('bash-completion: command completion in bash')
backup=('var/lib/PackageKit/transactions.db'
'etc/PackageKit/alpm.d/pacman.conf'

View File

@ -0,0 +1,165 @@
From f3319c390b5628962611d1bba7fca6194747d8be Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 10 Sep 2024 14:25:04 +0200
Subject: [PATCH 1/4] alpm: drop unused variable
---
backends/alpm/pk-alpm-update.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/backends/alpm/pk-alpm-update.c b/backends/alpm/pk-alpm-update.c
index e898bc965..acd424135 100644
--- a/backends/alpm/pk-alpm-update.c
+++ b/backends/alpm/pk-alpm-update.c
@@ -373,7 +373,6 @@ static alpm_pkg_t *
pk_alpm_pkg_find_update (alpm_pkg_t *pkg, const alpm_list_t *dbs)
{
const gchar *name;
- const alpm_list_t *i;
g_return_val_if_fail (pkg != NULL, NULL);
From a42b5afcc8ae9926050e3926f92ec269b7446b65 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 10 Sep 2024 14:34:07 +0200
Subject: [PATCH 2/4] alpm: fix mixed declarations and code
---
backends/alpm/pk-alpm-sync.c | 3 ++-
backends/alpm/pk-alpm-update.c | 6 ++++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/backends/alpm/pk-alpm-sync.c b/backends/alpm/pk-alpm-sync.c
index 191287325..64ab1c295 100644
--- a/backends/alpm/pk-alpm-sync.c
+++ b/backends/alpm/pk-alpm-sync.c
@@ -44,6 +44,7 @@ pk_alpm_transaction_sync_targets (PkBackendJob *job, const gchar **packages, gbo
g_auto(GStrv) package = pk_package_id_split (*packages);
gchar *repo = package[PK_PACKAGE_ID_DATA];
gchar *name = package[PK_PACKAGE_ID_NAME];
+ alpm_pkg_t *dep_to_remove;
const alpm_list_t *i = alpm_get_syncdbs (priv->alpm);
alpm_pkg_t *pkg;
@@ -61,7 +62,7 @@ pk_alpm_transaction_sync_targets (PkBackendJob *job, const gchar **packages, gbo
}
pkg = alpm_db_get_pkg (i->data, name);
- alpm_pkg_t *dep_to_remove = pk_alpm_pkg_replaces(priv->localdb, pkg);
+ dep_to_remove = pk_alpm_pkg_replaces(priv->localdb, pkg);
if (dep_to_remove) {
g_debug("scheduling to remove %s for %s", alpm_pkg_get_name(dep_to_remove), name);
alpm_remove_pkg(priv->alpm, dep_to_remove);
diff --git a/backends/alpm/pk-alpm-update.c b/backends/alpm/pk-alpm-update.c
index acd424135..7976cc01e 100644
--- a/backends/alpm/pk-alpm-update.c
+++ b/backends/alpm/pk-alpm-update.c
@@ -285,6 +285,7 @@ pk_alpm_update_databases (PkBackendJob *job, gint force, GError **error)
PkBackend *backend = pk_backend_job_get_backend (job);
PkBackendAlpmPrivate *priv = pk_backend_get_user_data (backend);
alpm_list_t *i;
+ int ret;
if (!pk_alpm_transaction_initialize (job, 0, NULL, error))
return FALSE;
@@ -293,7 +294,7 @@ pk_alpm_update_databases (PkBackendJob *job, gint force, GError **error)
pk_backend_job_set_status (job, PK_STATUS_ENUM_DOWNLOAD_PACKAGELIST);
i = alpm_get_syncdbs (priv->alpm);
- int ret = pk_alpm_refresh_databases(job, force, i, error);
+ ret = pk_alpm_refresh_databases(job, force, i, error);
if (i == NULL)
return pk_alpm_transaction_end (job, error);
@@ -355,9 +356,10 @@ static int dep_vercmp(const char *version1, alpm_depmod_t mod,
alpm_pkg_t *
pk_alpm_pkg_replaces (alpm_db_t *db, alpm_pkg_t *pkg)
{
+ gboolean ret = FALSE;
+
g_return_val_if_fail (db != NULL, FALSE);
g_return_val_if_fail (pkg != NULL, FALSE);
- gboolean ret = FALSE;
for (alpm_list_t *list = alpm_pkg_get_replaces (pkg); list != NULL && !ret; list = list->next) {
alpm_depend_t *depend = list->data;
From 57d60d60dc17f332f7b96644ce73805f2c30a6d1 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 10 Sep 2024 14:56:32 +0200
Subject: [PATCH 3/4] alpm: fix function declaration prototype
---
backends/alpm/pk-alpm-transaction.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backends/alpm/pk-alpm-transaction.c b/backends/alpm/pk-alpm-transaction.c
index bc1273375..2ff5d33f3 100644
--- a/backends/alpm/pk-alpm-transaction.c
+++ b/backends/alpm/pk-alpm-transaction.c
@@ -361,7 +361,7 @@ pk_alpm_transaction_conv_cb (void *ctx, alpm_question_t *question)
}
static void
-pk_alpm_transaction_output_end ()
+pk_alpm_transaction_output_end (void)
{
tpkg = NULL;
From f9f0222625e9cbfd476138374bf6c37488337a4a Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Tue, 10 Sep 2024 14:48:07 +0200
Subject: [PATCH 4/4] alpm: ignore new options...
... instead of crashing. Also increase required libalpm version to >=15.0.0.
---
backends/alpm/meson.build | 2 +-
backends/alpm/pk-alpm-config.c | 16 +++++++++++-----
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/backends/alpm/meson.build b/backends/alpm/meson.build
index 50301466a..d5838c3b3 100644
--- a/backends/alpm/meson.build
+++ b/backends/alpm/meson.build
@@ -1,4 +1,4 @@
-alpm_dep = dependency('libalpm', version: '>=14.0.0')
+alpm_dep = dependency('libalpm', version: '>=15.0.0')
shared_module(
'pk_backend_alpm',
diff --git a/backends/alpm/pk-alpm-config.c b/backends/alpm/pk-alpm-config.c
index 3954a45fb..a7997e3b6 100644
--- a/backends/alpm/pk-alpm-config.c
+++ b/backends/alpm/pk-alpm-config.c
@@ -605,18 +605,24 @@ pk_alpm_config_parse (PkAlpmConfig *config, const gchar *filename,
continue;
}
- if (g_strcmp0 (key, "Usage") == 0 && str != NULL) {
- /* Ignore "Usage" key instead of crashing */
+ /* ignore these instead of crashing */
+ if (g_strcmp0 (key, "CacheServer") == 0 && str != NULL) {
+ continue;
+ }
+
+ if (g_strcmp0 (key, "DisableSandbox") == 0) {
+ continue;
+ }
+
+ if (g_strcmp0 (key, "DownloadUser") == 0 && str != NULL) {
continue;
}
if (g_strcmp0 (key, "ParallelDownloads") == 0 && str != NULL) {
- /* Ignore "ParallelDownloads" key instead of crashing */
continue;
}
- if (g_strcmp0 (key, "CacheServer") == 0 && str != NULL) {
- /* Ignore "CacheServer" key instead of crashing */
+ if (g_strcmp0 (key, "Usage") == 0 && str != NULL) {
continue;
}