zypper = shutil.which("zypper")
- repos = [Repo("repo-oss", f"baseurl={release_url}", fetch_gpgurls(release_url) if not zypper else [])]
- if updates_url is not None:
- repos += [Repo("repo-update", f"baseurl={updates_url}", fetch_gpgurls(updates_url) if not zypper else [])]
+ # If we need to use a local mirror, create a temporary repository definition
+ # that doesn't get in the image, as it is valid only at image build time.
+ if state.config.local_mirror:
+ repos = [Repo("local-mirror", f"baseurl={state.config.local_mirror}", [])]
+ else:
+ repos = [Repo("repo-oss", f"baseurl={release_url}", fetch_gpgurls(release_url) if not zypper else [])]
+ if updates_url is not None:
+ repos += [Repo("repo-update", f"baseurl={updates_url}", fetch_gpgurls(updates_url) if not zypper else [])]
if zypper:
setup_zypper(state, repos)