From 631fef79feb0063d1e8000cc17746f1725084a91 Mon Sep 17 00:00:00 2001 From: bill-auger Date: Sun, 21 Feb 2021 21:54:20 -0500 Subject: [arm/libre-testing/systemd]: v247.3 --- ...efer-to-the-operating-system-as-GNU-Linux.patch | 165 ++++++++++----------- .../0001-Use-Arch-Linux-device-access-groups.patch | 16 +- ...ease-Default-PRETTY_NAME-to-GNU-Linux-ins.patch | 50 +++---- ...an-Use-FSDG-operating-systems-as-examples.patch | 121 ++++++++++----- libre-testing/systemd/20-systemd-sysusers.hook | 10 ++ libre-testing/systemd/30-systemd-binfmt.hook | 10 ++ libre-testing/systemd/30-systemd-catalog.hook | 11 ++ .../systemd/30-systemd-daemon-reload.hook | 11 ++ libre-testing/systemd/30-systemd-hwdb.hook | 11 ++ libre-testing/systemd/30-systemd-sysctl.hook | 10 ++ libre-testing/systemd/30-systemd-tmpfiles.hook | 10 ++ libre-testing/systemd/30-systemd-udev-reload.hook | 11 ++ libre-testing/systemd/30-systemd-update.hook | 11 ++ libre-testing/systemd/PKGBUILD | 154 +++++++++---------- libre-testing/systemd/initcpio-install-systemd | 33 ++--- libre-testing/systemd/systemd-binfmt.hook | 10 -- libre-testing/systemd/systemd-catalog.hook | 11 -- libre-testing/systemd/systemd-daemon-reload.hook | 11 -- libre-testing/systemd/systemd-hook | 9 +- libre-testing/systemd/systemd-hwdb.hook | 11 -- libre-testing/systemd/systemd-sysctl.hook | 10 -- libre-testing/systemd/systemd-sysusers.hook | 10 -- libre-testing/systemd/systemd-tmpfiles.hook | 10 -- libre-testing/systemd/systemd-udev-reload.hook | 11 -- libre-testing/systemd/systemd-update.hook | 11 -- libre-testing/systemd/systemd.install | 10 ++ 26 files changed, 384 insertions(+), 364 deletions(-) create mode 100644 libre-testing/systemd/20-systemd-sysusers.hook create mode 100644 libre-testing/systemd/30-systemd-binfmt.hook create mode 100644 libre-testing/systemd/30-systemd-catalog.hook create mode 100644 libre-testing/systemd/30-systemd-daemon-reload.hook create mode 100644 libre-testing/systemd/30-systemd-hwdb.hook create mode 100644 libre-testing/systemd/30-systemd-sysctl.hook create mode 100644 libre-testing/systemd/30-systemd-tmpfiles.hook create mode 100644 libre-testing/systemd/30-systemd-udev-reload.hook create mode 100644 libre-testing/systemd/30-systemd-update.hook delete mode 100644 libre-testing/systemd/systemd-binfmt.hook delete mode 100644 libre-testing/systemd/systemd-catalog.hook delete mode 100644 libre-testing/systemd/systemd-daemon-reload.hook delete mode 100644 libre-testing/systemd/systemd-hwdb.hook delete mode 100644 libre-testing/systemd/systemd-sysctl.hook delete mode 100644 libre-testing/systemd/systemd-sysusers.hook delete mode 100644 libre-testing/systemd/systemd-tmpfiles.hook delete mode 100644 libre-testing/systemd/systemd-udev-reload.hook delete mode 100644 libre-testing/systemd/systemd-update.hook diff --git a/libre-testing/systemd/0001-FSDG-man-Refer-to-the-operating-system-as-GNU-Linux.patch b/libre-testing/systemd/0001-FSDG-man-Refer-to-the-operating-system-as-GNU-Linux.patch index b0e9232b8..df5e4ca52 100644 --- a/libre-testing/systemd/0001-FSDG-man-Refer-to-the-operating-system-as-GNU-Linux.patch +++ b/libre-testing/systemd/0001-FSDG-man-Refer-to-the-operating-system-as-GNU-Linux.patch @@ -59,13 +59,13 @@ index ee8e8b7faf..28324ac102 100644 uid, all regular users will each get their own journal files, and system users will log to the system journal. If none, journal files are not split up by user and all messages are diff --git a/man/machinectl.xml b/man/machinectl.xml -index affca1dec1..278ca8d677 100644 +index 37e51f90cf..08f4d938b3 100644 --- a/man/machinectl.xml +++ b/man/machinectl.xml -@@ -867,7 +867,7 @@ +@@ -852,7 +852,7 @@ The machinectl tool operates on machines and images whose names must be chosen following strict - rules. Machine names must be suitable for use as host names + rules. Machine names must be suitable for use as hostnames - following a conservative subset of DNS and UNIX/Linux + following a conservative subset of DNS and GNU/Linux semantics. Specifically, they must consist of one or more @@ -84,19 +84,6 @@ index c834bde292..fdd2261fe9 100644 project='man-pages'>errno3) to D-Bus errors and back. For example, the error EUCLEAN is mapped to -diff --git a/man/sd-login.xml b/man/sd-login.xml -index 83ef0b7307..93fd9ea782 100644 ---- a/man/sd-login.xml -+++ b/man/sd-login.xml -@@ -244,7 +244,7 @@ - - - Multi-Seat on Linux -- for an introduction to multi-seat support on Linux and the background for this set of APIs. -+ for an introduction to multi-seat support on GNU/Linux and the background for this set of APIs. - - - diff --git a/man/sd_bus_error_add_map.xml b/man/sd_bus_error_add_map.xml index 3eacbab660..b4b3b1bd17 100644 --- a/man/sd_bus_error_add_map.xml @@ -111,18 +98,18 @@ index 3eacbab660..b4b3b1bd17 100644 sd_bus_error_set3 or diff --git a/man/sd_uid_get_state.xml b/man/sd_uid_get_state.xml -index 02670e1bce..6f4ff77130 100644 +index 2d6fb0c8a3..58586018d6 100644 --- a/man/sd_uid_get_state.xml +++ b/man/sd_uid_get_state.xml -@@ -174,7 +174,7 @@ - An input parameter was invalid (out of range, - or NULL, where that is not accepted). This is also returned if - the passed user ID is 0xFFFF or 0xFFFFFFFF, which are -- undefined on Linux. -+ undefined on GNU/Linux. - +@@ -163,7 +163,7 @@ + + An input parameter was invalid (out of range, or NULL, + where that is not accepted). This is also returned if the passed user ID is +- 0xFFFF or 0xFFFFFFFF, which are undefined on Linux. ++ 0xFFFF or 0xFFFFFFFF, which are undefined on GNU/Linux. + + - diff --git a/man/systemd-detect-virt.xml b/man/systemd-detect-virt.xml index c4763fd561..54bba23666 100644 --- a/man/systemd-detect-virt.xml @@ -143,100 +130,100 @@ index c4763fd561..54bba23666 100644 diff --git a/man/systemd-machine-id-setup.xml b/man/systemd-machine-id-setup.xml -index 9e84fd8ccb..7f0dcd14d7 100644 +index 7caf35f8e8..18d9c5a33b 100644 --- a/man/systemd-machine-id-setup.xml +++ b/man/systemd-machine-id-setup.xml -@@ -58,7 +58,7 @@ +@@ -55,7 +55,7 @@ and is different for every booted instance of the VM. -- Similarly, if run inside a Linux container -+ Similarly, if run inside a container - environment and a UUID is configured for the container, this is - used to initialize the machine ID. For details, see the - documentation of the Similarly, if run inside a Linux container environment and a UUID is configured for the ++ Similarly, if run inside a container environment and a UUID is configured for the + container, this is used to initialize the machine ID. For details, see the documentation of the Container Interface. + diff --git a/man/systemd-resolved.service.xml b/man/systemd-resolved.service.xml -index c895adaaf3..d2dc0538ca 100644 +index 914607e3f8..3274881ca6 100644 --- a/man/systemd-resolved.service.xml +++ b/man/systemd-resolved.service.xml -@@ -47,7 +47,7 @@ - getaddrinfo3 API as defined - by RFC3493 and its related resolver functions, - including gethostbyname3. This -- API is widely supported, including beyond the Linux platform. In its current form it does not expose DNSSEC -+ API is widely supported, including beyond the GNU/Linux platform. In its current form it does not expose DNSSEC - validation status information however, and is synchronous only. This API is backed by the glibc Name Service - Switch (nss5). Usage of the - glibc NSS module nss-resolve8 -@@ -153,7 +153,7 @@ - +@@ -49,7 +49,7 @@ + API as defined by RFC3493 and its related + resolver functions, including + gethostbyname3. +- This API is widely supported, including beyond the Linux platform. In its current form it does not ++ This API is widely supported, including beyond the GNU/Linux platform. In its current form it does not + expose DNSSEC validation status information however, and is synchronous only. This API is backed by the + glibc Name Service Switch + (nss5). +@@ -227,7 +227,7 @@ systemd-resolved maintains the -- /run/systemd/resolve/stub-resolv.conf file for compatibility with traditional Linux -+ /run/systemd/resolve/stub-resolv.conf file for compatibility with traditional GNU/Linux - programs. This file may be symlinked from /etc/resolv.conf. This file lists the 127.0.0.53 - DNS stub (see above) as the only DNS server. It also contains a list of search domains that are in use by - systemd-resolved. The list of search domains is always kept up-to-date. Note that -@@ -169,7 +169,7 @@ - systemd-resolved. This file does not contain any search domains. + /run/systemd/resolve/stub-resolv.conf file for compatibility with traditional +- Linux programs. This file may be symlinked from /etc/resolv.conf. This file lists ++ GNU/Linux programs. This file may be symlinked from /etc/resolv.conf. This file lists + the 127.0.0.53 DNS stub (see above) as the only DNS server. It also contains a list of search domains + that are in use by systemd-resolved. The list of search domains is always kept up-to-date. Note that + /run/systemd/resolve/stub-resolv.conf should not be used directly by applications, +@@ -243,7 +243,7 @@ + systemd-resolved maintains the - /run/systemd/resolve/resolv.conf file for compatibility with traditional Linux + /run/systemd/resolve/resolv.conf file for compatibility with traditional GNU/Linux - programs. This file may be symlinked from /etc/resolv.conf and is always kept up-to-date, - containing information about all known DNS servers. Note the file format's limitations: it does not know a - concept of per-interface DNS servers and hence only contains system-wide DNS server definitions. Note that + programs. This file may be symlinked from /etc/resolv.conf and is always kept + up-to-date, containing information about all known DNS servers. Note the file format's limitations: it + does not know a concept of per-interface DNS servers and hence only contains system-wide DNS server diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml index 3bd790b485..a532b74a6e 100644 --- a/man/systemd.exec.xml +++ b/man/systemd.exec.xml -@@ -191,7 +191,7 @@ - which must be one of a-z, A-Z or _ (i.e. numbers and - are not permitted - as first character). The user/group name must have at least one character, and at most 31. These restrictions - are enforced in order to avoid ambiguities and to ensure user/group names and unit files remain portable among -- Linux systems. -+ GNU/Linux systems. - - When used in conjunction with DynamicUser= the user/group name specified is - dynamically allocated at the time the service is started, and released at the time the service is stopped — +@@ -223,7 +223,7 @@ + -, except for the first character which must be one of a-z, A-Z and + _ (i.e. digits and - are not permitted as first character). The + user/group name must have at least one character, and at most 31. These restrictions are made in +- order to avoid ambiguities and to ensure user/group names and unit files remain portable among Linux ++ order to avoid ambiguities and to ensure user/group names and unit files remain portable among GNU/Linux + systems. For further details on the names accepted and the names warned about see User/Group Name Syntax. + diff --git a/man/systemd.socket.xml b/man/systemd.socket.xml -index 19c2ca9907..5fd6c1598f 100644 +index 520a906249..e4ce5b843b 100644 --- a/man/systemd.socket.xml +++ b/man/systemd.socket.xml -@@ -280,7 +280,7 @@ - Specifies a POSIX message queue name to listen - on. This expects a valid message queue name (i.e. beginning - with /). Behavior otherwise is very similar to the -- ListenFIFO= directive above. On Linux -+ ListenFIFO= directive above. On GNU/Linux - message queue descriptors are actually file descriptors and - can be inherited between processes. +@@ -288,7 +288,7 @@ + project='man-pages'>mq_overview7 + for details). This expects a valid message queue name (i.e. beginning with + /). Behavior otherwise is very similar to the ListenFIFO= +- directive above. On Linux message queue descriptors are actually file descriptors and can be ++ directive above. On GNU/Linux message queue descriptors are actually file descriptors and can be + inherited between processes. + diff --git a/man/systemd.xml b/man/systemd.xml -index 17ab59beb5..89086558c7 100644 +index 28bf49e131..5cfd0de31a 100644 --- a/man/systemd.xml +++ b/man/systemd.xml -@@ -40,7 +40,7 @@ +@@ -37,7 +37,7 @@ Description -- systemd is a system and service manager for Linux operating -+ systemd is a system and service manager for GNU/Linux operating - systems. When run as first process on boot (as PID 1), it acts as - init system that brings up and maintains userspace - services. -@@ -888,10 +888,10 @@ +- systemd is a system and service manager for Linux operating systems. When run as first process on ++ systemd is a system and service manager for GNU/Linux operating systems. When run as first process on + boot (as PID 1), it acts as init system that brings up and maintains userspace services. Separate + instances are started for logged-in users to start their services. + +@@ -703,9 +703,9 @@ Kernel Command Line - When run as system instance systemd parses a number of -- kernel command line argumentsIf run inside a Linux -+ kernel command line argumentsIf run inside a - container these arguments may be passed as command line arguments - to systemd itself, next to any of the command line options listed -- in the Options section above. If run outside of Linux containers, -+ in the Options section above. If run outside of a container, - these arguments are parsed from /proc/cmdline - instead.: + When run as the system instance systemd parses a number of options listed below. They can be +- specified as kernel command line argumentsIf run inside a Linux container these arguments ++ specified as kernel command line argumentsIf run inside a container these arguments + may be passed as command line arguments to systemd itself, next to any of the command line options listed +- in the Options section above. If run outside of Linux containers, these arguments are parsed from ++ in the Options section above. If run outside of containers, these arguments are parsed from + /proc/cmdline instead., or through the + SystemdOptions EFI variable (on EFI systems). The kernel command line has higher + priority. Following variables are understood: -- 2.18.0 diff --git a/libre-testing/systemd/0001-Use-Arch-Linux-device-access-groups.patch b/libre-testing/systemd/0001-Use-Arch-Linux-device-access-groups.patch index c511144de..ccc9ad2ad 100644 --- a/libre-testing/systemd/0001-Use-Arch-Linux-device-access-groups.patch +++ b/libre-testing/systemd/0001-Use-Arch-Linux-device-access-groups.patch @@ -1,24 +1,19 @@ -From 34e4b4953cb99642e9144d97823edf32b06ffe93 Mon Sep 17 00:00:00 2001 -Message-Id: <34e4b4953cb99642e9144d97823edf32b06ffe93.1520376078.git.jan.steffens@gmail.com> From: "Jan Alexander Steffens (heftig)" 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/50-udev-default.rules.in | 14 +++++++------- + rules.d/50-udev-default.rules.in | 14 +++++++------- sysusers.d/basic.conf.in | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) -diff --git a/rules/50-udev-default.rules.in b/rules/50-udev-default.rules.in +diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in index 191f56f42..f81c4d0fc 100644 ---- a/rules/50-udev-default.rules.in -+++ b/rules/50-udev-default.rules.in +--- 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" SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620" SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620" @@ -70,6 +65,3 @@ index 8e358c02d..33e513a36 100644 g video - - - # Default group for normal users --- -2.16.2 - diff --git a/libre-testing/systemd/0002-FSDG-os-release-Default-PRETTY_NAME-to-GNU-Linux-ins.patch b/libre-testing/systemd/0002-FSDG-os-release-Default-PRETTY_NAME-to-GNU-Linux-ins.patch index 62cd0131c..2be19da05 100644 --- a/libre-testing/systemd/0002-FSDG-os-release-Default-PRETTY_NAME-to-GNU-Linux-ins.patch +++ b/libre-testing/systemd/0002-FSDG-os-release-Default-PRETTY_NAME-to-GNU-Linux-ins.patch @@ -14,23 +14,23 @@ Subject: [PATCH 2/7] FSDG: os-release: Default PRETTY_NAME to "GNU/Linux" 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/man/kernel-install.xml b/man/kernel-install.xml -index cd9756662a..9ead6ea39b 100644 +index 34bb5d2f1e..d22945b5c4 100644 --- a/man/kernel-install.xml +++ b/man/kernel-install.xml -@@ -88,7 +88,7 @@ - /boot/loader/entries/MACHINE-ID-KERNEL-VERSION.conf. +@@ -94,7 +94,7 @@ + $BOOT/loader/entries/MACHINE-ID-KERNEL-VERSION.conf. The title of the entry is the PRETTY_NAME parameter specified in /etc/os-release or /usr/lib/os-release (if the former is -- missing), or "Linux KERNEL-VERSION", if unset. If the file -+ missing), or "GNU/Linux KERNEL-VERSION", if unset. If the file - initrd is found next to the kernel image file, the initrd will be added to the - configuration. - +- missing), or "Linux KERNEL-VERSION", if unset. ++ missing), or "GNU/Linux KERNEL-VERSION", if unset. + + If the entry directory + $BOOT/MACHINE-ID/KERNEL-VERSION/ diff --git a/man/os-release.xml b/man/os-release.xml -index a51edf3b8a..9ff4b7e8c2 100644 +index 5a5e318f75..1afaa679c9 100644 --- a/man/os-release.xml +++ b/man/os-release.xml -@@ -187,7 +187,7 @@ +@@ -184,7 +184,7 @@ suitable for presentation to the user. May or may not contain a release code name or OS version of some kind, as suitable. If not set, defaults to @@ -40,12 +40,12 @@ index a51edf3b8a..9ff4b7e8c2 100644 Miracle)". diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c -index de0fe6eba8..9f239c8eeb 100644 +index 4d81026084..f18bd92289 100644 --- a/src/analyze/analyze.c +++ b/src/analyze/analyze.c -@@ -712,7 +712,7 @@ static int analyze_plot(int argc, char *argv[], void *userdata) { +@@ -747,7 +747,7 @@ static int analyze_plot(int argc, char *argv[], void *userdata) { svg("%s", pretty_times); - if (use_full_bus) + if (host) svg("%s %s (%s %s %s) %s %s", - isempty(host->os_pretty_name) ? "Linux" : host->os_pretty_name, + isempty(host->os_pretty_name) ? "GNU/Linux" : host->os_pretty_name, @@ -53,10 +53,10 @@ index de0fe6eba8..9f239c8eeb 100644 strempty(host->kernel_name), strempty(host->kernel_release), diff --git a/src/core/main.c b/src/core/main.c -index 44dd8348be..9a4fc26425 100644 +index bcce7178a8..7bebcc9e28 100644 --- a/src/core/main.c +++ b/src/core/main.c -@@ -1375,11 +1375,11 @@ +@@ -1242,11 +1242,11 @@ static int status_welcome(void) { return status_printf(NULL, 0, "\nWelcome to \x1B[%sm%s\x1B[0m!\n", isempty(ansi_color) ? "1" : ansi_color, @@ -71,23 +71,23 @@ index 44dd8348be..9a4fc26425 100644 static int write_container_id(void) { diff --git a/src/firstboot/firstboot.c b/src/firstboot/firstboot.c -index a98e53b3a3..41b212e32d 100644 +index c9fc8dd5cd..ffaa1c1c13 100644 --- a/src/firstboot/firstboot.c +++ b/src/firstboot/firstboot.c -@@ -87,7 +87,7 @@ static void print_welcome(void) { +@@ -112,7 +112,7 @@ static void print_welcome(void) { + log_full_errno(r == -ENOENT ? LOG_DEBUG : LOG_WARNING, r, "Failed to read os-release file, ignoring: %m"); - printf("\nWelcome to your new installation of %s!\nPlease configure a few basic system settings:\n\n", -- isempty(pretty_name) ? "Linux" : pretty_name); -+ isempty(pretty_name) ? "GNU/Linux" : pretty_name); - - press_any_key(); +- pn = isempty(pretty_name) ? "Linux" : pretty_name; ++ pn = isempty(pretty_name) ? "GNU/Linux" : pretty_name; + ac = isempty(ansi_color) ? "0" : ansi_color; + if (colors_enabled()) diff --git a/src/kernel-install/90-loaderentry.install b/src/kernel-install/90-loaderentry.install -index a271cdb8a0..29047ccbff 100644 +index 47a0cd224a..9ff48a9d5c 100644 --- a/src/kernel-install/90-loaderentry.install +++ b/src/kernel-install/90-loaderentry.install -@@ -40,7 +40,7 @@ elif [[ -f /usr/lib/os-release ]]; then +@@ -42,7 +42,7 @@ elif [[ -f /usr/lib/os-release ]]; then fi if ! [[ $PRETTY_NAME ]]; then @@ -95,7 +95,7 @@ index a271cdb8a0..29047ccbff 100644 + PRETTY_NAME="GNU/Linux $KERNEL_VERSION" fi - declare -a BOOT_OPTIONS + if [[ -f /etc/kernel/cmdline ]]; then -- 2.18.0 diff --git a/libre-testing/systemd/0006-FSDG-man-Use-FSDG-operating-systems-as-examples.patch b/libre-testing/systemd/0006-FSDG-man-Use-FSDG-operating-systems-as-examples.patch index 0905e6bad..d14058763 100644 --- a/libre-testing/systemd/0006-FSDG-man-Use-FSDG-operating-systems-as-examples.patch +++ b/libre-testing/systemd/0006-FSDG-man-Use-FSDG-operating-systems-as-examples.patch @@ -97,26 +97,29 @@ index 272258b4e1..6cea40cb99 100644 -@@ -323,21 +323,22 @@ - recommended to prefix new fields with an OS specific - name in order to avoid name clashes. Applications - reading this file must ignore unknown fields. Example: -- DEBIAN_BTS="debbugs://bugs.debian.org/" -+ DEBIAN_BTS="debbugs://bugs.gnewsense.org/" - - +@@ -350,25 +350,19 @@ Example - NAME=Fedora --VERSION="17 (Beefy Miracle)" +-VERSION="32 (Workstation Edition)" -ID=fedora --VERSION_ID=17 --PRETTY_NAME="Fedora 17 (Beefy Miracle)" --ANSI_COLOR="0;34" --CPE_NAME="cpe:/o:fedoraproject:fedora:17" +-VERSION_ID=32 +-PRETTY_NAME="Fedora 32 (Workstation Edition)" +-ANSI_COLOR="0;38;2;60;110;180" +-LOGO=fedora-logo-icon +-CPE_NAME="cpe:/o:fedoraproject:fedora:32" -HOME_URL="https://fedoraproject.org/" --BUG_REPORT_URL="https://bugzilla.redhat.com/" +-DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f32/system-administrators-guide/" +-SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" +-BUG_REPORT_URL="https://bugzilla.redhat.com/" +-REDHAT_BUGZILLA_PRODUCT="Fedora" +-REDHAT_BUGZILLA_PRODUCT_VERSION=32 +-REDHAT_SUPPORT_PRODUCT="Fedora" +-REDHAT_SUPPORT_PRODUCT_VERSION=32 +-PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" +-VARIANT="Workstation Edition" +-VARIANT_ID=workstation + NAME=Parabola +VERSION="rolling-release" +ID=parabola @@ -124,26 +127,20 @@ index 272258b4e1..6cea40cb99 100644 +VERSION_ID=rolling-release +PRETTY_NAME="Parabola GNU/Linux-libre" +ANSI_COLOR="1;35" ++LOGO=parabola-logo-icon +CPE_NAME="cpe:/o:parabola:parabola:rolling-release" +HOME_URL="https://www.parabola.nu/" ++DOCUMENTATION_URL="https://wiki.parabola.nu/" ++SUPPORT_URL="https://labs.parabola.nu/projects/parabola-community-forum/boards" +BUG_REPORT_URL="https://labs.parabola.nu/" diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml -index 284c9b294b..7b3d211161 100644 +index 588924ee61..34ff6a7e96 100644 --- a/man/systemd-nspawn.xml +++ b/man/systemd-nspawn.xml -@@ -1,7 +1,7 @@ - - -+ - - ]> - -@@ -1176,11 +1176,12 @@ +@@ -1461,11 +1461,12 @@ Examples @@ -154,10 +151,10 @@ index 284c9b294b..7b3d211161 100644 - # machinectl pull-raw --verify=no \ + # machinectl pull-raw -&2D;verify=no \ - https://download.fedoraproject.org/pub/fedora/linux/releases/&fedora_latest_version;/Cloud/x86_64/images/Fedora-Cloud-Base-&fedora_latest_version;-&fedora_cloud_release;.x86_64.raw.xz - # systemd-nspawn -M Fedora-Cloud-Base-&fedora_latest_version;-&fedora_cloud_release;.x86_64.raw - -@@ -1188,31 +1189,32 @@ + https://download.fedoraproject.org/pub/fedora/linux/releases/&fedora_latest_version;/Cloud/x86_64/images/Fedora-Cloud-Base-&fedora_latest_version;-&fedora_cloud_release;.x86_64.raw.xz \ + Fedora-Cloud-Base-&fedora_latest_version;-&fedora_cloud_release;.x86-64 + # systemd-nspawn -M Fedora-Cloud-Base-&fedora_latest_version;-&fedora_cloud_release;.x86-64 +@@ -1474,37 +1475,36 @@ machinectl1 and opens a shell in it. @@ -169,18 +166,18 @@ index 284c9b294b..7b3d211161 100644 - # dnf -y --releasever=&fedora_latest_version; --installroot=/var/lib/machines/f&fedora_latest_version; \ - --disablerepo='*' --enablerepo=fedora --enablerepo=updates install \ -- systemd passwd dnf fedora-release vim-minimal +- systemd passwd dnf fedora-release vim-minimal glibc-minimal-langpack -# systemd-nspawn -bD /var/lib/machines/f&fedora_latest_version; + # dnf -y --releasever=&blag_latest_version;k --installroot=/var/lib/machines/blag&blag_latest_version; \ + --disablerepo='*' --enablerepo=blag --enablerepo=updates install \ -+ systemd passwd dnf blag-release vim-minimal ++ systemd passwd dnf blag-release vim-minimal glibc-minimal-langpack +# systemd-nspawn -bD /var/lib/machines/blag&blag_latest_version; - This installs a minimal Fedora distribution into the -- directory /var/lib/machines/f&fedora_latest_version; +- directory /var/lib/machines/f&fedora_latest_version; + This installs a minimal BLAG distribution into the -+ directory /var/lib/machines/blag&blag_latest_version; - and then boots an OS in a namespace container in it. Because the installation ++ directory /var/lib/machines/blag&blag_latest_version; + and then boots that OS in a namespace container. Because the installation is located underneath the standard /var/lib/machines/ directory, it is also possible to start the machine using - systemd-nspawn -M f&fedora_latest_version;. @@ -198,26 +195,33 @@ index 284c9b294b..7b3d211161 100644 - This installs a minimal Debian unstable distribution into - the directory ~/debian-tree/ and then -+ This installs a minimal gNewSense unstable distribution into ++ This installs a minimal gNewSense Ucclia distribution into + the directory ~/gnewsense-tree/ and then - spawns a shell in a namespace container in it. + spawns a shell from this image in a namespace container. debootstrap supports -@@ -1227,29 +1229,31 @@ +- Debian, +- Ubuntu, +- and Tanglu ++ gNewSense + out of the box, so the same command can be used to install any of those. For other + distributions from the Debian family, a mirror has to be specified, see + debootstrap8. +@@ -1513,29 +1513,31 @@ Boot a minimal - <ulink url="https://www.archlinux.org">Arch Linux</ulink> distribution in a container + Parabola GNU/Linux-libre distribution in a container -- # pacstrap -c -d ~/arch-tree/ base +- # pacstrap -c ~/arch-tree/ base -# systemd-nspawn -bD ~/arch-tree/ -+ # pacstrap -c -d ~/parabola-tree/ base ++ # pacstrap -c ~/parabola-tree/ base +# systemd-nspawn -bD ~/parabola-tree/ - This installs a minimal Arch Linux distribution into the - directory ~/arch-tree/ and then boots an OS -+ This installs a minimal Parabola distribution into the ++ This installs a minimal Parabola GNU/Linux-libre distribution into the + directory ~/parabola-tree/ and then boots an OS in a namespace container in it. @@ -243,6 +247,43 @@ index 284c9b294b..7b3d211161 100644 Boot into an ephemeral snapshot of the host system +diff --git a/man/custom-entities.ent.in b/man/custom-entities.ent.in +index 9963322fc9..4b71a4ab8f 100644 +--- a/man/custom-entities.ent.in ++++ b/man/custom-entities.ent.in +@@ -11,5 +11,4 @@ + + + +- +- ++ +diff --git a/man/machinectl.xml b/man/machinectl.xml +index 9026849559..7b3b130763 100644 +--- a/man/machinectl.xml ++++ b/man/machinectl.xml +@@ -940,11 +940,12 @@ + to open a shell in it. + + ++ + + + Exports a container image as tar file -- 2.18.0 diff --git a/libre-testing/systemd/20-systemd-sysusers.hook b/libre-testing/systemd/20-systemd-sysusers.hook new file mode 100644 index 000000000..edc71957b --- /dev/null +++ b/libre-testing/systemd/20-systemd-sysusers.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/sysusers.d/*.conf + +[Action] +Description = Creating system user accounts... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook sysusers diff --git a/libre-testing/systemd/30-systemd-binfmt.hook b/libre-testing/systemd/30-systemd-binfmt.hook new file mode 100644 index 000000000..19f3bcc15 --- /dev/null +++ b/libre-testing/systemd/30-systemd-binfmt.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/binfmt.d/*.conf + +[Action] +Description = Registering binary formats... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook binfmt diff --git a/libre-testing/systemd/30-systemd-catalog.hook b/libre-testing/systemd/30-systemd-catalog.hook new file mode 100644 index 000000000..6e717b9a4 --- /dev/null +++ b/libre-testing/systemd/30-systemd-catalog.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/systemd/catalog/* + +[Action] +Description = Updating journal message catalog... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook catalog diff --git a/libre-testing/systemd/30-systemd-daemon-reload.hook b/libre-testing/systemd/30-systemd-daemon-reload.hook new file mode 100644 index 000000000..dff95e497 --- /dev/null +++ b/libre-testing/systemd/30-systemd-daemon-reload.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/systemd/system/* + +[Action] +Description = Reloading system manager configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook daemon-reload diff --git a/libre-testing/systemd/30-systemd-hwdb.hook b/libre-testing/systemd/30-systemd-hwdb.hook new file mode 100644 index 000000000..1b855cf0c --- /dev/null +++ b/libre-testing/systemd/30-systemd-hwdb.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/udev/hwdb.d/* + +[Action] +Description = Updating udev hardware database... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/udev-hook hwdb diff --git a/libre-testing/systemd/30-systemd-sysctl.hook b/libre-testing/systemd/30-systemd-sysctl.hook new file mode 100644 index 000000000..e2354c0b1 --- /dev/null +++ b/libre-testing/systemd/30-systemd-sysctl.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/sysctl.d/*.conf + +[Action] +Description = Applying kernel sysctl settings... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook sysctl diff --git a/libre-testing/systemd/30-systemd-tmpfiles.hook b/libre-testing/systemd/30-systemd-tmpfiles.hook new file mode 100644 index 000000000..b07db6a84 --- /dev/null +++ b/libre-testing/systemd/30-systemd-tmpfiles.hook @@ -0,0 +1,10 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Target = usr/lib/tmpfiles.d/*.conf + +[Action] +Description = Creating temporary files... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook tmpfiles diff --git a/libre-testing/systemd/30-systemd-udev-reload.hook b/libre-testing/systemd/30-systemd-udev-reload.hook new file mode 100644 index 000000000..96e81df0a --- /dev/null +++ b/libre-testing/systemd/30-systemd-udev-reload.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/udev/rules.d/* + +[Action] +Description = Reloading device manager configuration... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/udev-hook udev-reload diff --git a/libre-testing/systemd/30-systemd-update.hook b/libre-testing/systemd/30-systemd-update.hook new file mode 100644 index 000000000..f95d9dcc3 --- /dev/null +++ b/libre-testing/systemd/30-systemd-update.hook @@ -0,0 +1,11 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/ + +[Action] +Description = Arming ConditionNeedsUpdate... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/systemd-hook update diff --git a/libre-testing/systemd/PKGBUILD b/libre-testing/systemd/PKGBUILD index 7f16e3585..79745ec2e 100644 --- a/libre-testing/systemd/PKGBUILD +++ b/libre-testing/systemd/PKGBUILD @@ -11,27 +11,25 @@ pkgname+=('systemd-common' 'systemd-udev') # We split Arch's systemd-libs into systemd-$X, for the following $X: _systemd_libs=('libsystemd' 'libudev' 'nss-systemd' 'nss-myhostname' 'nss-mymachines' 'nss-resolve') pkgname+=("${_systemd_libs[@]/#/systemd-}") -# Can be from either systemd or systemd-stable -_commit='0430af90ef28a229e51136ad364e1da7e76c8638' -pkgver=240.95 -pkgrel=2 -pkgrel+=.par2 +_tag='5ca6cc7f6e95bd98bb014126040d4a5fae541511' # git rev-parse v${pkgver} +pkgver=247.3 +pkgrel=1 +pkgrel+=.parabola1 arch=('x86_64') arch+=('i686' 'armv7h' 'ppc64le') url='https://www.github.com/systemd/systemd' makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf' 'intltool' 'iptables' 'kmod' 'libcap' 'libidn2' 'libgcrypt' - 'libmicrohttpd' 'libxslt' 'util-linux' 'linux-api-headers' + 'libmicrohttpd' 'libxcrypt' 'libxslt' 'util-linux' 'linux-api-headers' 'python-lxml' 'quota-tools' 'shadow' 'git' 'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon' - 'bash-completion') + 'bash-completion' 'p11-kit' 'systemd') makedepends_i686=('gnu-efi-libs' 'pkgconf') makedepends_x86_64=('gnu-efi-libs') options=('strip') validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek -source=(# fragment is latest tag for source verification, final merge in prepare() - "git+https://github.com/systemd/systemd-stable#tag=v${pkgver%.*}?signed" +source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}?signed" "git+https://github.com/systemd/systemd#tag=v${pkgver%.*}?signed" '0001-Use-Arch-Linux-device-access-groups.patch' 'initcpio-hook-udev' @@ -42,16 +40,16 @@ source=(# fragment is latest tag for source verification, final merge in prepare 'splash-parabola.bmp' 'systemd-user.pam' 'systemd-hook' + '20-systemd-sysusers.hook' 'udev-hook' - 'systemd-binfmt.hook' - 'systemd-catalog.hook' - 'systemd-daemon-reload.hook' - 'systemd-hwdb.hook' - 'systemd-sysctl.hook' - 'systemd-sysusers.hook' - 'systemd-tmpfiles.hook' - 'systemd-udev-reload.hook' - 'systemd-update.hook' + '30-systemd-binfmt.hook' + '30-systemd-catalog.hook' + '30-systemd-daemon-reload.hook' + '30-systemd-hwdb.hook' + '30-systemd-sysctl.hook' + '30-systemd-tmpfiles.hook' + '30-systemd-udev-reload.hook' + '30-systemd-update.hook' '0001-FSDG-man-Refer-to-the-operating-system-as-GNU-Linux.patch' '0002-FSDG-os-release-Default-PRETTY_NAME-to-GNU-Linux-ins.patch' '0003-FSDG-os-release-Default-NAME-to-GNU-Linux-instead-of.patch' @@ -61,36 +59,34 @@ source=(# fragment is latest tag for source verification, final merge in prepare '0007-FSDG-bootctl-Say-Systemd-Boot-Manager-instead-of-Lin.patch') sha512sums=('SKIP' 'SKIP' - '9348683829190628e25b7b3300fd880c426d555bde330d5fc5150a9a54b3ad9d4d1f2e69ea1dc6d6f086693dacc53c5af30f1fa7ad9b479791fd77bcdafa430e' + 'e38c7c422c82953f9c2476a5ab8009d614cbec839e4088bff5db7698ddc84e3d8ed64f32ed323f57b1913c5c9703546f794996cb415ed7cdda930b627962a3c4' 'f0d933e8c6064ed830dec54049b0a01e27be87203208f6ae982f10fb4eddc7258cb2919d594cbfb9a33e74c3510cfd682f3416ba8e804387ab87d1a217eb4b73' - '01de24951a05d38eca6b615a7645beb3677ca0e0f87638d133649f6dc14dcd2ea82594a60b793c31b14493a286d1d11a0d25617f54dbfa02be237652c8faa691' + '8e76f8334b95ce7fee9190f4a1016b16109f3a75b68635fc227b2b4791cf8179ef09b532b66b4ed885ddf98ed76befed3106f3c3088f1819ed8cdf4c13e0805a' 'a25b28af2e8c516c3a2eec4e64b8c7f70c21f974af4a955a4a9d45fd3e3ff0d2a98b4419fe425d47152d5acae77d64e69d8d014a7209524b75a81b0edb10bf3a' '70b3f1d6aaa9cd4b6b34055a587554770c34194100b17b2ef3aaf4f16f68da0865f6b3ae443b3252d395e80efabd412b763259ffb76c902b60e23b6b522e3cc8' '6c6f579644ea2ebb6b46ee274ab15110718b0de40def8c30173ba8480b045d403f2aedd15b50ad9b96453f4ad56920d1350ff76563755bb9a80b10fa7f64f1d9' 'a50bc85061a9a16d776235099867bc1a17c17dddb74c1ecf5614c849735a9779c5e34e5ddca8ca6af4b59a40f57c08ecf219b98cab09476ddb0f110e6a35e45c' 'b90c99d768dc2a4f020ba854edf45ccf1b86a09d2f66e475de21fe589ff7e32c33ef4aa0876d7f1864491488fd7edb2682fc0d68e83a6d4890a0778dc2d6fe19' - '12abea62121f4e0867ffbcf6ba96bb1540dd7d86775556fc180ae6c844abfd13310b6782ff6d0e665c8d875446c17b40495d6c2fbc7ddcb42f9a13e1b57a8c40' + 'd8ed2e26a6562ed7835a861a7a534842befec22475db0442cd26350ac54446bc9fec6b4c8429ed6d983cc600564446ab2827ea10cacef7e950220d01f0961214' + '299dcc7094ce53474521356647bdd2fb069731c08d14a872a425412fcd72da840727a23664b12d95465bf313e8e8297da31259508d1c62cc2dcea596160e21c5' 'b7ee4f212c910df62c3472103a64a3cdf0d31292bc2f8fa839e5c86f34faa3ef1a3693601f5716779c4552a0d2b1d57538d45610f4c2e1c80e155ffbf0af187d' - '5a6b6beef8c31c79018884d948de840f4d3dfb07d9a87081ebf65e2b8fe595bc8c96dbd7742920ccf948c233213ed0026abc913650cefd77ad90c6f8c89bddb8' - '4cff2ebd962e26e2f516d8b4ac45c839dbfa54dd0588b423c224a328b9f7c62306ca7b2f6cb55240c564caf9972d5bcd2e0efaf2de49d64729aeb3bc1560c9eb' - '872de70325e9798f0b5a77e991c85bd2ab6de24d9b9ba4e35002d2dd5df15f8b30739a0042a624776177ffc14a838cde7ee98622016ed41df3efda9a659730b2' - '96bb157de6921086a2bfc45a650414fbffa787bccff2cbd838cbe05c6fc635cbabd533360608eb7ca2f80ab7df795065a27abf4a1b1ea2b406612a3fcf420bdc' - 'da783e3bfc6469b92dee4064a13e2b427520d3d96b57c95a4e07aaca3e844d95210a8b16122b022080f5452d65096f274dd1c1467725bbdb2e40ef304b78774a' - '08a590d08043a21f30f04252164b94df972b1ff1022a0469d6aef713e14484a3a037cce290a2a582851e6fac3e64add69d6cc8fc130bbeeaea08626ebf3e1763' - '577e33a1c50b4b41157a67f64162b035dd0c4a541e19cee55a100048bdb50cb2c82852741b1372989a0fe4c4782ba477522747fcc81d72aed99b3db512a86447' - 'c4463fdd25e14a836ac3b874109861a55a0169c4206b6356b53974dd4621f645652087ebf4c738b18734a718fe7fd9ec6b700ce8dd9736525274eb16b10385e6' - '209b01b044877cc986757fa4009a92ea98f480306c2530075d153203c3cd2b3afccab6aacc1453dee8857991e04270572f1700310705d7a0f4d5bed27fab8c67' - 'a40678af1cd677535fb71084f70a10b74e61592c48a7f3901d6b51429c0bae179208b4aebd6700871fdf334d67703c955f01a0cd5165571f53435783c457d568' - 'ff25035b5ed7b7b1720850573235159dee3d3aa5ca042cd5249094727f0e1d9dbf249d5612a1f2fefc20ed1618000277f2c3542ac513465764a98a3405455be2' + '0d6bc3d928cfafe4e4e0bc04dbb95c5d2b078573e4f9e0576e7f53a8fab08a7077202f575d74a3960248c4904b5f7f0661bf17dbe163c524ab51dd30e3cb80f7' + '2b50b25e8680878f7974fa9d519df7e141ca11c4bfe84a92a5d01bb193f034b1726ea05b3c0030bad1fbda8dbb78bf1dc7b73859053581b55ba813c39b27d9dc' + '63e55b3acd14bc54320b6f2310b43398651ad4e262d4f4a0135e05d34a993e56ed673cc46e57f15b418371df5c4cef6f54486db96325e4abb1d33fb1a3946254' + 'cee9240dac5888d1dde916429ac25c022e30b5d7c53ba9e699e281021d2224bfd6e4cc4ac1c71c15f768b720d524cac0dabaae06d026a68759f6fe84b4c62751' + '9426829605bbb9e65002437e02ed54e35c20fdf94706770a3dc1049da634147906d6b98bf7f5e7516c84068396a12c6feaf72f92b51bdf19715e0f64620319de' + 'da7a97d5d3701c70dd5388b0440da39006ee4991ce174777931fea2aa8c90846a622b2b911f02ae4d5fffb92680d9a7e211c308f0f99c04896278e2ee0d9a4dc' + '5aa475f37d35752a95e73417c38c4d3bc4d15d5f1052e95d75b4c4144b74c79af94da1d1e954be536339f9829a1ceb3a1bc5c6adceb187df7a8e5f5a83e4a850' + '825b9dd0167c072ba62cabe0677e7cd20f2b4b850328022540f122689d8b25315005fa98ce867cf6e7460b2b26df16b88bb3b5c9ebf721746dce4e2271af7b97' + 'e963859d9958e527802f118a5ac5f2051343a2ee987f60cae256fc4e8c71f5fe16439375a5d1caf0338f1156775ad087eaab9e8bf9d18633e62ea4d32e713e7f' + '3536a497e4d6cfae76296be7bf903c7645d6a85f96f57256196282f91d3845876d74ca121efeb81df8d524ec3c53f614157a90d213a5d3c4bb14958be701fff9' 'fd0df3d365892d4d461a78bb0b728201e81c1269af07a38e134fadfc0ffb29aade7642142d128abcf88803b86494d7629ff5990359ef067feea3d476c7238a67' 'e9e884015a40dc796fd8cbd8f79b3b9eebc7e48a332b22d52104c21c492be9982b35b7dd30bc29f2c2d274707ffd043eda059659844a4cd50eb433b8a3f7648c' '0d6b894149ec8d0612d1be1dee5daa1768345232e450435ddc750e36a8309dd96782a92f0220169c69103b1c4632af708e4a737cb7ba817944c92dcb61379a30' - 'cf0dd60f56160f6add80ecebf698632bde55ed25e54ffa6cd0fa18da4aa2d446d3e4394295446555db22d32bf3b5f563c7e77a52eeb342a8ddaabd1347032e83' + '34acbb7c47b5ccd14adb6982b734cd718d478e3caf3b7f4e15795c3ba39f3c3f03b0a3f8f5a0c29b4342cd923f892daf55dd22598392900946ea8d185c706c78' '28a5b3fc9e2c5cec9267bb96725c73ee77788514f140c0cf8df765af64bc8130dd02f4863d9128ac45d54256b2ab4f2b06d1a3f65660ce1dfba5727618cd1839') _backports=( - # https://github.com/systemd/systemd/issues/11259 - '8ca9e92c742602b8bcd431001e6f5b78c28c184f' ) _reverts=( @@ -101,15 +97,14 @@ prepare() { # add upstream repository for cherry-picking git remote add -f upstream ../systemd - # merge the latest stable commit (fast-foward only to make sure - # the verified tag is in) - git merge --ff-only "${_commit}" local _c for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" git cherry-pick -n "${_c}" done for _c in "${_reverts[@]}"; do + git log --oneline -1 "${_c}" git revert -n "${_c}" done @@ -123,15 +118,6 @@ prepare() { done } -pkgver() { - cd "$pkgbase-stable" - - local _version _count - _version="$(git describe --abbrev=0 --tags)" - _count="$(git rev-list --count ${_version}..)" - printf '%s.%s' "${_version#v}" "${_count}" -} - build() { local _timeservers=({0..3}.arch.pool.ntp.org) local _nameservers=( @@ -155,20 +141,27 @@ build() { fi local _meson_options=( - # TODO: enable for v241 - #-Dversion-tag="${pkgver}-${pkgrel}-arch" + -Dversion-tag="${pkgver}-${pkgrel}-parabola" + -Dmode=release -Dima=false -Dlibidn2=true -Dlz4=true + -Dman=true + + # We disable DNSSEC by default, it still causes trouble: + # https://github.com/systemd/systemd/issues/10579 -Ddbuspolicydir=/usr/share/dbus-1/system.d + -Ddefault-dnssec=no -Ddefault-hierarchy=hybrid - -Ddefault-locale=C -Ddefault-kill-user-processes=false + -Ddefault-locale=C + -Ddns-over-tls=openssl -Dfallback-hostname='parabola' - -Ddns-servers="${_nameservers[*]}" + -Dnologin-path=/usr/bin/nologin -Dntp-servers="${_timeservers[*]}" + -Ddns-servers="${_nameservers[*]}" -Drpmmacrosdir=no -Dsysvinit-path= -Dsysvrcnd-path= @@ -221,7 +214,7 @@ build() { done install -dm755 "$srcdir/dest/systemd-sysvcompat"/usr/share/man/man8 - mv "$srcdir/dest/systemd"/usr/share/man/man8/{halt,poweroff,reboot,runlevel,shutdown,telinit}.8 \ + mv "$srcdir/dest/systemd"/usr/share/man/man8/{halt,poweroff,reboot,shutdown}.8 \ -t "$srcdir/dest/systemd-sysvcompat"/usr/share/man/man8 rmdir "$srcdir/dest"/systemd/usr/{share/man/man3,lib/pkgconfig,include} @@ -234,8 +227,7 @@ check() { package_systemd() { pkgdesc='system and service manager' license=('LGPL2.1') - groups=('base-devel') - depends=('bash' 'dbus' 'kbd' 'kmod' + depends=('bash' 'dbus' 'kbd' 'kmod' 'libkmod.so' 'systemd-libs' 'pam' 'libelf' 'util-linux' 'pcre2') depends+=("systemd-common=$pkgver-$pkgrel" 'udev') @@ -249,34 +241,35 @@ package_systemd() { 'curl: machinectl pull-tar and pull-raw') backup=(etc/pam.d/systemd-user etc/systemd/coredump.conf + etc/systemd/homed.conf etc/systemd/journald.conf etc/systemd/journal-remote.conf etc/systemd/journal-upload.conf etc/systemd/logind.conf + etc/systemd/networkd.conf + etc/systemd/pstore.conf + etc/systemd/resolved.conf + etc/systemd/sleep.conf etc/systemd/system.conf etc/systemd/timesyncd.conf - etc/systemd/resolved.conf etc/systemd/user.conf) install=systemd.install cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/$pkgname" "$pkgdir" - # don't write units to /etc by default. some of these will be re-enabled on - # post_install. - rm -rv "$pkgdir"/etc/systemd/system/* - # we'll create this on installation rmdir "$pkgdir"/var/log/journal/remote # executable (symlinks) shipped with systemd-sysvcompat - rm "$pkgdir"/usr/bin/{halt,init,poweroff,reboot,runlevel,shutdown,telinit} + rm "$pkgdir"/usr/bin/{halt,init,poweroff,reboot,shutdown} # files shipped with systemd-resolvconf rm "$pkgdir"/usr/{bin/resolvconf,share/man/man1/resolvconf.1} # avoid a potential conflict with [core]/filesystem - rm "$pkgdir"/usr/share/factory/etc/nsswitch.conf - sed -i '/^C \/etc\/nsswitch\.conf/d' "$pkgdir"/usr/lib/tmpfiles.d/etc.conf + rm "$pkgdir"/usr/share/factory/etc/{issue,nsswitch.conf} + sed -i -e '/^C \/etc\/nsswitch\.conf/d' \ + -e '/^C \/etc\/issue/d' "$pkgdir"/usr/lib/tmpfiles.d/etc.conf # add back tmpfiles.d/legacy.conf, normally omitted without sysv-compat install -m0644 $pkgbase-stable/tmpfiles.d/legacy.conf "$pkgdir"/usr/lib/tmpfiles.d @@ -287,11 +280,10 @@ package_systemd() { # add mkinitcpio hooks install -D -m0644 initcpio-install-systemd "$pkgdir"/usr/lib/initcpio/install/systemd - # ensure proper permissions for /var/log/journal - # The permissions are stored with named group by tar, so this works with - # users and groups populated by systemd-sysusers. This is only to prevent a - # warning from pacman as permissions are set by systemd-tmpfiles anyway. - install -d -o root -g systemd-journal -m 2755 "$pkgdir"/var/log/journal + # The group 'systemd-journal' is allocated dynamically and may have varying + # gid on different systems. Let's install with gid 0 (root), systemd-tmpfiles + # will fix the permissions for us. (see /usr/lib/tmpfiles.d/systemd.conf) + install -d -o root -g root -m 2755 "$pkgdir"/var/log/journal # match directory owner/group and mode from [extra]/polkit install -d -o root -g 102 -m 0750 "$pkgdir"/usr/share/polkit-1/rules.d @@ -313,10 +305,11 @@ package_systemd() { package_systemd-common() { pkgdesc='systemd files shared between split packages' license=('LGPL2.1') - depends=('acl' 'cryptsetup' 'libdbus' 'glibc' 'iptables' 'libcap' - 'libgcrypt' 'libidn2' 'libidn2.so' 'libseccomp' 'libsystemd.so' + depends=('acl' 'libacl.so' 'cryptsetup' 'libcryptsetup.so' 'libdbus' + 'glibc' 'iptables' 'libcap' 'libcap.so' + 'libgcrypt' 'libxcrypt' 'libcrypt.so' 'libidn2' 'libseccomp' 'libseccomp.so' 'libsystemd.so' 'libudev.so' 'libblkid.so' 'libmount.so' 'libuuid.so' 'lz4' - 'xz' 'audit') + 'xz' 'audit' 'libaudit.so' 'libp11-kit' 'libp11-kit.so' 'openssl') cp -rT -d --no-preserve=ownership,timestamp "$srcdir/dest/${pkgname#systemd-}" "$pkgdir" } @@ -324,9 +317,8 @@ package_systemd-common() { package_systemd-udev() { pkgdesc='Userspace device file manager' license=('GPL2') # NB: different than the rest - groups=('base' 'base-devel') depends=("systemd-common=$pkgver-$pkgrel" 'systemd-libudev' - 'hwids' 'kmod' 'util-linux' 'zlib') + 'hwids' 'kmod' 'libkmod.so' 'util-linux' 'zlib') backup=(etc/udev/udev.conf) provides+=("${pkgname#systemd-}=$pkgver") @@ -346,7 +338,7 @@ package_systemd-udev() { package_systemd-libs() { pkgdesc='systemd client libraries metapackage' - depends=("${_systemd_libs[@]/libsystemd/libsystemd.so}") + depends=("${_systemd_libs[@]}") license=('LGPL2.1') provides=('libsystemd') conflicts=('libsystemd') @@ -355,7 +347,7 @@ package_systemd-libs() { package_systemd-libsystemd() { pkgdesc='systemd client library' - depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz') + depends=('glibc' 'libcap' 'libcap.so' 'libgcrypt' 'lz4' 'xz' 'zstd') license=('LGPL2.1') provides=('libsystemd.so') @@ -368,8 +360,7 @@ package_systemd-libsystemd() { package_systemd-libudev() { pkgdesc='systemd library for enumerating and introspecting local devices' - groups=('base' 'base-devel') # match systemd-udev - depends=('glibc' 'libcap') + depends=('glibc' 'libcap' 'libcap.so') license=('LGPL2.1') provides=('libudev.so') @@ -382,7 +373,7 @@ package_systemd-libudev() { package_systemd-nss-systemd() { pkgdesc='NSS module providing user and group resolution for dynamic users and groups' - depends=('glibc' 'libcap') + depends=('glibc' 'libcap' 'libcap.so') license=('LGPL2.1') provides+=("${pkgname#systemd-}=$pkgver") @@ -394,7 +385,7 @@ package_systemd-nss-systemd() { package_systemd-nss-myhostname() { pkgdesc='NSS module providing hostname resolution for the locally configured system hostname' - depends=('glibc' 'libcap') + depends=('glibc' 'libcap' 'libcap.so') license=('LGPL2.1') provides+=("${pkgname#systemd-}=$pkgver") @@ -406,7 +397,7 @@ package_systemd-nss-myhostname() { package_systemd-nss-mymachines() { pkgdesc='NSS module providing hostname resolution for local systemd-machined container instances' - depends=('glibc' 'libcap') + depends=('glibc' 'libcap' 'libcap.so') license=('LGPL2.1') provides+=("${pkgname#systemd-}=$pkgver") @@ -418,7 +409,7 @@ package_systemd-nss-mymachines() { package_systemd-nss-resolve() { pkgdesc='NSS module providing hostname resolution via systemd-resolved' - depends=('glibc' 'libcap') + depends=('glibc' 'libcap' 'libcap.so') license=('LGPL2.1') provides+=("${pkgname#systemd-}=$pkgver") @@ -447,7 +438,6 @@ package_systemd-resolvconf() { package_systemd-sysvcompat() { pkgdesc='sysvinit compat for systemd' license=('LGPL2.1') - groups=('base') provides=('init') conflicts=('init' 'sysvinit') depends=('systemd') @@ -456,7 +446,7 @@ package_systemd-sysvcompat() { install -d -m0755 "$pkgdir"/usr/bin ln -s ../lib/systemd/systemd "$pkgdir"/usr/bin/init - for tool in runlevel reboot shutdown poweroff halt telinit; do + for tool in halt poweroff reboot shutdown; do ln -s systemctl "$pkgdir"/usr/bin/$tool done } diff --git a/libre-testing/systemd/initcpio-install-systemd b/libre-testing/systemd/initcpio-install-systemd index 8fb4441f7..18846528c 100644 --- a/libre-testing/systemd/initcpio-install-systemd +++ b/libre-testing/systemd/initcpio-install-systemd @@ -69,10 +69,13 @@ add_systemd_unit() { map add_systemd_unit "${values[@]}" ;; Exec*) - # don't add binaries unless they are required - if [[ ${values[0]:0:1} != '-' ]]; then - add_binary "${values[0]}" - fi + # do not add binaries unless they are required, + # strip special executable prefixes + case ${values[0]} in + -*) ;; + !!*) add_binary "${values[0]#!!}" ;; + *) add_binary "${values[0]#[@!:+]}" ;; + esac ;; esac @@ -103,13 +106,14 @@ add_systemd_drop_in() { build() { local rules unit - # from base - add_binary /bin/mount add_binary /usr/bin/kmod /usr/bin/modprobe - add_binary /usr/lib/systemd/systemd /init + add_binary /usr/bin/mount add_binary /usr/bin/sulogin + add_binary /usr/bin/umount + add_binary /usr/lib/systemd/systemd /init map add_binary \ + /usr/bin/journalctl \ /usr/bin/systemd-tmpfiles \ /usr/lib/systemd/systemd-hibernate-resume \ /usr/lib/systemd/systemd-shutdown \ @@ -118,9 +122,6 @@ build() { /usr/lib/systemd/system-generators/systemd-gpt-auto-generator \ /usr/lib/systemd/system-generators/systemd-hibernate-resume-generator - # for journalctl in emergency shell - add_binary journalctl - # udev rules and systemd units map add_udev_rule "$rules" \ 50-udev-default.rules \ @@ -171,15 +172,9 @@ build() { 'group: files' \ 'shadow: files' - echo "root:x:0:0:root:/:/bin/sh" >"$BUILDROOT/etc/passwd" - echo "root:x:0:root" >"$BUILDROOT/etc/group" - echo "root::::::::" >"$BUILDROOT/etc/shadow" - - add_systemd_drop_in systemd-udevd.service resolve-names <"$BUILDROOT/etc/passwd" + echo 'root:*:::::::' >"$BUILDROOT/etc/shadow" + getent group root audio disk input kmem kvm lp optical render storage tty uucp video | awk -F: ' { print $1 ":x:" $3 ":" }' >"$BUILDROOT/etc/group" add_dir "/etc/modules-load.d" ( diff --git a/libre-testing/systemd/systemd-binfmt.hook b/libre-testing/systemd/systemd-binfmt.hook deleted file mode 100644 index 9c31a4b16..000000000 --- a/libre-testing/systemd/systemd-binfmt.hook +++ /dev/null @@ -1,10 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Target = usr/lib/binfmt.d/*.conf - -[Action] -Description = Registering binary formats... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook binfmt diff --git a/libre-testing/systemd/systemd-catalog.hook b/libre-testing/systemd/systemd-catalog.hook deleted file mode 100644 index d28bddc4b..000000000 --- a/libre-testing/systemd/systemd-catalog.hook +++ /dev/null @@ -1,11 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/lib/systemd/catalog/* - -[Action] -Description = Updating journal message catalog... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook catalog diff --git a/libre-testing/systemd/systemd-daemon-reload.hook b/libre-testing/systemd/systemd-daemon-reload.hook deleted file mode 100644 index 87923e862..000000000 --- a/libre-testing/systemd/systemd-daemon-reload.hook +++ /dev/null @@ -1,11 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/lib/systemd/system/* - -[Action] -Description = Reloading system manager configuration... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook daemon-reload diff --git a/libre-testing/systemd/systemd-hook b/libre-testing/systemd/systemd-hook index 793a42943..00252cf79 100644 --- a/libre-testing/systemd/systemd-hook +++ b/libre-testing/systemd/systemd-hook @@ -7,7 +7,9 @@ systemd_live() { fi } -case $1 in +op="$1"; shift + +case "$op" in catalog) /usr/bin/journalctl --update-catalog ;; update) touch -c /usr ;; sysusers) /usr/bin/systemd-sysusers ;; @@ -17,7 +19,10 @@ case $1 in binfmt) systemd_live; /usr/lib/systemd/systemd-binfmt ;; sysctl) systemd_live; /usr/lib/systemd/systemd-sysctl ;; - *) echo >&2 " Invalid operation '$1'"; exit 1 ;; + # For use by other packages + reload) systemd_live; /usr/bin/systemctl try-reload-or-restart "$@" ;; + + *) echo >&2 " Invalid operation '$op'"; exit 1 ;; esac exit 0 diff --git a/libre-testing/systemd/systemd-hwdb.hook b/libre-testing/systemd/systemd-hwdb.hook deleted file mode 100644 index ec5bcfb94..000000000 --- a/libre-testing/systemd/systemd-hwdb.hook +++ /dev/null @@ -1,11 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/lib/udev/hwdb.d/* - -[Action] -Description = Updating udev hardware database... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/udev-hook hwdb diff --git a/libre-testing/systemd/systemd-sysctl.hook b/libre-testing/systemd/systemd-sysctl.hook deleted file mode 100644 index aec5ac1b0..000000000 --- a/libre-testing/systemd/systemd-sysctl.hook +++ /dev/null @@ -1,10 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Target = usr/lib/sysctl.d/*.conf - -[Action] -Description = Applying kernel sysctl settings... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook sysctl diff --git a/libre-testing/systemd/systemd-sysusers.hook b/libre-testing/systemd/systemd-sysusers.hook deleted file mode 100644 index 9873dd402..000000000 --- a/libre-testing/systemd/systemd-sysusers.hook +++ /dev/null @@ -1,10 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Target = usr/lib/sysusers.d/*.conf - -[Action] -Description = Creating system user accounts... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook sysusers diff --git a/libre-testing/systemd/systemd-tmpfiles.hook b/libre-testing/systemd/systemd-tmpfiles.hook deleted file mode 100644 index df60d8275..000000000 --- a/libre-testing/systemd/systemd-tmpfiles.hook +++ /dev/null @@ -1,10 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Target = usr/lib/tmpfiles.d/*.conf - -[Action] -Description = Creating temporary files... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook tmpfiles diff --git a/libre-testing/systemd/systemd-udev-reload.hook b/libre-testing/systemd/systemd-udev-reload.hook deleted file mode 100644 index 418515daf..000000000 --- a/libre-testing/systemd/systemd-udev-reload.hook +++ /dev/null @@ -1,11 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/lib/udev/rules.d/* - -[Action] -Description = Reloading device manager configuration... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/udev-hook udev-reload diff --git a/libre-testing/systemd/systemd-update.hook b/libre-testing/systemd/systemd-update.hook deleted file mode 100644 index 7084a0c16..000000000 --- a/libre-testing/systemd/systemd-update.hook +++ /dev/null @@ -1,11 +0,0 @@ -[Trigger] -Type = File -Operation = Install -Operation = Upgrade -Operation = Remove -Target = usr/ - -[Action] -Description = Arming ConditionNeedsUpdate... -When = PostTransaction -Exec = /usr/share/libalpm/scripts/systemd-hook update diff --git a/libre-testing/systemd/systemd.install b/libre-testing/systemd/systemd.install index fedc747ea..417110181 100644 --- a/libre-testing/systemd/systemd.install +++ b/libre-testing/systemd/systemd.install @@ -53,6 +53,15 @@ _233_75_3_changes() { fi } +_242_0_2_changes() { + if [[ -L var/lib/systemd/timesync ]]; then + rm var/lib/systemd/timesync + if [[ -d var/lib/private/systemd/timesync ]]; then + mv var/lib/{private/,}systemd/timesync + fi + fi +} + post_install() { systemd-machine-id-setup @@ -87,6 +96,7 @@ post_upgrade() { 230-1 232-8 233.75-3 + 242.0-2 ) for v in "${upgrades[@]}"; do -- cgit v1.2.2