diff options
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | 0001-Use-Arch-Linux-device-access-groups.patch | 19 | ||||
-rw-r--r-- | 0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch | 78 | ||||
-rw-r--r-- | PKGBUILD | 25 | ||||
-rw-r--r-- | systemd-hook | 9 |
5 files changed, 136 insertions, 24 deletions
@@ -1,6 +1,6 @@ pkgbase = systemd-git pkgdesc = systemd (git version) - pkgver = 248.rc3.r22.gefd3be9de1 + pkgver = 248.r1416.g33f2de7b64 pkgrel = 1 url = https://www.github.com/systemd/systemd arch = x86_64 @@ -37,9 +37,14 @@ pkgbase = systemd-git makedepends = bash-completion makedepends = p11-kit makedepends = systemd + makedepends = libfido2 + makedepends = tpm2-tss + makedepends = rsync + makedepends = python-jinja options = strip source = git+https://github.com/systemd/systemd source = 0001-Use-Arch-Linux-device-access-groups.patch + source = 0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch source = initcpio-hook-udev source = initcpio-install-systemd source = initcpio-install-udev @@ -58,7 +63,8 @@ pkgbase = systemd-git source = 30-systemd-udev-reload.hook source = 30-systemd-update.hook sha512sums = SKIP - sha512sums = 73ec374130597eb9cfa9defa62574a6815428cf86a51ff9c7ce76a20d8d762c5258c066b15f0327a7bfcbb9c49fa7da6bae58be6ae838c64d28ca24edadeff65 + sha512sums = 882e486b6d88c8bafc50088845e41a49686e98981967f72ca1fb4ef07a01767400632f4b648fd31857d2a2a24a8fd65bcc2a8983284dd4fff2380732741d4c41 + sha512sums = 34541f1967536524329867f9f341f8d9250d9d771c60dc3e6a22ccb82fc01f103cfd3f9903329777591ccbecd2446622a5d6b3804fa0411482b85c70593ee8ad sha512sums = f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73 sha512sums = 8e76f8334b95ce7fee9190f4a1016b16109f3a75b68635fc227b2b4791cf8179ef09b532b66b4ed885ddf98ed76befed3106f3c3088f1819ed8cdf4c13e0805a sha512sums = a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a @@ -66,7 +72,7 @@ pkgbase = systemd-git sha512sums = c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5 sha512sums = 5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75 sha512sums = b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19 - sha512sums = 869dab2b1837c964add4019bb402e24e52dbb7f009850ca69fcc5deddd923eeb98eb8ee38601f6e31531f30322472fe7df09af84df27f0467708406c55885323 + sha512sums = 217a9dc3f9d8cd0c9fee54f777396f5a270c2e8a30c572ce5f635165adadcec275af0dae1456019cedb9cc93b7cef0862e5070aeb99a19e496625200e8dfac93 sha512sums = 299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5 sha512sums = 0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7 sha512sums = 2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc @@ -120,10 +126,12 @@ pkgname = systemd-git optdepends = systemd-sysvcompat: symlink package to provide sysvinit binaries optdepends = polkit: allow administration as unprivileged user optdepends = curl: machinectl pull-tar and pull-raw - provides = systemd=248.rc3.r22.gefd3be9de1 + optdepends = libfido2: unlocking LUKS2 volumes with FIDO2 token + optdepends = tpm2-tss: unlocking LUKS2 volumes with TPM2 + provides = systemd=248.r1416.g33f2de7b64 provides = nss-myhostname - provides = systemd-tools=248.rc3.r22.gefd3be9de1 - provides = udev=248.rc3.r22.gefd3be9de1 + provides = systemd-tools=248.r1416.g33f2de7b64 + provides = udev=248.r1416.g33f2de7b64 conflicts = systemd conflicts = nss-myhostname conflicts = systemd-tools @@ -139,6 +147,7 @@ pkgname = systemd-git backup = etc/systemd/journal-upload.conf backup = etc/systemd/logind.conf backup = etc/systemd/networkd.conf + backup = etc/systemd/oomd.conf backup = etc/systemd/pstore.conf backup = etc/systemd/resolved.conf backup = etc/systemd/sleep.conf @@ -153,10 +162,11 @@ pkgname = systemd-libs-git depends = glibc depends = libcap depends = libgcrypt + depends = libp11-kit depends = lz4 depends = xz depends = zstd - provides = systemd-libs=248.rc3.r22.gefd3be9de1 + provides = systemd-libs=248.r1416.g33f2de7b64 provides = libsystemd provides = libsystemd.so provides = libudev.so @@ -168,7 +178,7 @@ pkgname = systemd-resolvconf-git pkgdesc = systemd resolvconf replacement (for use with systemd-resolved, git version) license = LGPL2.1 depends = systemd-git - provides = systemd-resolvconf=248.rc3.r22.gefd3be9de1 + provides = systemd-resolvconf=248.r1416.g33f2de7b64 provides = openresolv provides = resolvconf conflicts = systemd-resolvconf @@ -178,7 +188,6 @@ pkgname = systemd-sysvcompat-git pkgdesc = sysvinit compat for systemd (git version) license = GPL2 depends = systemd-git - provides = systemd-sysvcompat=248.rc3.r22.gefd3be9de1 + provides = systemd-sysvcompat=248.r1416.g33f2de7b64 conflicts = systemd-sysvcompat conflicts = sysvinit - diff --git a/0001-Use-Arch-Linux-device-access-groups.patch b/0001-Use-Arch-Linux-device-access-groups.patch index 5a10fce273ef..3abb448bfe92 100644 --- a/0001-Use-Arch-Linux-device-access-groups.patch +++ b/0001-Use-Arch-Linux-device-access-groups.patch @@ -1,17 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Tue, 6 Mar 2018 23:39:47 +0100 Subject: [PATCH] Use Arch Linux' device access groups +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit cdrom → optical dialout → uucp tape → storage --- rules.d/50-udev-default.rules.in | 14 +++++++------- - sysusers.d/basic.conf.in | 6 +++--- + sysusers.d/basic.conf.in | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in -index 191f56f42..f81c4d0fc 100644 +index edfa8bb107..35b8d4ba41 100644 --- a/rules.d/50-udev-default.rules.in +++ b/rules.d/50-udev-default.rules.in @@ -22,7 +22,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620" @@ -23,7 +27,7 @@ index 191f56f42..f81c4d0fc 100644 SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640" -@@ -57,13 +57,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" +@@ -62,13 +62,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp" SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp" SUBSYSTEM=="block", GROUP="disk" @@ -43,9 +47,11 @@ index 191f56f42..f81c4d0fc 100644 SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk" KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk" KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control" ---- a/sysusers.d/basic.conf.in 2021-03-14 00:24:33.305379296 -0500 -+++ b/sysusers.d/basic.conf.in 2021-03-14 00:26:01.674972835 -0500 -@@ -24,15 +24,15 @@ +diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in +index 4be0bd869e..cc3721b58a 100644 +--- a/sysusers.d/basic.conf.in ++++ b/sysusers.d/basic.conf.in +@@ -24,15 +24,15 @@ g utmp - - - # Hardware access groups g audio - - - @@ -64,4 +70,3 @@ index 191f56f42..f81c4d0fc 100644 g video - - - # Default group for normal users - diff --git a/0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch b/0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch new file mode 100644 index 000000000000..57b9e4dfcae3 --- /dev/null +++ b/0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch @@ -0,0 +1,78 @@ +From 9021729667e019defea0d4c1bdf563d629d7d837 Mon Sep 17 00:00:00 2001 +From: Ernesto Castellotti <mail@ernestocastellotti.it> +Date: Sat, 10 Apr 2021 18:59:14 +0200 +Subject: [PATCH] PARTIAL REVERT commit tree-wide: replace strverscmp() and + str_verscmp() with strverscmp_improved + +This is a workaround for the issue https://github.com/systemd/systemd/issues/19191 +--- + src/boot/efi/boot.c | 49 ++++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 48 insertions(+), 1 deletion(-) + +diff --git a/src/boot/efi/boot.c b/src/boot/efi/boot.c +index 35248db009bf..75c7e2c61d19 100644 +--- a/src/boot/efi/boot.c ++++ b/src/boot/efi/boot.c +@@ -914,6 +914,53 @@ static VOID config_entry_free(ConfigEntry *entry) { + FreePool(entry); + } + ++static BOOLEAN is_digit(CHAR16 c) { ++ return (c >= '0') && (c <= '9'); ++} ++static UINTN c_order(CHAR16 c) { ++ if (c == '\0') ++ return 0; ++ if (is_digit(c)) ++ return 0; ++ else if ((c >= 'a') && (c <= 'z')) ++ return c; ++ else ++ return c + 0x10000; ++} ++static INTN str_verscmp(CHAR16 *s1, CHAR16 *s2) { ++ CHAR16 *os1 = s1; ++ CHAR16 *os2 = s2; ++ while (*s1 || *s2) { ++ INTN first; ++ while ((*s1 && !is_digit(*s1)) || (*s2 && !is_digit(*s2))) { ++ INTN order; ++ order = c_order(*s1) - c_order(*s2); ++ if (order != 0) ++ return order; ++ s1++; ++ s2++; ++ } ++ while (*s1 == '0') ++ s1++; ++ while (*s2 == '0') ++ s2++; ++ first = 0; ++ while (is_digit(*s1) && is_digit(*s2)) { ++ if (first == 0) ++ first = *s1 - *s2; ++ s1++; ++ s2++; ++ } ++ if (is_digit(*s1)) ++ return 1; ++ if (is_digit(*s2)) ++ return -1; ++ if (first != 0) ++ return first; ++ } ++ return StrCmp(os1, os2); ++} ++ + static CHAR8 *line_get_key_value( + CHAR8 *content, + CHAR8 *sep, +@@ -1478,7 +1525,7 @@ static INTN config_entry_compare(ConfigEntry *a, ConfigEntry *b) { + if (a->tries_left == 0 && b->tries_left != 0) + return -1; + +- r = strverscmp_improved(a->id, b->id); ++ r = str_verscmp(a->id, b->id); + if (r != 0) + return r; + @@ -8,7 +8,7 @@ _pkgbase=systemd pkgbase=$_pkgbase-git pkgname=('systemd-git' 'systemd-libs-git' 'systemd-resolvconf-git' 'systemd-sysvcompat-git') pkgdesc='systemd (git version)' -pkgver=248.rc3.r22.gefd3be9de1 +pkgver=248.r1416.g33f2de7b64 pkgrel=1 arch=('x86_64') url='https://www.github.com/systemd/systemd' @@ -17,10 +17,12 @@ makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' 'libmicrohttpd' 'libxcrypt' 'libxslt' 'util-linux' 'linux-api-headers' 'python-lxml' 'quota-tools' 'shadow' 'gnu-efi-libs' 'git' 'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon' - 'bash-completion' 'p11-kit' 'systemd') + 'bash-completion' 'p11-kit' 'systemd' 'libfido2' 'tpm2-tss' 'rsync' + 'python-jinja') options=('strip') source=('git+https://github.com/systemd/systemd' '0001-Use-Arch-Linux-device-access-groups.patch' + '0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch' 'initcpio-hook-udev' 'initcpio-install-systemd' 'initcpio-install-udev' @@ -39,7 +41,8 @@ source=('git+https://github.com/systemd/systemd' '30-systemd-udev-reload.hook' '30-systemd-update.hook') sha512sums=('SKIP' - '73ec374130597eb9cfa9defa62574a6815428cf86a51ff9c7ce76a20d8d762c5258c066b15f0327a7bfcbb9c49fa7da6bae58be6ae838c64d28ca24edadeff65' + '882e486b6d88c8bafc50088845e41a49686e98981967f72ca1fb4ef07a01767400632f4b648fd31857d2a2a24a8fd65bcc2a8983284dd4fff2380732741d4c41' + '34541f1967536524329867f9f341f8d9250d9d771c60dc3e6a22ccb82fc01f103cfd3f9903329777591ccbecd2446622a5d6b3804fa0411482b85c70593ee8ad' 'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73' '8e76f8334b95ce7fee9190f4a1016b16109f3a75b68635fc227b2b4791cf8179ef09b532b66b4ed885ddf98ed76befed3106f3c3088f1819ed8cdf4c13e0805a' 'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a' @@ -47,7 +50,7 @@ sha512sums=('SKIP' 'c416e2121df83067376bcaacb58c05b01990f4614ad9de657d74b6da3efa441af251d13bf21e3f0f71ddcb4c9ea658b81da3d915667dc5c309c87ec32a1cb5a5' '5a1d78b5170da5abe3d18fdf9f2c3a4d78f15ba7d1ee9ec2708c4c9c2e28973469bc19386f70b3cf32ffafbe4fcc4303e5ebbd6d5187a1df3314ae0965b25e75' 'b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19' - '869dab2b1837c964add4019bb402e24e52dbb7f009850ca69fcc5deddd923eeb98eb8ee38601f6e31531f30322472fe7df09af84df27f0467708406c55885323' + '217a9dc3f9d8cd0c9fee54f777396f5a270c2e8a30c572ce5f635165adadcec275af0dae1456019cedb9cc93b7cef0862e5070aeb99a19e496625200e8dfac93' '299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5' '0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7' '2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc' @@ -68,6 +71,10 @@ prepare() { # Replace cdrom/dialout/tape groups with optical/uucp/storage patch -Np1 -i ../0001-Use-Arch-Linux-device-access-groups.patch + + # https://bugs.archlinux.org/task/70264 + # https://github.com/systemd/systemd/issues/19191 + patch -Np1 -i ../0003-PARTIAL-REVERT-commit-tree-wide-replace-strverscmp-and-str_verscmp-with-strverscmp_improved.patch } pkgver() { @@ -106,9 +113,10 @@ build() { -Ddbuspolicydir=/usr/share/dbus-1/system.d -Ddefault-dnssec=no - -Ddefault-hierarchy=hybrid + -Ddefault-hierarchy=unified -Ddefault-kill-user-processes=false -Ddefault-locale=C + -Dlocalegen-path=/usr/bin/locale-gen -Ddns-over-tls=openssl -Dfallback-hostname='archlinux' -Dnologin-path=/usr/bin/nologin @@ -144,7 +152,9 @@ package_systemd-git() { 'quota-tools: kernel-level quota management' 'systemd-sysvcompat: symlink package to provide sysvinit binaries' 'polkit: allow administration as unprivileged user' - 'curl: machinectl pull-tar and pull-raw') + 'curl: machinectl pull-tar and pull-raw' + 'libfido2: unlocking LUKS2 volumes with FIDO2 token' + 'tpm2-tss: unlocking LUKS2 volumes with TPM2') backup=(etc/pam.d/systemd-user etc/systemd/coredump.conf etc/systemd/homed.conf @@ -153,6 +163,7 @@ package_systemd-git() { etc/systemd/journal-upload.conf etc/systemd/logind.conf etc/systemd/networkd.conf + etc/systemd/oomd.conf etc/systemd/pstore.conf etc/systemd/resolved.conf etc/systemd/sleep.conf @@ -219,7 +230,7 @@ package_systemd-git() { package_systemd-libs-git() { pkgdesc='systemd client libraries (git version)' - depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz' 'zstd') + depends=('glibc' 'libcap' 'libgcrypt' 'libp11-kit' 'lz4' 'xz' 'zstd') license=('LGPL2.1') provides=("systemd-libs=$pkgver" 'libsystemd' 'libsystemd.so' 'libudev.so') conflicts=('systemd-libs' 'libsystemd') diff --git a/systemd-hook b/systemd-hook index 6f2e899234cf..0a4754b21647 100644 --- a/systemd-hook +++ b/systemd-hook @@ -1,6 +1,14 @@ #!/bin/sh -e +is_chrooted() { + if systemd-detect-virt --chroot; then + echo >&2 " Skipped: Running in chroot." + exit 0 + fi +} + systemd_live() { + is_chrooted if [ ! -d /run/systemd/system ]; then echo >&2 " Skipped: Current root is not booted." exit 0 @@ -8,6 +16,7 @@ systemd_live() { } udevd_live() { + is_chrooted if [ ! -d /run/udev ]; then echo >&2 " Skipped: Device manager is not running." exit 0 |