diff --git a/diskimage_builder/elements/zypper-minimal/README.rst b/diskimage_builder/elements/zypper-minimal/README.rst index eb433522..914aa5d5 100644 --- a/diskimage_builder/elements/zypper-minimal/README.rst +++ b/diskimage_builder/elements/zypper-minimal/README.rst @@ -6,3 +6,10 @@ Base element for creating minimal SUSE-based images This element is incomplete by itself so you probably want to use it along with the opensuse-minimal one. It requires 'zypper' to be installed on the host. + +To create a zypper-based image with non-default repositories, set +``DIB_ZYPPER_REPOS`` to a mapping of repository names to URLs, for example:: + + DIB_ZYPPER_REPOS="update=>http://smt-mirror.example.com/SUSE:/SLE-15-SP1:/Update/standard/ " + DIB_ZYPPER_REPOS+="SLE-15-SP1=>http://smt-mirror.example.com/ibs/SUSE:/SLE-15-SP1:/GA/standard/ " + DIB_ZYPPER_REPOS+="SLE-15=>http://smt-mirror.example.com/ibs/SUSE:/SLE-15:/GA/standard/ " diff --git a/diskimage_builder/elements/zypper-minimal/root.d/08-zypper-chroot b/diskimage_builder/elements/zypper-minimal/root.d/08-zypper-chroot index b77802ad..c5fc48fc 100755 --- a/diskimage_builder/elements/zypper-minimal/root.d/08-zypper-chroot +++ b/diskimage_builder/elements/zypper-minimal/root.d/08-zypper-chroot @@ -41,25 +41,29 @@ ZYPPER_INSTALL_SYSTEM_PYTHON="python3" DIB_DISTRIBUTION_MIRROR=${DIB_DISTRIBUTION_MIRROR:-https://download.opensuse.org} -case ${DIB_RELEASE} in - # Old Leap releases - 42*) - ZYPPER_REPOS="update=>${DIB_DISTRIBUTION_MIRROR}/update/leap/${DIB_RELEASE}/oss/ " - ZYPPER_REPOS+="oss=>${DIB_DISTRIBUTION_MIRROR}/distribution/leap/${DIB_RELEASE}/repo/oss/" - ZYPPER_INSTALL_SYSTEM_PYTHON="python" - ;; - # New Leap releases - 15*) - ZYPPER_REPOS="update=>${DIB_DISTRIBUTION_MIRROR}/update/leap/${DIB_RELEASE}/oss/ " - ZYPPER_REPOS+="oss=>${DIB_DISTRIBUTION_MIRROR}/distribution/leap/${DIB_RELEASE}/repo/oss/" - ;; - # Tumbleweed - tumbleweed) - ZYPPER_REPOS="update=>${DIB_DISTRIBUTION_MIRROR}/update/${DIB_RELEASE}/ " - ZYPPER_REPOS+="oss=>${DIB_DISTRIBUTION_MIRROR}/${DIB_RELEASE}/repo/oss/" - ;; - *) echo "Unsupported openSUSE release: ${DIB_RELEASE}"; exit 1 ;; -esac +ZYPPER_REPOS=${DIB_ZYPPER_REPOS:-''} + +if [ -z "${ZYPPER_REPOS}" ] ; then + case ${DIB_RELEASE} in + # Old Leap releases + 42*) + ZYPPER_REPOS="update=>${DIB_DISTRIBUTION_MIRROR}/update/leap/${DIB_RELEASE}/oss/ " + ZYPPER_REPOS+="oss=>${DIB_DISTRIBUTION_MIRROR}/distribution/leap/${DIB_RELEASE}/repo/oss/" + ZYPPER_INSTALL_SYSTEM_PYTHON="python" + ;; + # New Leap releases + 15*) + ZYPPER_REPOS="update=>${DIB_DISTRIBUTION_MIRROR}/update/leap/${DIB_RELEASE}/oss/ " + ZYPPER_REPOS+="oss=>${DIB_DISTRIBUTION_MIRROR}/distribution/leap/${DIB_RELEASE}/repo/oss/" + ;; + # Tumbleweed + tumbleweed) + ZYPPER_REPOS="update=>${DIB_DISTRIBUTION_MIRROR}/update/${DIB_RELEASE}/ " + ZYPPER_REPOS+="oss=>${DIB_DISTRIBUTION_MIRROR}/${DIB_RELEASE}/repo/oss/" + ;; + *) echo "Unsupported openSUSE release: ${DIB_RELEASE}"; exit 1 ;; + esac +fi for repo in ${ZYPPER_REPOS}; do refresh_repo=""