diff --git a/extra-repos/systemd/systemd/41416.patch b/extra-repos/systemd/systemd/41416.patch deleted file mode 100644 index 88faa68f7..000000000 --- a/extra-repos/systemd/systemd/41416.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a353bb060e79137e8d2b26a5ec030c23080d7cb6 Mon Sep 17 00:00:00 2001 -From: Valentin David -Date: Mon, 30 Mar 2026 09:49:13 +0200 -Subject: [PATCH] sysupdate: Ignore resources that are not pending - -`updatectl enable --now` systematically fails because the update phase find -resources that are not pending. So instead we should ignore them. - -Fixes #41254 ---- - src/sysupdate/sysupdate-transfer.c | 6 ++++-- - test/units/TEST-72-SYSUPDATE.sh | 2 +- - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/sysupdate/sysupdate-transfer.c b/src/sysupdate/sysupdate-transfer.c -index 46f3129f5d993..35c0e05083bdf 100644 ---- a/src/sysupdate/sysupdate-transfer.c -+++ b/src/sysupdate/sysupdate-transfer.c -@@ -1609,8 +1609,10 @@ int transfer_process_partial_and_pending_instance(Transfer *t, Instance *i) { - - /* Does this instance already exist in the target but isn’t pending? */ - existing = resource_find_instance(&t->target, i->metadata.version); -- if (existing && !existing->is_pending) -- return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Failed to acquire '%s', instance is already in the target but is not pending.", i->path); -+ if (existing && !existing->is_pending) { -+ log_info("Resource '%s' instance is already in the target but is not pending.", i->path); -+ return 0; -+ } - - /* All we need to do is compute the temporary paths. We don’t need to do any of the other work in - * transfer_acquire_instance(). */ -diff --git a/test/units/TEST-72-SYSUPDATE.sh b/test/units/TEST-72-SYSUPDATE.sh -index fc83a42e55d66..b929485bd5b6c 100755 ---- a/test/units/TEST-72-SYSUPDATE.sh -+++ b/test/units/TEST-72-SYSUPDATE.sh -@@ -352,7 +352,7 @@ EOF - mkdir "$CONFIGDIR/optional.feature.d" - echo -e "[Feature]\nEnabled=true" > "$CONFIGDIR/optional.feature.d/enable.conf" - "$SYSUPDATE" --offline list v5 | grep "incomplete" >/dev/null -- update_now "monolithic" -+ update_now "$update_type" - "$SYSUPDATE" --offline list v5 | grep -v "incomplete" >/dev/null - verify_version "$blockdev" "$sector_size" v3 1 - verify_version_current "$blockdev" "$sector_size" v5 2 diff --git a/extra-repos/systemd/systemd/41418.patch b/extra-repos/systemd/systemd/41418.patch deleted file mode 100644 index 5241d3f3f..000000000 --- a/extra-repos/systemd/systemd/41418.patch +++ /dev/null @@ -1,29 +0,0 @@ -From f933badfd5250ecdf40d6ee84d96f2f618edbed4 Mon Sep 17 00:00:00 2001 -From: Valentin David -Date: Mon, 30 Mar 2026 09:54:38 +0200 -Subject: [PATCH] discover-image: Ignore sysupdate temporary files - -Sysupdate temporary file names do not match their extension-release names. So -they will always fail. That makes enabling any other sysexts/confexts fail -which has catastrophic consequences. Unfortunately since 260, sysupdate -leaves temporary files for long time instead just while downloading. So -this kind of failure now happens much more often. ---- - src/shared/discover-image.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/shared/discover-image.c b/src/shared/discover-image.c -index 6b4493b960b60..6b9954913498c 100644 ---- a/src/shared/discover-image.c -+++ b/src/shared/discover-image.c -@@ -1112,6 +1112,10 @@ int image_discover( - if (dot_or_dot_dot(fname)) - continue; - -+ /* Ignore sysupdate temporary files */ -+ if (startswith(fname, ".sysupdate.")) -+ continue; -+ - fname_path = path_join(search_path, fname); - if (!fname_path) - return -ENOMEM; diff --git a/extra-repos/systemd/systemd/41419.patch b/extra-repos/systemd/systemd/41419.patch deleted file mode 100644 index 3f641c762..000000000 --- a/extra-repos/systemd/systemd/41419.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 0505651ef133d5e9b03bc12359a897d7430eaa00 Mon Sep 17 00:00:00 2001 -From: Valentin David -Date: Mon, 30 Mar 2026 10:07:04 +0200 -Subject: [PATCH] sysupdated: Accept "current+pending" key - -Since 594d0345fa997446b4c2dcfbccf3f83257bb55a3 the key for -current version might be "current+pending". So in order not to fail -we need to accept it. - -Fixes #41409 ---- - src/sysupdate/sysupdated.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/sysupdate/sysupdated.c b/src/sysupdate/sysupdated.c -index fde6124e849dc..f387494b58051 100644 ---- a/src/sysupdate/sysupdated.c -+++ b/src/sysupdate/sysupdated.c -@@ -1334,7 +1334,9 @@ static int target_method_get_version(sd_bus_message *msg, void *userdata, sd_bus - - version_json = sd_json_variant_by_key(v, "current"); - if (!version_json) -- return log_sysupdate_bad_json(SYNTHETIC_ERRNO(EPROTO), "list", "Missing key 'current'"); -+ version_json = sd_json_variant_by_key(v, "current+pending"); -+ if (!version_json) -+ return log_sysupdate_bad_json(SYNTHETIC_ERRNO(EPROTO), "list", "Missing key 'current' or 'current+pending'"); - - if (sd_json_variant_is_null(version_json)) - return sd_bus_reply_method_return(msg, "s", ""); diff --git a/extra-repos/systemd/systemd/41483.patch b/extra-repos/systemd/systemd/41483.patch deleted file mode 100644 index 2268270ec..000000000 --- a/extra-repos/systemd/systemd/41483.patch +++ /dev/null @@ -1,55 +0,0 @@ -From bfb0bfeff0cc38c8b5803437c7f413199fda043d Mon Sep 17 00:00:00 2001 -From: Clayton Craft -Date: Thu, 2 Apr 2026 10:06:51 -0700 -Subject: [PATCH] updatectl: fix unexpected polkit prompt on update - -When running `updatectl update` since f0b2ea63, Install() was called -with the version resolved by Acquire() rather than the originally -requested (empty) version, causing the stricter update-to-version polkit -action to be used instead of the update polkit action. ---- - src/sysupdate/updatectl.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/src/sysupdate/updatectl.c b/src/sysupdate/updatectl.c -index 86561cf1c734d..636a3f064b94f 100644 ---- a/src/sysupdate/updatectl.c -+++ b/src/sysupdate/updatectl.c -@@ -75,6 +75,8 @@ typedef struct Operation { - - /* Only used for Acquire()/Install() operations: */ - char *acquired_version; -+ /* The version the user requested, possibly empty */ -+ char *requested_version; - } Operation; - - static Operation* operation_free(Operation *p) { -@@ -90,6 +92,7 @@ static Operation* operation_free(Operation *p) { - - free(p->job_path); - free(p->acquired_version); -+ free(p->requested_version); - - sd_event_source_disable_unref(p->job_interrupt_source); - sd_bus_slot_unref(p->job_properties_slot); -@@ -1068,7 +1071,7 @@ static int update_acquire_finished(sd_bus_message *m, void *userdata, sd_bus_err - update_install_started, - op, - "st", -- op->acquired_version, -+ op->requested_version, - 0LU); - if (r < 0) - return log_bus_error(r, NULL, op->target_id, "call Install"); -@@ -1246,6 +1249,11 @@ static int do_update(sd_bus *bus, char **targets) { - 0LU); - if (r < 0) - return log_bus_error(r, NULL, targets[i], "call Acquire"); -+ -+ op->requested_version = strdup(versions[i]); -+ if (!op->requested_version) -+ return log_oom(); -+ - TAKE_PTR(op); - - remaining++; diff --git a/extra-repos/systemd/systemd/APKBUILD b/extra-repos/systemd/systemd/APKBUILD index 506e62ff4..c306e1630 100644 --- a/extra-repos/systemd/systemd/APKBUILD +++ b/extra-repos/systemd/systemd/APKBUILD @@ -7,9 +7,9 @@ maintainer="Clayton Craft " pkgname=systemd -pkgver=260.1 +pkgver=261_rc2 _pkgver="${pkgver/_/-}" -pkgrel=6 +pkgrel=0 pkgdesc="System and service manager" url="https://github.com/systemd/systemd" # armhf: no linux-stable @@ -59,6 +59,7 @@ makedepends=" libqrencode-dev libseccomp-dev libselinux-dev + libucontext-dev libxkbcommon-dev linux-pam-dev linux-stable-dev @@ -157,12 +158,8 @@ subpackages=" source="$pkgname-$pkgver.tar.gz::https://github.com/systemd/systemd/archive/refs/tags/v$_pkgver.tar.gz wired.network - - 41416.patch - 41418.patch - 41419.patch - 41483.patch " +builddir="$srcdir/$pkgname-$_pkgver" _bashcomp="usr/share/bash-completion/completions" _zshcomp="usr/share/zsh/site-functions" @@ -226,6 +223,7 @@ build() { -Dhibernate=false \ -Dselinux=disabled \ -Dsysvinit-path="" \ + -Dukify=disabled \ \ -Dhomed=disabled \ -Duserdb=false \ @@ -531,10 +529,6 @@ _resolve_packages() { sha512sums=" -9f975dce6861853a817a7ceab18a24449a85d1bda6939b3a5173430c02a4d8a9a2b34ebb8cce1c51db9b0ff9078fcc65da7b0f44e3bdcbbe013b9e04bb6f0ff9 systemd-260.1.tar.gz +4a46d24b4b4dd386a3077669b74fc4f98be064d19b72089d271724c097eb0c6d07a1cc9322fdcb7d501135e51d2f1dda01eb90bbfbda0aecabc900fefb1b8aa0 systemd-261_rc2.tar.gz 81c897fed8a3fbfb67ec591b2398a5d65e4af1b3ef379376c157c98d71f085b707f8ebc896d5571a94f99f8fc84fd6b43e3b879ca9b0d57fc6c4596034c7a777 wired.network -c33c552c6b8c74d3c15f339ec0ebc6d179022f18ba13d8524ce22e9311deb4bbba369a3a737222c9954817398c44998f3169f7f55122d6ee7b96f7d3fd6bcc78 41416.patch -ca2f3a1326b3367aef0c1961c6dbbce0659b81ef39a0a546db69129b2edeba2f5141a663ae0d926bca96d7a9d1d09c7d840c63165f317f778a489b44f9b431c6 41418.patch -394fb47e88f5ae766ffcb226bd55df25771e45099ba3cbed6b034e9a36a77a13029d24b2e2f27ef6624f6dfb87f1165da4654d4043fe8b88bcd34d81f786f902 41419.patch -cb564eec45452df51eb8cbca8f8f92f1715d20867ac156c4b3d9b453862a328b8bde98948978d8de05e9c3e49a6c21b3bc5c0a128273b6d814a435ad7bd41d5c 41483.patch "