support building the split systemd repository
In order to add optional systemd support, we will split the upcoming "systemd" dir of pmaports.git into its own binary repository. The result will be, that if you are using an openrc install, then you can be sure that no systemd related packages could be installed by accident as they are in another binary package repository.
pmbootstrap v3 is already able to split systemd packages into a different local binary repository, thanks to Caleb's excellent work on it.
TODO:
-
Preparation: let bpo use pmbootstrap v3 for pmaports master (and master_staging_systemd), while still using 2.3.x for other branches. (Before this is checked, it uses 2.3.x for all branches.) -
Adjust bpo code to support this (bpo wip branch) -
Add code to run testsuite with both pmbootstrap v3 and v2 -
pmb v3: support multiple repos and no repos again (pmbootstrap#2397 (closed), pmbootstrap!2361 (merged)) -
adjust build job to configure repos with pmb v3 -
adjust repo_bootstrap job to configure repos with pmb v3 -
adjust build_image job -
adjust get_depends job
-
-
Ensure testsuite runs through locally with pmbootstrap v3 - Ensure testsuite runs through locally with pmbootstrap v2
- doesn't pass currently for me, but not a good use of time to investigate this right now... pmb v2 will be replaced and it passes in gitlab ci
-
Ensure gitlab-ci works with pmbootstrap v3 -
Ensure gitlab-ci works with pmbootstrap v2 -
Roll this out
-
-
Let it sit for a bit, potentially make more fixes as needed - #141 (closed)
- using pmbv3 for master + staging branches of pmaports was reverted in bpo, but after some more fixes it uses pmbv3 again
-
Let bpo store in its database, which packages are in extra-repos/systemd and which ones are in the main repo -> already in there! but added a database index to keep lookups fast -
Reduce scope by splitting complex tasks for later: #144 (closed), #145 (closed) -
required pmbootstrap patch for repo: None || "systemd": pmbootstrap!2405 (merged) -
adjust "pmbootstrap repo_missing" for #144 (closed) -> pmbootstrap!2410 (merged) -
adjust bpo to support building the split systemd repository -> !119 (merged) -
address all TODOs from pmaports!5563 (merged) -
merge pmbootstrap, bpo patches mentioned above -
upgrade and restart BPO -
merge pmaports!5563 (merged) -
let bpo delete the staging branch (so it doesn't try to build packages on the staging repo anymore) -
temporarily add a backup of the staging repo dir again so it can be used until the new repo is builtmakes deploying harder as bpo at multiple points tries to build packages for the staging repo again if the dir exists, just deleted it for now. -
Adjust pmbootstrap code, in the mirror selection ( pmb/config/init.py
) to properly set the systemd repo mirror when changing the pmOS mirror. Right now it is pmOS mirror + /staging/systemd/, but the path will be pmOS mirror + /extra-repos/systemd once this isn't a staging repository anymore. See also Caleb's comment about pmb adjustments in the systemd chat. -
update edge post - instruct existing systemd users to update their /etc/apk/repositories and add the edge repo below systemd
-
Build the systemd repository via bpo for the first time. Don't delete the master_staging_systemd branch yet, I expect that this does not go smooth the first time.deleted it to make deploying easier. all patches are in master now.- This is in progress, see https://build.postmarketos.org/
-
x86_64 -
aarch64 -
armv7 -
x86 -
riscv64 -
armhf (pmaports#3455 (closed))
-
Build images -> most of them have built successfully now -
ensure pmbootstrap CI runs through again -
adjust pkgs.postmarketos.org to correctly display systemd packages -
pmbootstrap: review and merge MRs with small fixes -
make pmbootstrap release -
fix pmaports CI (might not work as expected with systemd pkgs after the merge?) -
update edge post - note about new pmb release
- link to original systemd blog post for more context
- add a note to the download page that we just merged systemd into edge, linking to this blog post
clean up:
-
fix pmaports#3452
Edited by Clayton Craft