From a5cefca7b241aa7464c860772055edf13980e206 Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Mon, 5 May 2025 12:55:27 -0700 Subject: [PATCH] Revert: usr merge preparations pmbootstrap isn't ready yet for these patches, so building systemd images is broken when they are in pmaports. This reverts commits: 23894ca89dc6c766b9f0a3ee06f8d7aa82980207. 6c78abbde66f372dcec3d12868f296c8d5586101. 9bcdec3337290fd0271aef4a7eca77a221d6b891. 53500854fef9bd96707734a869b54d5a450467fb. 8639c2c0e44d8bdcfb30d0542a1edc91a0bbac38. 9d33e4d812f6d7cc273ff40d0261fae340e9de08. Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6473 [ci:skip-build]: already built successfully in CI --- extra-repos/systemd/alpine-base/APKBUILD | 33 +++++++++++++++++++ .../postmarketos-base-systemd/APKBUILD | 4 +-- main/postmarketos-base-ui/APKBUILD | 31 +++++++++-------- main/postmarketos-base/APKBUILD | 33 +++++-------------- pmaports.cfg | 2 +- 5 files changed, 59 insertions(+), 44 deletions(-) create mode 100644 extra-repos/systemd/alpine-base/APKBUILD diff --git a/extra-repos/systemd/alpine-base/APKBUILD b/extra-repos/systemd/alpine-base/APKBUILD new file mode 100644 index 000000000..f7d7618d4 --- /dev/null +++ b/extra-repos/systemd/alpine-base/APKBUILD @@ -0,0 +1,33 @@ +# Forked from Alpine to remove openrc dependency + +pkgname=alpine-base +pkgver=9999 +pkgrel=0 +pkgdesc="Meta package for minimal alpine base" +url="https://alpinelinux.org" +arch="noarch" +license="MIT" +depends=" + alpine-baselayout + alpine-release + apk-tools + busybox + busybox-suid + libc-utils +" + +# can't include systemd here, as we wan't to upgrade from alpine's base to our systemd-base while building +subpackages="alpine-release:release" +replaces="alpine-baselayout" +options="pmb:strict !check" + +package() { + mkdir -p "$pkgdir" +} + +release() { + depends="alpine-keys" + pkgdesc="Alpine release data" + + mkdir -p "$subpkgdir" +} diff --git a/extra-repos/systemd/postmarketos-base-systemd/APKBUILD b/extra-repos/systemd/postmarketos-base-systemd/APKBUILD index 00421dd15..581760be5 100644 --- a/extra-repos/systemd/postmarketos-base-systemd/APKBUILD +++ b/extra-repos/systemd/postmarketos-base-systemd/APKBUILD @@ -3,7 +3,7 @@ # pmbootstrap installs this, if systemd is selected in "pmbootstrap init". pkgname=postmarketos-base-systemd pkgver=37 -pkgrel=1 +pkgrel=2 pkgdesc="Meta package for running postmarketOS with systemd" url="https://postmarketos.org" arch="noarch" @@ -38,8 +38,6 @@ depends=" systemd-timesyncd tzdata " -provides="postmarketos-base-init" -provider_priority=100 replaces="alpine-baselayout postmarketos-base systemd systemd-logind" replaces_priority=100 install=" diff --git a/main/postmarketos-base-ui/APKBUILD b/main/postmarketos-base-ui/APKBUILD index f0007e1bd..011ce122e 100644 --- a/main/postmarketos-base-ui/APKBUILD +++ b/main/postmarketos-base-ui/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Clayton Craft pkgname=postmarketos-base-ui pkgver=36 -pkgrel=3 +pkgrel=4 pkgdesc="Meta package for minimal postmarketOS UI base" url="https://postmarketos.org" arch="noarch" @@ -14,7 +14,6 @@ depends=" pipewire postmarketos-artwork-icons postmarketos-base - postmarketos-bootsplash shadow sleep-inhibitor tzdata @@ -25,16 +24,16 @@ depends=" " subpackages=" $pkgname-audio - $pkgname-audio-pipewire:audio_pipewire - $pkgname-audio-pulseaudio:audio_pulseaudio - $pkgname-bluez-openrc:bluez_openrc - $pkgname-bluez-obexd:obexd + $pkgname-audio-pipewire:_audio_pipewire + $pkgname-audio-pulseaudio:_audio_pulseaudio + $pkgname-bluez-openrc:_bluez_openrc + $pkgname-bluez-obexd:_obexd $pkgname-elogind $pkgname-flatpak - $pkgname-networkmanager-usb-tethering:usb_tethering + $pkgname-networkmanager-usb-tethering:_usb_tethering $pkgname-networkmanager - $pkgname-openrc - $pkgname-openrc-settingsd:openrc_settingsd + $pkgname-openrc:_openrc + $pkgname-openrc-settingsd:_openrc_settingsd $pkgname-qt-tweaks:qt_tweaks $pkgname-qt-wayland:qt_wayland $pkgname-tinydm @@ -139,13 +138,13 @@ x11() { amove etc/X11/Xwrapper.config } -bluez_openrc() { +_bluez_openrc() { install_if="$pkgname=$pkgver-r$pkgrel bluez-openrc" amove etc/conf.d/bluetooth } -openrc() { +_openrc() { install_if="$pkgname=$pkgver-r$pkgrel openrc" install="$subpkgname.post-install $subpkgname.post-upgrade" depends=" @@ -172,7 +171,7 @@ elogind() { amove etc/sleep-inhibitor.conf } -openrc_settingsd() { +_openrc_settingsd() { install_if="$pkgname=$pkgver-r$pkgrel openrc-settingsd-openrc" install="$subpkgname.post-install $subpkgname.post-upgrade" replaces="openrc-settingsd-openrc" @@ -187,14 +186,14 @@ tinydm() { amove etc/tinydm.d/env-wayland.d/50-sdl-wayland.sh } -obexd() { +_obexd() { install_if="$pkgname=$pkgver-r$pkgrel bluez-obexd" replaces="bluez-obexd" depends="obex-capabilities" mkdir -p "$subpkgdir" } -usb_tethering() { +_usb_tethering() { install_if="$pkgname-networkmanager=$pkgver-r$pkgrel" replaces="$pkgname-networkmanager" @@ -277,7 +276,7 @@ audio() { mkdir "$subpkgdir" } -audio_pipewire() { +_audio_pipewire() { pkgdesc="Use pipewire as the audio backend. (but may not work with all devices)" depends="pipewire-alsa pipewire-pulse pipewire-spa-bluez pipewire-tools" provides="postmarketos-base-ui-audio-backend=$pkgver-r$pkgrel" @@ -286,7 +285,7 @@ audio_pipewire() { amove usr/share/wireplumber/wireplumber.conf.d/50-bluetooth.conf } -audio_pulseaudio() { +_audio_pulseaudio() { pkgdesc="Use pulseaudio as the audio backend." depends="alsa-plugins-pulse pulseaudio pulseaudio-alsa pulseaudio-utils !pipewire-pulse" provides="postmarketos-base-ui-audio-backend=$pkgver-r$pkgrel" diff --git a/main/postmarketos-base/APKBUILD b/main/postmarketos-base/APKBUILD index c76cf8e51..1e6561d3b 100644 --- a/main/postmarketos-base/APKBUILD +++ b/main/postmarketos-base/APKBUILD @@ -1,27 +1,20 @@ pkgname=postmarketos-base pkgver=43 -pkgrel=3 +pkgrel=4 pkgdesc="Meta package for minimal postmarketOS base" url="https://postmarketos.org" arch="noarch" license="GPL-3.0-or-later" makedepends="postmarketos-initramfs" -# Several of these dependencies come from alpine - base, as the upstream -# recommendation to not depend on openrc has been to copy them here: -# https: // gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686#note_435428 depends=" - alpine-baselayout - alpine-release - apk-tools - busybox - busybox-suid + alpine-base devicepkg-utils>=0.2.0 eudev - musl-utils openssh-server-pam - postmarketos-keys - postmarketos-mvcfg + postmarketos-bootsplash postmarketos-ramdisk + postmarketos-mvcfg + postmarketos-keys sudo-virt zram-init " @@ -39,10 +32,13 @@ subpackages=" " options="!check" +# alpine-base and busybox-initscripts can be removed from here after 23.01 is out replaces=" + alpine-base alpine-baselayout alpine-baselayout-data alpine-release + busybox-initscripts sudo sudo-ldap " @@ -98,11 +94,6 @@ prepare() { } package() { - # pmos-base-init provided by a subpackage in this APKBUILD, and it may not - # exist when this is evaluated at the top level. It's moved into this - # function to work around it. - depends="$depends postmarketos-base-init" - local i for i in $_source440; do install -Dm440 "$srcdir/$(flatpath "$i")" "$pkgdir/$i" @@ -142,8 +133,7 @@ nftables_openrc() { } openrc() { - provides="$pkgname-init" - provider_priority=10 + install_if="$pkgname=$pkgver-r$pkgrel openrc" install="$subpkgname.post-install $subpkgname.post-upgrade" replaces=" busybox-openrc @@ -152,14 +142,9 @@ openrc() { zram-init-openrc " depends=" - !systemd - alpine-conf - busybox-mdev-openrc - busybox-openrc eudev-openrc logbookd logbookd-openrc - openrc openssh-server-common-openrc udev-init-scripts-openrc zram-init-openrc diff --git a/pmaports.cfg b/pmaports.cfg index 6000a2a51..7e4cea8a6 100644 --- a/pmaports.cfg +++ b/pmaports.cfg @@ -15,7 +15,7 @@ supported_heimdall_depends=heimdall,android-tools [repo:systemd] pmaports_dir=systemd # Build forks of Alpine packages that support usr_merge -bootstrap_1=abuild +bootstrap_1=abuild alpine-base bootstrap_2=systemd # Build systemd related pkgs without deps on each other bootstrap_3=dbus linux-pam-pmos