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

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

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.