allow specifying multiple postmarketOS mirrors (!1718)

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.
This commit is contained in:
Oliver Smith 2018-11-19 08:36:49 +01:00
parent a92e6a89d0
commit a5a64158e9
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
5 changed files with 35 additions and 12 deletions

View file

@ -67,8 +67,9 @@ def urls(args, user_repository=True, postmarketos_mirror=True):
ret.append("/mnt/pmbootstrap-packages")
# Upstream postmarketOS binary repository
if postmarketos_mirror and args.mirror_postmarketos:
ret.append(args.mirror_postmarketos)
if postmarketos_mirror:
for mirror in args.mirrors_postmarketos:
ret.append(mirror)
# Upstream Alpine Linux repositories
directories = ["main", "community"]
@ -93,9 +94,9 @@ def apkindex_files(args, arch=None):
# Upstream postmarketOS binary repository
urls_todo = []
mirror = args.mirror_postmarketos
if mirror:
urls_todo.append(mirror)
for mirror in args.mirrors_postmarketos:
if mirror:
urls_todo.append(mirror)
# Resolve the APKINDEX.$HASH.tar.gz files
urls_todo += urls(args, False, False)