summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMerlin Jehli2024-06-19 13:05:18 +0200
committerMerlin Jehli2024-06-19 13:05:18 +0200
commita568bdeead25ba35fbbc99aeb80630f754544994 (patch)
treeec108cb25ea378fc5d1893d39ba300a776973c83
parent568accc920566ac3dfe5234c57beb0cfaf2f2ef2 (diff)
downloadaur-a568bdeead25ba35fbbc99aeb80630f754544994.tar.gz
update to 256.1
-rw-r--r--.SRCINFO33
-rw-r--r--0002_added_machine_id_firmware_option.patch276
-rw-r--r--PKGBUILD47
-rw-r--r--systemd.install17
4 files changed, 201 insertions, 172 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f946be3ec50f..c3d8a481331a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = systemd-fml
- pkgdesc = systemd-stable with machine id from hw patch: https://github.com/systemd/systemd/pull/32086
- pkgver = 255.7
+ pkgdesc = systemd with machine id from hw patch: https://github.com/systemd/systemd/pull/32086
+ pkgver = 256.1
pkgrel = 1
url = https://www.github.com/systemd/systemd
arch = x86_64
@@ -53,7 +53,7 @@ pkgbase = systemd-fml
makedepends = lib32-gcc-libs
makedepends = python-pefile
conflicts = mkinitcpio<38-1
- source = systemd-fml-stable::git+https://github.com/systemd/systemd-stable#tag=v255.7
+ source = git+https://github.com/systemd/systemd#tag=v256.1?signed
source = 0001-Use-Arch-Linux-device-access-groups.patch
source = 0002_added_machine_id_firmware_option.patch
source = arch.conf
@@ -75,9 +75,9 @@ pkgbase = systemd-fml
validpgpkeys = A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E
validpgpkeys = 9A774DB5DB996C154EBBFBFDA0099A18E29326E1
validpgpkeys = 5C251B5FC54EB2F80F407AAAC54CA336CFEB557E
- sha512sums = 224648e176fe48d0cb96ac740b4f239e7ddbbb6aed6299976f1df2d5825757021c7be243d187446c274715214c8175bf925ebb27eece18a02ce1884bac2c1f20
+ sha512sums = 1ba38dd45cd910c7a2b4c7f23f982c5b0e5b13cd5874571ebc9b609ff85c058cecdb61019141ef2010fd4882c3ffc5a13a2b0d6370db4067ad90c28b83de6760
sha512sums = 3ccf783c28f7a1c857120abac4002ca91ae1f92205dcd5a84aff515d57e706a3f9240d75a0a67cff5085716885e06e62597baa86897f298662ec36a940cf410e
- sha512sums = d2535a89e9b2326cd82e18ed4cc0e3acfb2dbac2431f64f4b9e1a4eb2fc54b4572a3ce6e480952bf5e920bb485e174eccb365667d4e433d235e5ef0649438d1c
+ sha512sums = fdebd3f46e3eb9821c78c29d176ff6f91ed383e948a8f06122fda41a9fb0e194374d27bb5b3cbc0e657460e4b9e614dc4937f074094893de2525265173afa364
sha512sums = 61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648
sha512sums = c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5
sha512sums = 5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75
@@ -101,6 +101,7 @@ pkgname = systemd-fml
license = CC0-1.0
license = GPL-2.0-or-later
license = MIT-0
+ depends = systemd-libs=256.1
depends = acl
depends = libacl.so
depends = bash
@@ -110,14 +111,12 @@ pkgname = systemd-fml
depends = dbus-units
depends = kbd
depends = kmod
- depends = libkmod.so
depends = hwdata
depends = libcap
depends = libcap.so
depends = libgcrypt
depends = libxcrypt
depends = libcrypt.so
- depends = systemd-libs
depends = libidn2
depends = lz4
depends = pam
@@ -149,9 +148,9 @@ pkgname = systemd-fml
optdepends = libp11-kit: support PKCS#11
optdepends = tpm2-tss: unlocking LUKS2 volumes with TPM2
provides = nss-myhostname
- provides = systemd-tools=255.7
- provides = udev=255.7
- provides = systemd=255.7
+ provides = systemd-tools=256.1
+ provides = udev=256.1
+ provides = systemd=256.1
conflicts = nss-myhostname
conflicts = systemd-tools
conflicts = udev
@@ -192,35 +191,35 @@ pkgname = systemd-libs-fml
provides = libsystemd
provides = libsystemd.so
provides = libudev.so
- provides = systemd-libs=255.7
+ provides = systemd-libs=256.1
conflicts = libsystemd
conflicts = systemd-libs
replaces = libsystemd
pkgname = systemd-resolvconf-fml
pkgdesc = systemd resolvconf replacement (for use with systemd-resolved)
- depends = systemd
+ depends = systemd=256.1
provides = openresolv
provides = resolvconf
- provides = systemd-resolvconf=255.7
+ provides = systemd-resolvconf=256.1
conflicts = resolvconf
conflicts = systemd-resolvconf
pkgname = systemd-sysvcompat-fml
pkgdesc = sysvinit compat for systemd
- depends = systemd
- provides = systemd-sysvcompat=255.7
+ depends = systemd=256.1
+ provides = systemd-sysvcompat=256.1
conflicts = sysvinit
conflicts = systemd-sysvcompat
pkgname = systemd-ukify-fml
pkgdesc = Combine kernel and initrd into a signed Unified Kernel Image
+ depends = systemd=256.1
depends = binutils
depends = python-cryptography
depends = python-pefile
- depends = systemd
optdepends = python-pillow: Show the size of splash image
optdepends = sbsigntools: Sign the embedded kernel
provides = ukify
- provides = systemd-ukify=255.7
+ provides = systemd-ukify=256.1
conflicts = systemd-ukify
diff --git a/0002_added_machine_id_firmware_option.patch b/0002_added_machine_id_firmware_option.patch
index d389ebc1de41..575ae23268f0 100644
--- a/0002_added_machine_id_firmware_option.patch
+++ b/0002_added_machine_id_firmware_option.patch
@@ -1,218 +1,218 @@
+Subject: [PATCH] added systemd.machine_id=firmware option
+---
+Index: man/machine-id.xml
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/man/machine-id.xml b/man/machine-id.xml
+--- a/man/machine-id.xml (revision 051d462b42fe6c27824046c15cd3c84fa5afe05b)
++++ b/man/machine-id.xml (revision 21004b30bf831859d1743658915bce0fbd500e74)
+@@ -102,7 +102,8 @@
+ value of the kernel command line option <varname>container_uuid</varname>, the KVM DMI
+ <filename>product_uuid</filename> or the devicetree <filename>vm,uuid</filename>
+ (on KVM systems), the Xen hypervisor <filename>uuid</filename>, and finally a randomly
+- generated UUID.</para>
++ generated UUID. <varname>systemd.machine_id=firmware</varname> can be set to generate the machine id
++ from the firmware.</para>
+
+ <para>After the machine ID is established,
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+Index: src/core/main.c
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/core/main.c b/src/core/main.c
+--- a/src/core/main.c (revision 051d462b42fe6c27824046c15cd3c84fa5afe05b)
++++ b/src/core/main.c (revision 21004b30bf831859d1743658915bce0fbd500e74)
+@@ -148,6 +148,7 @@
+ static Set* arg_syscall_archs;
+ static FILE* arg_serialization;
+ static sd_id128_t arg_machine_id;
++static bool arg_machine_id_from_firmware = false;
+ static EmergencyAction arg_cad_burst_action;
+ static CPUSet arg_cpu_affinity;
+ static NUMAPolicy arg_numa_policy;
+@@ -381,10 +382,15 @@
+ if (proc_cmdline_value_missing(key, value))
+ return 0;
+
+- r = id128_from_string_nonzero(value, &arg_machine_id);
+- if (r < 0)
+- log_warning_errno(r, "MachineID '%s' is not valid, ignoring: %m", value);
+-
++ if (streq(value, "firmware"))
++ arg_machine_id_from_firmware = true;
++ else {
++ r = id128_from_string_nonzero(value, &arg_machine_id);
++ if (r < 0)
++ log_warning_errno(r, "MachineID '%s' is not valid, ignoring: %m", value);
++ else
++ arg_machine_id_from_firmware = false;
++ }
+ } else if (proc_cmdline_key_streq(key, "systemd.default_timeout_start_sec")) {
+
+ if (proc_cmdline_value_missing(key, value))
+@@ -2366,8 +2372,9 @@
+
+ (void) os_release_status();
+ (void) hostname_setup(true);
+- /* Force transient machine-id on first boot. */
+- machine_id_setup(/* root= */ NULL, /* force_transient= */ first_boot, arg_machine_id, /* ret_machine_id */ NULL);
++
++ machine_id_setup(/* root= */ NULL, arg_machine_id, (first_boot ? MACHINE_ID_SETUP_FORCE_TRANSIENT : 0) |
++ (arg_machine_id_from_firmware ? MACHINE_ID_SETUP_FORCE_FIRMWARE : 0), /* ret_machine_id */ NULL);
+ (void) loopback_setup();
+ bump_unix_max_dgram_qlen();
+ bump_file_max_and_nr_open();
+Index: src/machine-id-setup/machine-id-setup-main.c
+IDEA additional info:
+Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
+<+>UTF-8
+===================================================================
+diff --git a/src/machine-id-setup/machine-id-setup-main.c b/src/machine-id-setup/machine-id-setup-main.c
+--- a/src/machine-id-setup/machine-id-setup-main.c (revision 051d462b42fe6c27824046c15cd3c84fa5afe05b)
++++ b/src/machine-id-setup/machine-id-setup-main.c (revision 21004b30bf831859d1743658915bce0fbd500e74)
+@@ -188,7 +188,7 @@
+ } else {
+ sd_id128_t id;
+
+- r = machine_id_setup(arg_root, false, SD_ID128_NULL, &id);
++ r = machine_id_setup(arg_root, SD_ID128_NULL, /* flags = */ 0, &id);
+ if (r < 0)
+ return r;
+
Index: src/shared/machine-id-setup.c
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/shared/machine-id-setup.c b/src/shared/machine-id-setup.c
---- a/src/shared/machine-id-setup.c (revision 8f4dab049074d31c31af2bb9eb76f9f4f08e3711)
-+++ b/src/shared/machine-id-setup.c (date 1714255351696)
-@@ -28,7 +28,8 @@
+--- a/src/shared/machine-id-setup.c (revision 051d462b42fe6c27824046c15cd3c84fa5afe05b)
++++ b/src/shared/machine-id-setup.c (revision 21004b30bf831859d1743658915bce0fbd500e74)
+@@ -30,7 +30,8 @@
#include "umask-util.h"
#include "virt.h"
-
+
-static int acquire_machine_id_from_credential(sd_id128_t *ret) {
+static int acquire_machine_id_from_credential(sd_id128_t *ret_machine_id, bool *ret_machine_id_from_firmware) {
+
_cleanup_free_ char *buf = NULL;
int r;
-
-@@ -38,7 +39,12 @@
+
+@@ -40,15 +41,22 @@
if (r == 0) /* not found */
return -ENXIO;
-
+
- r = sd_id128_from_string(buf, ret);
+ if (streq(buf, "firmware")) {
+ *ret_machine_id_from_firmware = true;
++ *ret_machine_id = SD_ID128_NULL;
+ return 0;
+ }
+
+ r = sd_id128_from_string(buf, ret_machine_id);
if (r < 0)
++ *ret_machine_id_from_firmware = false;
return log_warning_errno(r, "Failed to parse system.machine_id credential, ignoring: %m");
-
-@@ -46,7 +52,7 @@
+
+ log_info("Initializing machine ID from credential.");
return 0;
}
-
--static int generate_machine_id(const char *root, sd_id128_t *ret) {
-+static int generate_machine_id(const char *root, sd_id128_t *ret, bool machine_id_from_firmware) {
+
+-static int acquire_machine_id(const char *root, sd_id128_t *ret) {
++static int acquire_machine_id(const char *root, sd_id128_t *ret, const bool machine_id_from_firmware) {
_cleanup_close_ int fd = -EBADF;
int r;
-
-@@ -61,7 +67,7 @@
-
+
+@@ -71,8 +79,9 @@
+ }
+
if (isempty(root) && running_in_chroot() <= 0) {
++ bool machine_id_from_firmware_credentials;
/* Let's use a system credential for the machine ID if we can */
-- r = acquire_machine_id_from_credential(ret);
-+ r = acquire_machine_id_from_credential(ret, &machine_id_from_firmware);
- if (r >= 0)
- return r;
-
-@@ -78,14 +84,14 @@
+- if (acquire_machine_id_from_credential(ret) >= 0)
++ if (acquire_machine_id_from_credential(ret, &machine_id_from_firmware_credentials) >= 0)
+ return 0;
+
+ /* If that didn't work, see if we are running in a container,
+@@ -88,14 +97,14 @@
return 0;
}
-
+
- } else if (IN_SET(detect_vm(), VIRTUALIZATION_KVM, VIRTUALIZATION_AMAZON, VIRTUALIZATION_QEMU, VIRTUALIZATION_XEN)) {
-+ } else if (IN_SET(detect_vm(), VIRTUALIZATION_KVM, VIRTUALIZATION_AMAZON, VIRTUALIZATION_QEMU, VIRTUALIZATION_XEN) || machine_id_from_firmware) {
-
++ } else if (IN_SET(detect_vm(), VIRTUALIZATION_KVM, VIRTUALIZATION_AMAZON, VIRTUALIZATION_QEMU, VIRTUALIZATION_XEN) || machine_id_from_firmware || machine_id_from_firmware_credentials) {
+
/* If we are not running in a container, see if we are running in a VM that provides
* a system UUID via the SMBIOS/DMI interfaces. Such environments include QEMU/KVM
* with the -uuid on the qemu command line or the Amazon EC2 Nitro hypervisor. */
-
+
if (id128_get_product(ret) >= 0) {
- log_info("Initializing machine ID from VM UUID.");
+ log_info("Initializing machine ID from SMBIOS/DMI UUID.");
return 0;
}
}
-@@ -100,12 +106,16 @@
+@@ -110,12 +119,14 @@
return 0;
}
-
+
-int machine_id_setup(const char *root, bool force_transient, sd_id128_t machine_id, sd_id128_t *ret) {
+int machine_id_setup(const char *root, sd_id128_t machine_id, MachineIdSetupFlags flags, sd_id128_t *ret) {
const char *etc_machine_id, *run_machine_id;
_cleanup_close_ int fd = -EBADF;
- bool writable;
-+ bool machine_id_from_firmware = false;
+ bool writable, write_run_machine_id = true;
int r;
-
-+ if (flags & MACHINE_ID_SETUP_FORCE_FIRMWARE)
-+ machine_id_from_firmware = true;
+
++ bool machine_id_from_firmware = FLAGS_SET(flags, MACHINE_ID_SETUP_FORCE_FIRMWARE);
+
etc_machine_id = prefix_roota(root, "/etc/machine-id");
-
+
WITH_UMASK(0000) {
-@@ -138,14 +148,14 @@
+@@ -148,14 +159,14 @@
}
-
+
/* A we got a valid machine ID argument, that's what counts */
- if (sd_id128_is_null(machine_id)) {
+ if (sd_id128_is_null(machine_id) || machine_id_from_firmware) {
-
+
/* Try to read any existing machine ID */
- if (id128_read_fd(fd, ID128_FORMAT_PLAIN, ret) >= 0)
- return 0;
-
- /* Hmm, so, the id currently stored is not useful, then let's generate one */
-- r = generate_machine_id(root, &machine_id);
-+ r = generate_machine_id(root, &machine_id, machine_id_from_firmware);
+ if (id128_read_fd(fd, ID128_FORMAT_PLAIN, &machine_id) >= 0)
+ goto finish;
+
+ /* Hmm, so, the id currently stored is not useful, then let's acquire one. */
+- r = acquire_machine_id(root, &machine_id);
++ r = acquire_machine_id(root, &machine_id, machine_id_from_firmware);
if (r < 0)
return r;
- }
-@@ -161,7 +171,7 @@
+ write_run_machine_id = !r;
+@@ -172,7 +183,7 @@
* disk and overmount it with a transient file.
*
* Otherwise write the machine-id directly to disk. */
- if (force_transient) {
-+ if (flags & MACHINE_ID_SETUP_FORCE_TRANSIENT) {
++ if (FLAGS_SET(flags, MACHINE_ID_SETUP_FORCE_TRANSIENT)) {
r = loop_write(fd, "uninitialized\n", SIZE_MAX);
if (r < 0)
return log_error_errno(r, "Failed to write uninitialized %s: %m", etc_machine_id);
-@@ -199,7 +209,7 @@
+@@ -212,7 +223,7 @@
return r;
}
-
+
- log_full(force_transient ? LOG_DEBUG : LOG_INFO, "Installed transient %s file.", etc_machine_id);
-+ log_full(flags & MACHINE_ID_SETUP_FORCE_TRANSIENT ? LOG_DEBUG : LOG_INFO, "Installed transient %s file.", etc_machine_id);
-
++ log_full(FLAGS_SET(flags, MACHINE_ID_SETUP_FORCE_TRANSIENT) ? LOG_DEBUG : LOG_INFO, "Installed transient %s file.", etc_machine_id);
+
/* Mark the mount read-only */
r = mount_follow_verbose(LOG_WARNING, NULL, etc_machine_id, NULL, MS_BIND|MS_RDONLY|MS_REMOUNT, NULL);
-Index: src/core/main.c
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/core/main.c b/src/core/main.c
---- a/src/core/main.c (revision 8f4dab049074d31c31af2bb9eb76f9f4f08e3711)
-+++ b/src/core/main.c (date 1714255351649)
-@@ -144,6 +144,7 @@
- static Set* arg_syscall_archs;
- static FILE* arg_serialization;
- static sd_id128_t arg_machine_id;
-+static bool arg_machine_id_from_firmware = false;
- static EmergencyAction arg_cad_burst_action;
- static CPUSet arg_cpu_affinity;
- static NUMAPolicy arg_numa_policy;
-@@ -352,10 +353,15 @@
- if (proc_cmdline_value_missing(key, value))
- return 0;
-
-- r = id128_from_string_nonzero(value, &arg_machine_id);
-- if (r < 0)
-- log_warning_errno(r, "MachineID '%s' is not valid, ignoring: %m", value);
--
-+ if (streq(value, "firmware"))
-+ arg_machine_id_from_firmware = true;
-+ else {
-+ r = id128_from_string_nonzero(value, &arg_machine_id);
-+ if (r < 0)
-+ log_warning_errno(r, "MachineID '%s' is not valid, ignoring: %m", value);
-+ else
-+ arg_machine_id_from_firmware = false;
-+ }
- } else if (proc_cmdline_key_streq(key, "systemd.default_timeout_start_sec")) {
-
- if (proc_cmdline_value_missing(key, value))
-@@ -2234,8 +2240,13 @@
-
- (void) os_release_status();
- (void) hostname_setup(true);
-- /* Force transient machine-id on first boot. */
-- machine_id_setup(/* root= */ NULL, /* force_transient= */ first_boot, arg_machine_id, /* ret_machine_id */ NULL);
-+
-+ /* Set up the machine ID flags */
-+ MachineIdSetupFlags machine_id_setup_flags = 0;
-+ machine_id_setup_flags = (first_boot ? MACHINE_ID_SETUP_FORCE_TRANSIENT : 0) |
-+ (arg_machine_id_from_firmware ? MACHINE_ID_SETUP_FORCE_FIRMWARE : 0);
-+
-+ machine_id_setup(/* root= */ NULL, arg_machine_id, machine_id_setup_flags, /* ret_machine_id */ NULL);
- (void) loopback_setup();
- bump_unix_max_dgram_qlen();
- bump_file_max_and_nr_open();
-Index: man/machine-id.xml
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/man/machine-id.xml b/man/machine-id.xml
---- a/man/machine-id.xml (revision 8f4dab049074d31c31af2bb9eb76f9f4f08e3711)
-+++ b/man/machine-id.xml (date 1714255351569)
-@@ -102,7 +102,8 @@
- value of the kernel command line option <varname>container_uuid</varname>, the KVM DMI
- <filename>product_uuid</filename> or the devicetree <filename>vm,uuid</filename>
- (on KVM systems), the Xen hypervisor <filename>uuid</filename>, and finally a randomly
-- generated UUID.</para>
-+ generated UUID. <varname>systemd.machine_id=firmware</varname> can be set to generate the machine id
-+ from the firmware.</para>
-
- <para>After the machine ID is established,
- <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-Index: src/machine-id-setup/machine-id-setup-main.c
-IDEA additional info:
-Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
-<+>UTF-8
-===================================================================
-diff --git a/src/machine-id-setup/machine-id-setup-main.c b/src/machine-id-setup/machine-id-setup-main.c
---- a/src/machine-id-setup/machine-id-setup-main.c (revision 8f4dab049074d31c31af2bb9eb76f9f4f08e3711)
-+++ b/src/machine-id-setup/machine-id-setup-main.c (date 1714255351673)
-@@ -188,7 +188,7 @@
- } else {
- sd_id128_t id;
-
-- r = machine_id_setup(arg_root, false, SD_ID128_NULL, &id);
-+ r = machine_id_setup(arg_root, SD_ID128_NULL, 0, &id);
- if (r < 0)
- return r;
-
Index: src/shared/machine-id-setup.h
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/shared/machine-id-setup.h b/src/shared/machine-id-setup.h
---- a/src/shared/machine-id-setup.h (revision 8f4dab049074d31c31af2bb9eb76f9f4f08e3711)
-+++ b/src/shared/machine-id-setup.h (date 1714255351713)
+--- a/src/shared/machine-id-setup.h (revision 051d462b42fe6c27824046c15cd3c84fa5afe05b)
++++ b/src/shared/machine-id-setup.h (revision 21004b30bf831859d1743658915bce0fbd500e74)
@@ -3,5 +3,10 @@
#include <stdbool.h>
diff --git a/PKGBUILD b/PKGBUILD
index c5c594adc0e9..9b93da349af1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,8 +6,8 @@ pkgname=('systemd-fml'
'systemd-resolvconf-fml'
'systemd-sysvcompat-fml'
'systemd-ukify-fml')
-pkgdesc='systemd-stable with machine id from hw patch: https://github.com/systemd/systemd/pull/32086'
-_tag='255.7'
+pkgdesc='systemd with machine id from hw patch: https://github.com/systemd/systemd/pull/32086'
+_tag='256.1'
# Upstream versioning is incompatible with pacman's version comparisons so we
# replace tildes with the empty string to make sure pacman's version comparing
# does the right thing for rc versions:
@@ -15,7 +15,7 @@ _tag='255.7'
# 1
# ➜ vercmp 255rc1 255
# -1
-pkgver="${_tag/~/}"
+pkgver="${_tag/[-~]/}"
pkgrel=1
arch=('x86_64')
license=('LGPL-2.1-or-later')
@@ -33,7 +33,7 @@ validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering <
'A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E' # Luca Boccassi <luca.boccassi@gmail.com>
'9A774DB5DB996C154EBBFBFDA0099A18E29326E1' # Yu Watanabe <watanabe.yu+github@gmail.com>
'5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
-source=("$pkgbase-stable::git+https://github.com/systemd/systemd-stable#tag=v${_tag}"
+source=("$pkgbase::git+https://github.com/systemd/systemd#tag=v${_tag}"
'0001-Use-Arch-Linux-device-access-groups.patch'
'0002_added_machine_id_firmware_option.patch'
# bootloader files
@@ -55,9 +55,9 @@ source=("$pkgbase-stable::git+https://github.com/systemd/systemd-stable#tag=v${_
'30-systemd-udev-reload.hook'
'30-systemd-update.hook')
-sha512sums=('224648e176fe48d0cb96ac740b4f239e7ddbbb6aed6299976f1df2d5825757021c7be243d187446c274715214c8175bf925ebb27eece18a02ce1884bac2c1f20'
+sha512sums=('1ba38dd45cd910c7a2b4c7f23f982c5b0e5b13cd5874571ebc9b609ff85c058cecdb61019141ef2010fd4882c3ffc5a13a2b0d6370db4067ad90c28b83de6760'
'3ccf783c28f7a1c857120abac4002ca91ae1f92205dcd5a84aff515d57e706a3f9240d75a0a67cff5085716885e06e62597baa86897f298662ec36a940cf410e'
- 'd2535a89e9b2326cd82e18ed4cc0e3acfb2dbac2431f64f4b9e1a4eb2fc54b4572a3ce6e480952bf5e920bb485e174eccb365667d4e433d235e5ef0649438d1c'
+ 'fdebd3f46e3eb9821c78c29d176ff6f91ed383e948a8f06122fda41a9fb0e194374d27bb5b3cbc0e657460e4b9e614dc4937f074094893de2525265173afa364'
'61032d29241b74a0f28446f8cf1be0e8ec46d0847a61dadb2a4f096e8686d5f57fe5c72bcf386003f6520bc4b5856c32d63bf3efe7eb0bc0deefc9f68159e648'
'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5'
'5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75'
@@ -86,7 +86,20 @@ _reverts=(
)
prepare() {
- cd "$pkgbase-stable"
+ cd "$pkgbase"
+
+ local _c _l
+ for _c in "${_backports[@]}"; do
+ if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
+ git log --oneline "${_l}" "${_c}"
+ git cherry-pick --mainline 1 --no-commit "${_c}"
+ done
+ for _c in "${_reverts[@]}"; do
+ if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
+ git log --oneline "${_l}" "${_c}"
+ git revert --mainline 1 --no-commit "${_c}"
+ done
+
# Replace cdrom/dialout/tape groups with optical/uucp/storage
patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch
@@ -112,9 +125,7 @@ build() {
local _meson_options=(
-Dversion-tag="${_meson_version}-arch"
- # We use the version without tildes as the shared library tag because
- # pacman looks at the shared library version.
- -Dshared-lib-tag="${_meson_version/~/}"
+ -Dshared-lib-tag="${_meson_version}"
-Dmode="${_meson_mode}"
-Dapparmor=disabled
@@ -133,6 +144,7 @@ build() {
-Ddbuspolicydir=/usr/share/dbus-1/system.d
-Ddefault-dnssec=no
+ -Ddefault-hierarchy=unified
-Ddefault-kill-user-processes=false
-Ddefault-locale='C.UTF-8'
-Dlocalegen-path=/usr/bin/locale-gen
@@ -152,7 +164,7 @@ build() {
-Dsbat-distro-url="https://aur.archlinux.org/pkgbase/${pkgname}"
)
- arch-meson "$pkgbase-stable" build "${_meson_options[@]}" $MESON_EXTRA_CONFIGURE_OPTIONS
+ arch-meson "${pkgbase}" build "${_meson_options[@]}" $MESON_EXTRA_CONFIGURE_OPTIONS
meson compile -C build "${_meson_compile[@]}"
}
@@ -168,9 +180,10 @@ package_systemd-fml() {
'GPL-2.0-or-later' # udev
'MIT-0' # documentation and config files
)
- depends=('acl' 'libacl.so' 'bash' 'cryptsetup' 'libcryptsetup.so' 'dbus'
- 'dbus-units' 'kbd' 'kmod' 'libkmod.so' 'hwdata' 'libcap' 'libcap.so'
- 'libgcrypt' 'libxcrypt' 'libcrypt.so' 'systemd-libs' 'libidn2' 'lz4' 'pam'
+ depends=("systemd-libs=${pkgver}"
+ 'acl' 'libacl.so' 'bash' 'cryptsetup' 'libcryptsetup.so' 'dbus'
+ 'dbus-units' 'kbd' 'kmod' 'hwdata' 'libcap' 'libcap.so'
+ 'libgcrypt' 'libxcrypt' 'libcrypt.so' 'libidn2' 'lz4' 'pam'
'libelf' 'libseccomp' 'libseccomp.so' 'util-linux' 'libblkid.so'
'libmount.so' 'xz' 'pcre2' 'audit' 'libaudit.so'
'openssl' 'libcrypto.so' 'libssl.so')
@@ -290,7 +303,7 @@ package_systemd-libs-fml() {
package_systemd-resolvconf-fml() {
pkgdesc='systemd resolvconf replacement (for use with systemd-resolved)'
- depends=('systemd')
+ depends=("systemd=${pkgver}")
provides=('openresolv' 'resolvconf')
provides+=("systemd-resolvconf=$pkgver")
conflicts=('resolvconf')
@@ -308,7 +321,7 @@ package_systemd-sysvcompat-fml() {
provides=("systemd-sysvcompat=$pkgver")
conflicts=('sysvinit')
conflicts+=('systemd-sysvcompat')
- depends=('systemd')
+ depends=("systemd=${pkgver}")
install -D -m0644 -t "$pkgdir"/usr/share/man/man8 \
build/man/{halt,poweroff,reboot,shutdown}.8
@@ -325,7 +338,7 @@ package_systemd-ukify-fml() {
provides=('ukify')
provides+=("systemd-ukify=$pkgver")
conflicts=('systemd-ukify')
- depends=('binutils' 'python-cryptography' 'python-pefile' 'systemd')
+ depends=("systemd=${pkgver}" 'binutils' 'python-cryptography' 'python-pefile')
optdepends=('python-pillow: Show the size of splash image'
'sbsigntools: Sign the embedded kernel')
diff --git a/systemd.install b/systemd.install
index d5f0a68ff66e..1b9c6e259e10 100644
--- a/systemd.install
+++ b/systemd.install
@@ -13,6 +13,10 @@ add_journal_acls() {
post_common() {
systemd-sysusers
journalctl --update-catalog
+
+ if ! grep -qe '^/usr/bin/systemd-home-fallback-shell$' etc/shells; then
+ echo '/usr/bin/systemd-home-fallback-shell' >> etc/shells
+ fi
}
post_install() {
@@ -41,6 +45,15 @@ post_upgrade() {
systemctl kill --kill-whom='main' --signal='SIGRTMIN+25' 'user@*.service'
fi
+ # show for feature release: 255 -> 256 -> 257 -> ...
+ if [ $(vercmp "${1%%[!0-9]*}" "${2%%[!0-9]*}") -ne 0 ]; then
+ cat <<-EOM
+ :: This is a systemd feature update. You may want to have a look at
+ NEWS for what changed, or if you observe unexpected behavior:
+ /usr/share/doc/systemd/NEWS
+ EOM
+ fi
+
local v upgrades=(
)
@@ -51,4 +64,8 @@ post_upgrade() {
done
}
+post_remove() {
+ sed -i -r '/^\/usr\/bin\/systemd-home-fallback-shell$/d' etc/shells
+}
+
# vim:set ts=2 sw=2 et: