Skip to content

Latest commit

 

History

History

packages.d

This directory contains files named after debian packages.  There are
several types of files:

* "${package}.${stage}.add"     - directory with files to add
* "${package}.${stage}"         - scripts for complex changes

The ".add" directories contain a directory structure that is added
to the build area if the named package is installed.  This is done
before any scripts are run in that stage, allowing the scripts to
make modifications if needed.

The "package.stage" scripts are responsible for any more complex
customisations.  These customisations are applied in several phases,
and each package that is found installed in the rescue system will
attempt to run its matching script during each phase.

If a change is needed to be made globally - regardless of which
packages are installed, then there is a virtual package name that
can be used.  The name "_ALWAYS" can be substituted in the above
patterns to produce a rule that is allways applied.

Currently the phases are:

"minimise"
    During this phase, anything that can be removed to minimise the
    installed size is removed.

"fixup"
    This phase performs the changes needed to make the image actually
    bootable.  Any service startup warnings and errors are also addressed
    here.

"customise"
    Add, remove or edit config files in the image to configure it to be
    useful (in contrast to fixing what is broken in the "fixup" above).
    E.G: configuring daemons to start on bootup or setting the default
    network configuration

Output and exit codes:

These scripts are expected to be silent on their output unless they encounter
an error.  The exit codes are interpreted as follows:

    0       all successful
    1       the requested stage is not supported by this script (not an error)
    other   an error was encountered - stop the build