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, pmbootstrap!2361) -
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, #145 -
required pmbootstrap patch for repo: None || "systemd": https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2405 -
adjust "pmbootstrap repo_missing" for #144 -> pmbootstrap!2410 -
Adjust API to retrieve packages from the systemd repo and store it in the right place -
Testing -
... -
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. -
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 different once this isn't a staging repository anymore. -
Delete master_staging_systemd branch once we know everything works
Edited by Administrator