diskimage-builder/elements/yum
Ian Wienand 36b59c001c Standarise tracing for scripts
There is a wide variety of tracing options through the various shell
scripts.  Some use "set -eux", others explicity set xtrace and others
do nothing.  There is a "-x" option to bin/disk-image-create but it
doesn't flow down to the many scripts it calls.

This adds a global integer variable set by disk-image-create
DIB_DEBUG_TRACE.  All scripts have a stanza added to detect this and
turn on tracing.  Any other tracing methods are rolled into this.  So
the standard header is

---
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
    set -x
fi
set -eu
set -o pipefail
---

Multiple -x options can be specified to dib-create-image, which
increases the value of DIB_DEBUG_TRACE.  If script authors feel their
script should only trace at higher levels, they should modify the
"-gt" value.  If they feel it should trace by default, they can modify
the default value also.

Changes to pachset 16 : scripts which currently trace themselves by
default have retained this behaviour with DIB_DEBUG_TRACE defaulting
to "1".  This was done by running [1] on patch set 15.  See the thread
beginning at [2]

dib-lint is also updated to look for the variable being matched.

[1] https://gist.github.com/ianw/71bbda9e6acc74ccd0fd
[2] http://lists.openstack.org/pipermail/openstack-dev/2014-November/051575.html

Change-Id: I6c5a962260741dcf6f89da9a33b96372a719b7b0
2015-02-12 10:41:32 +11:00
..
bin Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
cleanup.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
extra-data.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
post-install.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
pre-install.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
root.d Standarise tracing for scripts 2015-02-12 10:41:32 +11:00
README.rst Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00

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.

A custom yum repository configuration can also be applied by defining DIB_YUM_REPO_CONF to the path to a repo configuration file. The file will be copied to /etc/yum.repos.d/dib-yum-repo-conf.repo during the image build, and then removed at the end of the build.