#!/bin/sh set -eux STATE_DIR=${STATE_DIR:-/etc/s6-rc} TEMPLATE_DIR=${TEMPLATE_DIR:-${STATE_DIR}/templates} GENERATE_DIR=${GENERATE_DIR:-${STATE_DIR}/generate} dst_dir=${1:-/run/svtree-generated} doinstall() { local sv_name=${1:?} local dir=${2:?} local dst # replace placeholder in destination name dst="$(readlink -e "$dst_dir")"/"$(basename "$dir" | sed "s/+service/${sv_name}/")" # create destination install -d $dst # copy everything over cp -r ${dir}/* ${dst}/ # replace placeholders with service name find $dst -type f -exec \ sed \ -e "s,+statedir,${STATE_DIR},g" \ -e "s,+service,${sv_name},g" \ -i {} \+ } dogenerate() { local sv_name=${1:?} local sv_template=${2:?} printf "=> generating $sv_template : $sv_name\n" >&2 # iterate over files in $TEMPLATE_DIR/