diff --git a/diskimage_builder/elements/rhel/environment.d/11-yum-dnf.bash b/diskimage_builder/elements/rhel/environment.d/11-yum-dnf.bash index e3e648dce..0ab96fdd9 100644 --- a/diskimage_builder/elements/rhel/environment.d/11-yum-dnf.bash +++ b/diskimage_builder/elements/rhel/environment.d/11-yum-dnf.bash @@ -1,7 +1,7 @@ # since RHEL8, dnf is the yum replacement. -if [[ ${DIB_RELEASE} == '8' ]]; then - export YUM=dnf -elif [[ ${DIB_RELEASE} == '7' ]]; then +if [[ $DIB_RELEASE == "7" ]]; then export YUM=yum +else + export YUM=dnf fi diff --git a/diskimage_builder/elements/yum/README.rst b/diskimage_builder/elements/yum/README.rst index 6c471c899..c4442eef3 100644 --- a/diskimage_builder/elements/yum/README.rst +++ b/diskimage_builder/elements/yum/README.rst @@ -18,6 +18,10 @@ files will be copied to /etc/yum.repos.d/ during the image build, and then removed at the end of the build. Each repo file should be named differently to avoid a filename collision. +The yum repository can also be configured by defining `DIB_YUM_REPO_PACKAGE` as +a yum available package or a URL to an rpm file. This package can install repo +files with any associated keys and certificates. + Environment Variables for Module Selection during Image Creation ---------------------------------------------------------------- The following environment variable is used to select module streams to be diff --git a/diskimage_builder/elements/yum/pre-install.d/00-install-repo-package b/diskimage_builder/elements/yum/pre-install.d/00-install-repo-package new file mode 100755 index 000000000..1a6ae1aa6 --- /dev/null +++ b/diskimage_builder/elements/yum/pre-install.d/00-install-repo-package @@ -0,0 +1,11 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +if [ -n "${DIB_YUM_REPO_PACKAGE:-}" ] ; then + rpm -ivh ${DIB_YUM_REPO_PACKAGE} +fi diff --git a/releasenotes/notes/repo-package-20fe407795bffd01.yaml b/releasenotes/notes/repo-package-20fe407795bffd01.yaml new file mode 100644 index 000000000..bf9ee8238 --- /dev/null +++ b/releasenotes/notes/repo-package-20fe407795bffd01.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + A custom yum repository can now be configured by defining + `DIB_YUM_REPO_PACKAGE` as a yum available package or a URL to an rpm file. + This package can install repo files with any associated keys and + certificates.