Compare commits

...
9 Commits
Author SHA1 Message Date
Caleb Connolly 25ae831c68 main/postmarketos-config-nftables: systemd support
Apparently nftables-openrc doesn't get pulled in automatically? But we
can't just depend on it now. Add our own -openrc subpackage with the
correct install_if property to pull in nftables-openrc.

The upstream nftables-openrc subpackage should be fixed (if it's
broken).

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Caleb Connolly 4fc1e8d5a1 main/postmarketos-bootsplash: systemd support
Install a kill-pbsplash systemd service which is configured to be
started as part of the graphical-session user target. Additionally
install an override so that if the display-manager service (aliases to
gdm, sddm, etc) fails to start it will still kill pbsplash.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Caleb Connolly 8d7dacafb4 main/postmarketos-base-ui: support systemd
Not sure if dropping the networkmanager-openrc dependency causes issues.
Otherwise, make the elogind subpackage conflict with systemd-logind.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Oliver Smith 0acf34aa9e main/postmarketos-ui-sxmo-*: set pmb:systemd-never
Sxmo maintainers have decided to stay with OpenRC on postmarketOS. Set
this option, so pmbootstrap doesn't even ask the user if they want to
install Sxmo with systemd. The idea is that users don't end up
reporting issues about this unsupported use case.
2024-03-21 22:43:20 +00:00
Caleb Connolly f23ace4d8b main/postmarketos-base-ui-gnome: split openrc depends to -openrc subpackage
Allow this package to be used on systemd installs without pulling in a
bunch of openrc services.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
2024-03-21 22:43:20 +00:00
Bart Ribbers 35d6480437 main/postmarketos-ui-plasma-{mobile,desktop}: start with systemd (MR 4919)
[ci:ignore-count]
2024-03-21 22:43:12 +00:00
Sam Day 6b4dfa8b07 postmarketos-ui-phosh: systemd support (MR 4904) 2024-03-21 22:31:24 +00:00
Oliver Smith 4116843606 pmaports.cfg: add repo:systemd section 2024-03-21 22:27:59 +00:00
Oliver Smith b5c36f959c main/postmarketos-ui-gnome-mobile: set pmb:systemd
Let pmbootstrap install systemd along with postmarketos-ui-gnome-mobile,
unless the user sets "never" for systemd in "pmbootstrap init".
2024-03-21 22:27:59 +00:00
36 changed files with 277 additions and 91 deletions

No files matched your search

