diskimage-builder/elements/dpkg
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
finalise.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
element-deps Standardise manifest creation and retrieval 2014-04-10 12:25:13 +01:00
README.rst Create docs site containing element READMEs 2015-02-10 11:45:35 -08:00

====
dpkg
====
Provide dpkg specific image building glue.

The ubuntu element needs customisations at the start and end of the image build
process that do not apply to RPM distributions, such as using the host machine
HTTP proxy when installing packages. These customisations live here, where they
can be used by any dpkg based element.

The dpkg specific version of install-packages is also kept here.

### Environment Variables ###

* DIB\_ADD\_APT\_KEYS: If an extra or updated apt key is needed then define
  DIB\_ADD\_APT\_KEYS with the path to a folder. Any key files inside will be
  added to the key ring before any apt-get commands take place.
* DIB\_APT\_LOCAL\_CACHE: You can use this variable to disable the internal cache
  of the /var/cache/apt/archives directory by setting it to 0. The default is to bind
  mount the $DIB_IMAGE_CACHE/apt/$DISTRO_NAME directory in
  /var/cache/apt/archives, this to cache the .deb files downloaded during the image
  creation.