From 2edc560b128279c417d18d8e40ff575d97d6f493 Mon Sep 17 00:00:00 2001 From: Jane Rachinger Date: Tue, 5 Aug 2025 16:06:24 +0200 Subject: [PATCH] systemd/systemd: fix boot on split-usr systems and cleanup meson options systemd's meson.build looks up various systems utilties at build-time. This wasn't a problem before, but as our buildroots are now usr-merged we can no longer expect that meson's $PATH traversal results in a path to a binary on non-usr-merge system. We need to state our expectations explictly now. This also removes some unneeded options. meson's get_option returns on booleans without any default `true`. Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6884 [ci:skip-build]: already built successfully in CI --- extra-repos/systemd/systemd/APKBUILD | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/extra-repos/systemd/systemd/APKBUILD b/extra-repos/systemd/systemd/APKBUILD index b5b50b2f6..2ab305795 100644 --- a/extra-repos/systemd/systemd/APKBUILD +++ b/extra-repos/systemd/systemd/APKBUILD @@ -9,7 +9,7 @@ pkgname=systemd pkgver=257.7 _pkgver="musl-v${pkgver//_/-}-split-usr" -pkgrel=6 +pkgrel=7 pkgdesc="System and service manager" url="https://github.com/systemd/systemd" # ppc64le and s390x blocked by pmboostrap not supporting @@ -168,36 +168,43 @@ build() { sed -i "/'ENABLE_BOOTLOADER',/d" src/bless-boot/meson.build sed -i "/systemd-bless-boot.service.in/,/},/ s/'ENABLE_BOOTLOADER', //" units/meson.build + # TODO: after usr-merge completion: remove hardcoded "-D*-path" options abuild-meson \ -Dmode=release \ -Dsplit-bin=true \ -Dsplit-usr=true \ \ + -Dquotaon-path=/usr/sbin/quotaon \ + -Dquotacheck-path=/usr/sbin/quotacheck \ -Dkmod-path=/bin/kmod \ + -Dkexec-path=/usr/sbin/kexec \ -Dsulogin-path=/sbin/sulogin \ + -Dmount-path=/bin/mount \ + -Dumount-path=/bin/umount \ + -Dloadkeys-path=/usr/bin/loadkeys \ + -Dsetfont-path=/usr/bin/setfont \ + -Dnologin-path=/sbin/nologin \ \ -Ddebug-shell=/bin/ash \ -Dpolkit=enabled \ -Dpam=enabled \ -Dpamlibdir=/usr/lib/security \ -Dpamconfdir=/usr/lib/pam.d \ + -Dsysupdated=enabled \ + -Dimportd=enabled \ \ -Dbootloader=disabled \ -Dutmp=false \ -Dldconfig=false \ -Duserdb=false \ - -Dimportd=enabled \ -Dhomed=disabled \ -Dnss-myhostname=false \ -Dnss-mymachines=disabled \ -Dnss-resolve=disabled \ -Dnss-systemd=false \ - -Dsysext=true \ - -Dsysupdated=enabled \ - -Dsysusers=true \ -Dselinux=disabled \ \ - -Dman=enabled\ + -Dman=enabled \ -Dhtml=disabled \ \ -Dsystem-alloc-uid-min=101 \ @@ -209,16 +216,17 @@ build() { -Dnobody-group=nobody \ \ -Ddefault-kill-user-processes=true \ - -Dgshadow=false \ -Ddefault-locale=en_US.UTF-8 \ \ + -Dgshadow=false \ + -Didn=false \ + -Dsysvinit-path="" \ + \ -Ddefault-dns-over-tls=yes \ -Ddns-over-tls=openssl \ -Ddns-servers="9.9.9.10#dns10.quad9.net 149.112.112.10#dns10.quad9.net 2620:fe::10#dns10.quad9.net 2620:fe::fe:10#dns10.quad9.net" \ -Dntp-servers="0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 4.pool.ntp.org" \ \ - -Didn=false \ - -Dsysvinit-path="" \ -Dbpf-framework=enabled \ -Dvmlinux-h=provided \ -Dvmlinux-h-path="$(find /usr/src -path "/usr/src/linux-headers-*-stable/vmlinux.h" | sort -V | tail -n1)" \