Skip to content
Snippets Groups Projects
Unverified Commit 07f04ae1 authored by Oliver Smith's avatar Oliver Smith
Browse files

pmb.helpers.repo.update: support PMB_APK_FORCE_MISSING_REPOSITORIES (MR 2505)

Do not abort if one or more APKINDEX files cannot be downloaded, if
PMB_APK_FORCE_MISSING_REPOSITORIES is set. This is needed when
bootstrapping new stable branches. The same environment variable is
already used in pmbootstrap code to pass --force-missing-repositories to
apk in pmb.chroot.apk.install_run_apk().
parent aa847501
No related branches found
No related tags found
1 merge request!2505pmb.helpers.repo.update: support PMB_APK_FORCE_MISSING_REPOSITORIES
Pipeline #211318 passed
......@@ -215,18 +215,28 @@ def update(arch: Arch | None = None, force: bool = False, existing_only: bool =
)
# Download and move to right location
missing_ignored = False
for i, (url, target) in enumerate(outdated.items()):
pmb.helpers.cli.progress_print(i / len(outdated))
temp = pmb.helpers.http.download(url, "APKINDEX", False, logging.DEBUG, True, True)
if not temp:
logging.info("NOTE: check the [mirrors] section in 'pmbootstrap config'")
raise NonBugError("getting APKINDEX from binary package mirror failed!")
if os.environ.get("PMB_APK_FORCE_MISSING_REPOSITORIES") == "1":
missing_ignored = True
continue
else:
logging.info("NOTE: check the [mirrors] section in 'pmbootstrap config'")
raise NonBugError("getting APKINDEX from binary package mirror failed!")
target_folder = os.path.dirname(target)
if not os.path.exists(target_folder):
pmb.helpers.run.root(["mkdir", "-p", target_folder])
pmb.helpers.run.root(["cp", temp, target])
pmb.helpers.cli.progress_flush()
if missing_ignored:
logging.warn_once(
"NOTE: ignoring missing APKINDEX due to PMB_APK_FORCE_MISSING_REPOSITORIES=1 (fine during bootstrap)"
)
return True
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment