From 6c78abbde66f372dcec3d12868f296c8d5586101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Correa=20G=C3=B3mez?= Date: Thu, 11 Apr 2024 15:12:03 +0200 Subject: [PATCH] main/postmarketos-base: don't depend on alpine-base alpine-base directly depends on openrc. We have had different[1] conversations[2] with upstream. And the main conclussion[3] has been: if you want to do something different, just depend on things yourself. This is indeed what docker images do. So let's just get the things that we want from alpine base (quite some!), and ignore what we don't want (openrc, busybox openrc and init packages). alpine-conf is now a dependency of postmarketos-base-openrc, since it dependes on openrc for calling setup-* scripts. postmarketos-base-systemd already implements those needed. Contrary to the first attempt[4], I have kept the dependency on alpine-release. Changes to that are independent to the usr-merge, and can be done as a follow-up. This should allow to drop the fork of alpine-base currently in the systemd-extra repository! To this day, every single pmOS installation will have alpine-base in the world file, which means that systemd installs will the forked package until users specifically run "apk del alpine-base". We must add this to release notes and to an edge blog post. Alternatively we could have an empty package with a very high version providing alpine-base. [1] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/63935 [2] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686 [3] https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/71686#note_435428 [4] https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/5026 Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6375 --- main/postmarketos-base/APKBUILD | 15 +++++++++++++-- pmaports.cfg | 2 +- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/main/postmarketos-base/APKBUILD b/main/postmarketos-base/APKBUILD index 8e971cad6..c76cf8e51 100644 --- a/main/postmarketos-base/APKBUILD +++ b/main/postmarketos-base/APKBUILD @@ -1,15 +1,23 @@ pkgname=postmarketos-base pkgver=43 -pkgrel=2 +pkgrel=3 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-base + alpine-baselayout + alpine-release + apk-tools + busybox + busybox-suid devicepkg-utils>=0.2.0 eudev + musl-utils openssh-server-pam postmarketos-keys postmarketos-mvcfg @@ -145,6 +153,9 @@ openrc() { " depends=" !systemd + alpine-conf + busybox-mdev-openrc + busybox-openrc eudev-openrc logbookd logbookd-openrc diff --git a/pmaports.cfg b/pmaports.cfg index 7e4cea8a6..6000a2a51 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 alpine-base +bootstrap_1=abuild bootstrap_2=systemd # Build systemd related pkgs without deps on each other bootstrap_3=dbus linux-pam-pmos