diskimage-builder/diskimage_builder/elements/yum
Chandan Kumar (raukadah) ced54fea75 Make DIB_DNF_MODULE_STREAMS part of yum element
While building cloud images, it is common to set modules
for CentOS and RHEL images. Earlier it was part of rhel-common
which was specific to RHEL OS not for CentOS. Moving it
under yum element as module/stream can be enabled or disabled
via dnf itself.

Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: Idc0f277f97e92e4d003f059f01b59f1b5513da34
2021-04-07 16:06:09 +05:30
..
bin Merge branch 'master' into merge-branch 2017-02-09 13:35:53 +11:00
cleanup.d Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
extra-data.d Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
post-install.d Use $YUM instead of direct calls in more places 2019-10-03 00:22:18 +00:00
pre-install.d Make DIB_DNF_MODULE_STREAMS part of yum element 2021-04-07 16:06:09 +05:30
root.d Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
element-deps Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
README.rst Make DIB_DNF_MODULE_STREAMS part of yum element 2021-04-07 16:06:09 +05:30

===
yum
===
Provide yum specific image building glue.

RHEL/Fedora/CentOS and other yum based distributions need specific yum
customizations.

Customizations include caching of downloaded yum packages outside of the build
chroot so that they can be reused by subsequent image builds.  The cache
increases image building speed when building multiple images, especially on
slow connections.  This is more effective than using an HTTP proxy as a yum
cache since the same rpm from different mirrors is often requested.

Custom yum repository configurations can also be applied by defining
`DIB_YUM_REPO_CONF` to a space separated list of repo configuration files. The
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.

Environment Variables for Module Selection during Image Creation
----------------------------------------------------------------
The following environment variable is used to select module streams to be
enabled during an image build on RHEL8.  Any existing stream for the given
module is first disabled prior to enabling the specified stream.

#### DIB\_DNF\_MODULE\_STREAMS
This is a space-separated list of module streams to enable prior to any
RPMs being installed.

Image Build Module Selection Example
------------------------------------
When using Train on RHEL8.2, one must select the appropriate virt and
container-tools module streams:

DIB_DNF_MODULE_STREAMS='virt:8.2 container-tools:3.0'