#!/bin/sh set -e CONFFILE="/etc/default/container-tools" Install () { DEFAULT="${1}" TARGET="${2}" mkdir -p "${DEFAULT}" mkdir -p "${TARGET}" if [ "${TARGET}" != "${DEFAULT}" ] then if [ -h "${DEFAULT}" ] then rm -f "${DEFAULT}" ln -s "${TARGET}" "${DEFAULT}" else if [ -e "${DEFAULT}" ] && find "${DEFAULT}" -maxdepth 0 -empty > /dev/null 2>&1 then rmdir "${DEFAULT}" ln -s "${TARGET}" "${DEFAULT}" fi fi fi if ! dpkg-statoverride --list "${DEFAULT}" > /dev/null 2>&1 && ! dpkg-statoverride --list "${TARGET}" > /dev/null 2>&1 then chmod 0700 "${TARGET}" chown root:root "${TARGET}" chmod 0700 "${DEFAULT}" chown root:root "${DEFAULT}" fi } case "${1}" in configure) update-alternatives --quiet --install /usr/share/container-tools/scripts/default container-tools_script /usr/share/container-tools/scripts/debootstrap 1000 update-alternatives --quiet --install /usr/share/container-tools/scripts/default container-tools_script /usr/share/container-tools/scripts/curl 2000 update-alternatives --quiet --install /usr/share/container-tools/scripts/default container-tools_script /usr/share/container-tools/scripts/progress-linux 3000 update-alternatives --quiet --install /usr/share/container-tools/scripts/default container-tools_script /usr/share/container-tools/scripts/debian 4000 . /usr/share/debconf/confmodule db_get open-infrastructure-container-tools/machines MACHINES="${RET:-/var/lib/machines}" # string (w/o empty) db_get open-infrastructure-container-tools/config CONFIG="${RET:-/etc/container-tools/config}" # string (w/o empty) db_get open-infrastructure-container-tools/debconf DEBCONF="${RET:-/etc/container-tools/debconf}" # string (w/o empty) db_get open-infrastructure-container-tools/hooks HOOKS="${RET:-/etc/container-tools/hooks}" # string (w/o empty) db_get open-infrastructure-container-tools/cache CACHE="${RET:-/var/cache/container-tools}" # string (w/o empty) db_get open-infrastructure-container-tools/script SCRIPT="${RET:-debian}" # string (w/o empty) db_get open-infrastructure-container-tools/irc IRK_TARGETS="${RET}" # string (w/ empty) db_stop Install "/var/lib/machines" "${MACHINES}" Install "/etc/container-tools/config" "${CONFIG}" Install "/etc/container-tools/debconf" "${DEBCONF}" Install "/etc/container-tools/hooks" "${HOOKS}" Install "/var/cache/container-tools" "${CACHE}" update-alternatives --quiet --set container-tools_script "/usr/share/container-tools/scripts/${SCRIPT}" if [ ! -e "${CONFFILE}" ] then cat > "${CONFFILE}" << EOF # /etc/default/container-tools IRK_TARGETS="${IRK_TARGETS}" EOF fi cp -a -f "${CONFFILE}" "${CONFFILE}.tmp" # If the admin deleted or commented some variables but then set # them via debconf, (re-)add them to the config file. test -z "${IRK_TARGETS}" || \ grep -Eq '^ *IRK_TARGETS=' "${CONFFILE}" || \ echo "IRK_TARGETS=" >> "${CONFFILE}" sed -e "s|^ *IRK_TARGETS=.*|IRK_TARGETS=\"${IRK_TARGETS}\"|" \ < "${CONFFILE}" > "${CONFFILE}.tmp" mv -f "${CONFFILE}.tmp" "${CONFFILE}" if [ -x /sbin/sysctl ] then sysctl -q -p /etc/sysctl.d/zz-container-tools.conf fi ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`${1}'" >&2 exit 1 ;; esac #DEBHELPER# exit 0