diff --git a/elements/install-static/README.md b/elements/install-static/README.md new file mode 100644 index 00000000..0e5a819c --- /dev/null +++ b/elements/install-static/README.md @@ -0,0 +1,7 @@ +Copy static files into the built image. + +The contents of any ``static/`` subdirs of elements will be installed into +these images at build time using ``rsync -lCr``. So to install a file +``/etc/boo``, include ``static/etc/boo`` in your element. + +Note: This installs all files with owner and group of root. diff --git a/elements/install-static/install.d/10-install-static-files b/elements/install-static/install.d/10-install-static-files new file mode 100755 index 00000000..bef537ce --- /dev/null +++ b/elements/install-static/install.d/10-install-static-files @@ -0,0 +1,11 @@ +#!/bin/bash +# Note that this relies on the detail that all elements share one dir inside +# the chroot. This will copy all the files that elements have added to +# element/static into the image. Mode, symlinks etc will be respected. +set -eux +set -o pipefail + +STATIC_SOURCE="$(dirname $0)/../static" +[ -d "${STATIC_SOURCE}" ] || exit 0 + +rsync -lCr "${STATIC_SOURCE}"/ /