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
This commit is contained in:
Jane Rachinger 2025-08-05 16:06:24 +02:00
parent 1d45fa8abf
commit 2edc560b12
No known key found for this signature in database
GPG key ID: F98B2E63B3516801

View file

@ -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)" \