Add DIB_YUM_REPO_PACKAGE as an alternative to DIB_YUM_REPO_CONF

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.

A good example of such a package upstream is rdo-release[1] which
includes multiple repo files, the repo keys, and a root certificate.
This makes these repos impractical to install via DIB_YUM_REPO_CONF.

Downstream, repo packages like this a frequently used to bootstrap
development builds of RHEL with development repos.

[1] https://www.rdoproject.org/repos/rdo-release.rpm

Change-Id: I2832e723998c9bd7635cdf7541a4c20eff6294d2
This commit is contained in:
Steve Baker 2021-08-30 10:20:16 +12:00
parent 017ba12eb0
commit 296c81b9ca
4 changed files with 25 additions and 3 deletions

View File

@ -1,7 +1,7 @@
# since RHEL8, dnf is the yum replacement. # since RHEL8, dnf is the yum replacement.
if [[ ${DIB_RELEASE} == '8' ]]; then if [[ $DIB_RELEASE == "7" ]]; then
export YUM=dnf
elif [[ ${DIB_RELEASE} == '7' ]]; then
export YUM=yum export YUM=yum
else
export YUM=dnf
fi fi

View File

@ -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 removed at the end of the build. Each repo file should be named differently to
avoid a filename collision. 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 Environment Variables for Module Selection during Image Creation
---------------------------------------------------------------- ----------------------------------------------------------------
The following environment variable is used to select module streams to be The following environment variable is used to select module streams to be

View File

@ -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

View File

@ -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.