+18 -7
View File
@@ -1,21 +1,17 @@
# Maintainer: Oliver Smith <ollieparanoid@postmarketos.org>
pkgname=postmarketos-base-ui-gnome
pkgver=3
pkgrel=2
pkgver=4
pkgrel=0
pkgdesc="Meta package for shared configuration for GNOME-based UIs"
url="https://postmarketos.org"
arch="noarch"
license="GPL-3.0-or-later"
depends="
apk-polkit-rs-openrc
dnsmasq
elogind
elogind-openrc
gnome-bluetooth
iio-sensor-proxy
iio-sensor-proxy-openrc
modemmanager
modemmanager-openrc
polkit-elogind
postmarketos-base-ui
postmarketos-base-ui-networkmanager
@@ -32,7 +28,10 @@ source="
10_pmOS-wallpaper.gschema.override
"
options="!check"
subpackages="$pkgname-wallpaper-pmos:wallpaper_pmos"
subpackages="
$pkgname-wallpaper-pmos:wallpaper_pmos
$pkgname-openrc:openrc
"
_pmb_recommends="
evince
@@ -60,6 +59,18 @@ package() {
"$srcdir"/*.override
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
depends="
apk-polkit-rs-openrc
iio-sensor-proxy-openrc
modemmanager-openrc
elogind-openrc
"
mkdir "$subpkgdir"
}
# GNOME and Phosh depend on this package to set the pmOS wallpaper. GNOME
# Mobile has a custom wallpaper because it directly draws icons and text on it
# and it would be hard to read with the default wallpaper.
+22 -9
View File
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=postmarketos-base-ui-plasma
pkgver=2
pkgrel=0
pkgrel=1
pkgdesc="Meta package for shared configuration for Plasma-based UIs"
url="https://postmarketos.org"
arch="noarch !armhf" # armhf is not supported
@@ -12,15 +12,11 @@ depends="
bluez-openrc
breeze
dnsmasq
elogind
elogind-openrc
iio-sensor-proxy
iio-sensor-proxy-openrc
kscreen
kwallet-pam
kwayland-integration
modemmanager
modemmanager-openrc
pipewire
polkit-kde-agent-1
postmarketos-base-ui
@@ -28,13 +24,10 @@ depends="
powerdevil
pulseaudio
urfkill
urfkill-openrc
xdg-desktop-portal-kde
"
# Required to launch
depends="$depends
tinydm
tinydm-openrc
xorg-server
"
_pmb_recommends="
@@ -51,7 +44,7 @@ _pmb_recommends="
postmarketos-artwork-wallpapers
xdg-user-dirs
"
install="$pkgname.post-install $pkgname.post-upgrade"
subpackages="$pkgname-openrc $pkgname-systemd"
source="
gtk-app-wayland.sh
kdewallet.kwl
@@ -76,6 +69,26 @@ package() {
"$srcdir"/kdewallet.salt
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="
elogind
elogind-openrc
iio-sensor-proxy-openrc
urfkill-openrc
"
mkdir -p "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="systemd-services"
mkdir -p "$subpkgdir"
}
sha512sums="
57793bb079c76ba3bdcfca7880aa887de11fe80e7a05557b78435e57feabab70fbaeedc42da3aec6f914c35bba8e8ee9918367516eb45ee247f63f694624f179 gtk-app-wayland.sh
@@ -0,0 +1,8 @@
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add iio-sensor-proxy default
rc-update add networkmanager default
rc-update add urfkill default
@@ -0,0 +1 @@
postmarketos-base-ui-plasma-openrc.post-install
@@ -0,0 +1,7 @@
#!/bin/sh
systemctl enable bluetooth
#systemctl enable hfd-service
systemctl enable iio-sensor-proxy
#systemctl enable networkmanager
#systemctl enable urfkill
@@ -0,0 +1 @@
postmarketos-base-ui-plasma-systemd.post-install
@@ -1,22 +0,0 @@
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add iio-sensor-proxy default
rc-update add networkmanager default
rc-update add modemmanager default
rc-update add tinydm default
rc-update add urfkill default
# Migrate from the old ofono setup
if rc-update del ofono default; then
rc-update del ofono-auto-enable default
rc-service stop ofono
rc-service stop ofono-auto-enable
rc-service start modemmanager
fi
glib-compile-schemas /usr/share/glib-2.0/schemas
@@ -1 +0,0 @@
postmarketos-base-ui-plasma.post-install
+2 -3
View File
@@ -1,6 +1,6 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-base-ui
pkgver=20
pkgver=99920
pkgrel=0
pkgdesc="Meta package for minimal postmarketOS UI base"
url="https://postmarketos.org"
@@ -119,7 +119,7 @@ bluez() {
elogind() {
install_if="$pkgname=$pkgver-r$pkgrel elogind"
depends="sleep-inhibitor"
depends="sleep-inhibitor !systemd-logind"
install="$subpkgname.pre-upgrade $subpkgname.post-install"
replaces="
elogind
@@ -177,7 +177,6 @@ networkmanager() {
gojq
networkmanager
networkmanager-cli
networkmanager-openrc
networkmanager-tui
networkmanager-wifi
networkmanager-wwan
+14 -2
View File
@@ -1,6 +1,6 @@
# Maintainer: Caleb Connolly <caleb@connolly.tech>
pkgname=postmarketos-bootsplash
pkgver=0.2.1
pkgver=0.2.2
pkgrel=0
pkgdesc="pmOS integration components for pbsplash"
url="https://postmarketos.org"
@@ -8,9 +8,11 @@ arch="all"
license="CC-BY-SA-3.0"
depends="devicepkg-utils pbsplash"
options="!check" # no testsuite
subpackages="$pkgname-openrc"
subpackages="$pkgname-openrc $pkgname-service"
source="
kill-pbsplash
kill-pbsplash.service
kill-pbsplash-override.conf
99-shutdown-pbsplash.stop
OpenSans-Regular.svg
pmos-logo.svg
@@ -21,6 +23,8 @@ source="
package() {
install -Dm755 "$srcdir/kill-pbsplash" -t "$pkgdir"/etc/init.d/
install -Dm644 "$srcdir/kill-pbsplash.service" -t "$pkgdir"/usr/lib/systemd/system/
install -Dm644 "$srcdir/kill-pbsplash-override.conf" -t "$pkgdir"/usr/lib/systemd/system/display-manager.service.d/
install -Dm755 "$srcdir/99-shutdown-pbsplash.stop" -t "$pkgdir"/etc/local.d/
install -Dm644 "$srcdir"/OpenSans-Regular.svg -t "$pkgdir"/usr/share/pbsplash/
install -Dm644 "$srcdir"/pmos-logo.svg -t "$pkgdir"/usr/share/pbsplash/
@@ -28,6 +32,7 @@ package() {
install -Dm644 "$srcdir"/pmos-logo-text-epaper.svg -t "$pkgdir"/usr/share/pbsplash/
install -Dm644 "$srcdir"/postmarketos-bootsplash.files \
"$pkgdir"/usr/share/mkinitfs/files/30-postmarketos-bootsplash.files
}
openrc() {
@@ -35,8 +40,15 @@ openrc() {
default_openrc
}
service() {
install="$subpkgname.post-install"
default_service
}
sha512sums="
7e5416f0f9de3605dcbc5ddd4b93d244fd6d4fd1bc2d5a15a034263f8517fc51e73509f29f2a13397d059913917990ada89b36ac7b00a0d21c0283fade755c1c kill-pbsplash
47b1266c5d859213e5a759a79c666b7cedf2f7b8b404bef37624b951a905022effc4df6434659e88d4c84966a0000dca63387d4c9ac80b817c2b265abfe4f5c4 kill-pbsplash.service
c413607e21c805fff3d9948963aebf1048cdb2e68ed2f4316723d21f861a32aede7d1bf3851c8ba7562b07302471ca6d8f7be1e0487d83dd4cdea9bbb506e792 kill-pbsplash-override.conf
3b862e2282c79d6ffc7aa8dc3992562c11fea5633c98e3ff9c6205a907f5d995e9fcf098adcf294e0648436df97746a3943b9b761ddf72339cc5589fb8904a8d 99-shutdown-pbsplash.stop
2387c64d84f0ba3ee76925f55c87ce025140aa3cd462107a851c34ffd89bd52f606e0d1f9f371d4f642d96545d5cc1bc0fcfb23ca7629a9149055f068da6bffd OpenSans-Regular.svg
98984fd67b99400d2b08422c4d314da558d3c94ee67dbc895e7bbfd6fdf22d4b2c9d35f48f4b73b383a054f535d4089fb705c5532f034cb2ee54eab2184e8e86 pmos-logo.svg
@@ -0,0 +1,3 @@
[Unit]
# Trigger killing pbsplash when the display manager starts
OnFailure=kill-pbsplash.service
@@ -0,0 +1,12 @@
[Unit]
Description=Kill pbsplash!
After=graphical.target
Requisite=graphical.target
[Service]
ExecStart=-/usr/bin/killall pbsplash
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=graphical.target
@@ -0,0 +1 @@
postmarketos-bootsplash-openrc.post-install
+10 -2
View File
@@ -1,12 +1,12 @@
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=postmarketos-config-nftables
pkgver=0.16
pkgver=0.17
pkgrel=0
pkgdesc="nftables firewall configuration for postmarketOS"
url="https://gitlab.com/postmarketos"
arch="noarch"
license="MIT"
depends="nftables-openrc"
depends=""
subpackages="
$pkgname-openusb:openusb
$pkgname-log:log
@@ -19,6 +19,7 @@ subpackages="
$pkgname-vlc-chromecast:vlc_chromecast
$pkgname-vncserver:vncserver
$pkgname-wifi-display:wifi_display
$pkgname-openrc:openrc
"
source="
rules/00_log_all.nft
@@ -55,6 +56,13 @@ openusb() {
amove etc/nftables.d/60_usb.nft
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
depends="nftables-openrc"
mkdir "$subpkgdir"
}
log() {
depends="$pkgname"
description="Enables logging of nftable events"
+1 -1
View File
@@ -48,7 +48,7 @@ source="
20_pmOS-wallpaper-gnome-mobile.gschema.override
firefox-wayland.sh
"
options="!check"
options="!check pmb:systemd"
package() {
install -Dm755 \
+26 -4
View File
@@ -2,7 +2,7 @@
# Maintainer: Newbyte <newbyte@postmarketos.org>
pkgname=postmarketos-ui-phosh
pkgver=22.3
pkgrel=4
pkgrel=5
pkgdesc="(Wayland) Mobile UI initially developed for the Librem 5"
url="https://phosh.mobi"
arch="noarch !armhf"
@@ -21,8 +21,6 @@ depends="
postmarketos-base-ui-gnome-wallpaper-pmos
postmarketos-base-ui-qt-tweaks
postmarketos-base-ui-qt-wayland
tinydm
tinydm-openrc
udiskie
xdg-desktop-portal-wlr
"
@@ -46,7 +44,11 @@ source="
mimeapps.list
udiskie.desktop
"
options="!check pmb:gpu-accel"
options="!check pmb:gpu-accel pmb:systemd"
subpackages="
$pkgname-openrc:openrc
$pkgname-systemd:systemd
"
package() {
install -Dm644 "$srcdir"/01_postmarketos-ui-phosh.gschema.override \
@@ -57,6 +59,26 @@ package() {
"$pkgdir"/etc/xdg/autostart/udiskie.desktop
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install"
depends="
tinydm
tinydm-openrc
"
mkdir "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install"
depends="
libcap-utils
phosh-service
"
mkdir "$subpkgdir"
}
sha512sums="
e577b8073df680ccee75ef5b6bb1f2877d5727687d63d6fd9211298e791b6c9f593eb79278c77a4b4918e3c57333c2a012030baf5a3c8d6d16000cc63a030f84 01_postmarketos-ui-phosh.gschema.override
a741e8db9e4232334b924326c48be4e4c8f7a2382a7608926918a7491c518b2dda551e55a00d4d5fcf58c7950a78dc35d5cc5eaab53ad93a56de40887071f242 mimeapps.list
@@ -0,0 +1,7 @@
#!/bin/sh
rc-update add tinydm default
rc-update add waked default
tinydm-set-session -s /usr/share/wayland-sessions/phosh.desktop
exit 0
@@ -0,0 +1,3 @@
#!/bin/sh
systemctl enable phosh
@@ -1,9 +1,5 @@
#!/bin/sh
rc-update add tinydm default
rc-update add waked default
tinydm-set-session -s /usr/share/wayland-sessions/phosh.desktop
# Add the user to relevant groups in post-upgrade (symlink to post-install).
# Note that we don't want to rely on users existing in post-install
# (pmaports#820), therefore the group is also set via _pmb_groups during
+20 -3
View File
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=postmarketos-ui-plasma-desktop
pkgver=3
pkgrel=1
pkgrel=2
pkgdesc="(X11/Wayland) KDE Desktop Environment (works well with tablets)"
url="https://www.kde.org"
# armhf and riscv64 blocked by plasma
@@ -37,8 +37,11 @@ _pmb_recommends="$_pmb_recommends
wayland-utils
xdpyinfo
"
install="$pkgname.post-install $pkgname.post-upgrade"
options="!check" # No tests for a metapkg
options="!check pmb:systemd" # No tests for a metapkg
subpackages="
$pkgname-openrc:openrc
$pkgname-systemd:systemd
"
package() {
mkdir -p "$pkgdir"
@@ -57,3 +60,17 @@ extras() {
mkdir -p "$subpkgdir"
}
openrc() {
install_if="$pkgname=$pkgver-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir -p "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install $subpkgname.post-upgrade"
mkdir -p "$subpkgdir"
}
@@ -8,6 +8,5 @@ if [ -f ${SDDM_CONF} ]; then
fi
fi
rc-update add modemmanager default
rc-update add sddm default
rc-update add networkmanager default
rc-update add bluetooth default
@@ -0,0 +1 @@
postmarketos-ui-plasma-desktop-openrc.post-install
@@ -0,0 +1,11 @@
#!/bin/sh
SDDM_CONF=/etc/sddm.conf
if [ -f ${SDDM_CONF} ]; then
if ! grep -q "InputMethod" $SDDM_CONF; then
echo "InputMethod=qtvirtualkeyboard" >> $SDDM_CONF
fi
fi
systemctl enable sddm
@@ -0,0 +1 @@
postmarketos-ui-plasma-desktop-systemd.post-install
@@ -1 +0,0 @@
postmarketos-ui-plasma-desktop.post-install
+25 -3
View File
@@ -29,15 +29,15 @@ _pmb_recommends="
spacebar
ttyescape
"
install="$pkgname.post-install $pkgname.post-upgrade"
source="
plasma-mobile.service
kscreenlockerrc
maliit-plasmamobile.json
org.kde.phone.homescreen.js
"
subpackages="$pkgname-extras"
subpackages="$pkgname-extras $pkgname-openrc $pkgname-systemd"
replaces="plasma-mobile"
options="!check pmb:gpu-accel"
options="!check pmb:gpu-accel pmb:systemd"
package() {
install -Dm644 \
@@ -72,8 +72,30 @@ extras() {
mkdir -p "$subpkgdir"
}
openrc() {
install_if="$pkgname=$pkgrel-r$pkgrel openrc"
install="$subpkgname.post-install $subpkgname.post-upgrade"
depends="
modemmanager-openrc
tinydm
tinydm-openrc
"
mkdir -p "$subpkgdir"
}
systemd() {
install_if="$pkgname=$pkgver-r$pkgrel systemd"
install="$subpkgname.post-install $subpkgname.post-upgrade"
install -Dm644 "$srcdir"/plasma-mobile.service \
"$subpkgdir"/usr/lib/systemd/system/plasma-mobile.service
}
sha512sums="
e12d8e98e28a795f879aebcceb32a991ee4abcb3bc5ec458aa5378bb52ff86cf39be04bc4a196925f532d623304b3005f561fa5e55d1c87944d718058ec4c0e6 plasma-mobile.service
b3aa8ee26c01de103c0c0af23532bf232f7071fdd02c53bd787d78e5974faa5662fc5776ce9be417392214ae73334b0eb0d073fe24f616a0ce99081f30b9158c kscreenlockerrc
70ee87860842057b557a433a9ae7d54653f076a612b3d9de2d413d598806d23ec19390262eaa398cddf39437f1213d14922402a8d978878e5e98f3767ce0b9eb maliit-plasmamobile.json
50dbb5e0b1550776ca6fc5b91468412b23d49aa502af77cf7d5d15af11eaf61b1632b205f42eac3274bf28a0b7b278a4d6bfc98c6c12ea29830fd258bad5107d org.kde.phone.homescreen.js
@@ -0,0 +1,58 @@
[Unit]
Description=Open-source user interface for phones, based on Plasma technologies
Documentation=https://invent.kde.org/plasma-mobile
# replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service
# Needs all the dependencies of the services it's replacing
# (currently getty@tty1.service):
After=rc-local.service plymouth-quit-wait.service systemd-user-sessions.service
OnFailure=getty@tty1.service
# D-Bus is necessary for contacting logind. Logind is required.
Wants=dbus.socket
After=dbus.socket
# This scope is created by pam_systemd when logging in as the user.
# This directive is a workaround to a systemd bug, where the setup of the
# user session by PAM has some race condition, possibly leading to a failure.
# See README for more details.
After=session-c1.scope
# Since we are part of the graphical session, make sure we are started before
# it is complete.
Before=graphical.target
# Prevent starting on systems without virtual consoles
ConditionPathExists=/dev/tty0
[Service]
Environment=LANG=C.UTF-8
ExecStart=/usr/bin/startplasmamobile
TimeoutStartSec=30
User=10000
PAMName=login
WorkingDirectory=~
Restart=always
RestartSec=5s
# A virtual terminal is needed.
TTYPath=/dev/tty7
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
# Fail to start if not controlling the tty.
StandardInput=tty-fail
StandardOutput=journal
StandardError=journal
# Log this user with utmp, letting it show up with commands 'w' and 'who'.
UtmpIdentifier=tty7
UtmpMode=user
[Install]
WantedBy=graphical.target
@@ -0,0 +1,6 @@
#!/bin/sh
rc-update add modemmanager default
rc-update add tinydm default
tinydm-set-session -s /usr/share/wayland-sessions/plasma-mobile.desktop
@@ -0,0 +1 @@
postmarketos-ui-plasma-mobile-openrc.post-install
@@ -0,0 +1,3 @@
#!/bin/sh
systemctl enable plasma-mobile
@@ -0,0 +1 @@
postmarketos-ui-plasma-mobile-systemd.post-install
@@ -1,24 +0,0 @@
#!/bin/sh
rc-update add bluetooth default
rc-update add elogind default
rc-update add hfd-service default
rc-update add iio-sensor-proxy default
rc-update add networkmanager default
rc-update add modemmanager default
rc-update add tinydm default
rc-update add urfkill default
# Migrate from the old ofono setup
if rc-update del ofono default; then
rc-update del ofono-auto-enable default
rc-service stop ofono
rc-service stop ofono-auto-enable
rc-service start modemmanager
fi
tinydm-set-session -s /usr/share/wayland-sessions/plasma-mobile.desktop
glib-compile-schemas /usr/share/glib-2.0/schemas
@@ -1 +0,0 @@
postmarketos-ui-plasma-mobile.post-install
+1 -1
View File
@@ -44,7 +44,7 @@ _pmb_recommends="
"
provides="postmarketos-ui-sxmo"
provider_priority=5
options="!check" # has no tests
options="!check pmb:systemd-never"
package() {
mkdir -p "$pkgdir"
+1 -1
View File
@@ -49,7 +49,7 @@ _pmb_recommends="
"
provides="postmarketos-ui-sxmo"
provider_priority=10
options="!check" # has no tests
options="!check pmb:systemd-never"
package() {
mkdir -p "$pkgdir"
+11
View File
@@ -11,3 +11,14 @@ supported_mkinitfs_without_flavors=True
supported_arches=x86_64,x86,aarch64,armv7,armhf
supported_fastboot_depends=android-tools
supported_heimdall_depends=heimdall,android-tools
[repo:systemd]
pmaports_dir=systemd
# Build forks of Alpine packages that support usr_merge
bootstrap_1=apk-tools abuild alpine-base
# Build systemd related pkgs without deps on each other
bootstrap_2=[usr_merge] systemd dbus linux-pam
# Build systemd related pkgs *with* deps on each other
bootstrap_3=[usr_merge] systemd dbus linux-pam
# Marker that bootstrap is done, only needs to be built once
bootstrap_4=[usr_merge] postmarketos-base-systemd