Skip to content

Allow specifying multiple postmarketOS mirrors

Oliver Smith requested to merge feature/multiple-custom-repos into master

Three small commits:

prettier --help output for -m, -mp arguments

-m is the Alpine mirror, -mp is the postmarketOS mirror. Use "URL" as metavar and add help text that explains how to disable the postmarketOS mirror (so all pmaports get built locally).

remove local postmarketOS mirror folder support

Obscure feature: it was possible to specify a local path as --mirror-pmOS. It would then get mounted to /mnt/postmarketos-mirror inside the chroot, and be specified as such in the generated /etc/apk/repositories file.

I had used this once for some testing scripts, but I am sure nobody is using this anymore. The same can be achieved with running a local http server anyway: https://wiki.postmarketos.org/wiki/Installing_packages_on_a_running_phone

Removing this makes it easier to support multiple postmarketOS mirrors (next commit).

allow specifying multiple postmarketOS mirrors

Multiple -mp arguments can be used to list multiple mirrors: $ pmbootstrap -mp=first -mp=second chroot -- cat /etc/apk/repositories

This is needed for the new build infrastructure, so we can have a WIP repository to which we push packages until all of them are up to date, and then publish all of them at once. Software like KDE/Plasma Mobile, which expect a lot of packages to be updated from one version to another will not end up with a half-way through upgrade that way.

how to test

$ pmbootstrap chroot -- cat /etc/apk/repositories
(should list the default postmarketOS mirror)
$ pmbootstrap chroot -mp="" -- cat /etc/apk/repositories
(should not use any postmarketOS mirror)
$ pmbootstrap chroot -mp="first" -mp="second" -- cat /etc/apk/repositories
(should use first, second as postmarketOS mirrors)

(please do not squash!)

Merge request reports