diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-08-28 06:23:52 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-08-28 09:25:53 +0000 |
commit | 0e8f43a5216b46c61d424b5d84e4c9f026284992 (patch) | |
tree | 77a30900fcba15609631f69f09ac6909e80ab7a6 /debian/open-infrastructure-dehydrated-tools.postinst | |
parent | Removing unused gitignore in debian directory. (diff) | |
download | open-infrastructure-service-tools-0e8f43a5216b46c61d424b5d84e4c9f026284992.tar.xz open-infrastructure-service-tools-0e8f43a5216b46c61d424b5d84e4c9f026284992.zip |
Adding additional tool packages, disabled for the time being.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/open-infrastructure-dehydrated-tools.postinst')
-rwxr-xr-x | debian/open-infrastructure-dehydrated-tools.postinst | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/debian/open-infrastructure-dehydrated-tools.postinst b/debian/open-infrastructure-dehydrated-tools.postinst new file mode 100755 index 0000000..116223f --- /dev/null +++ b/debian/open-infrastructure-dehydrated-tools.postinst @@ -0,0 +1,160 @@ +#!/bin/sh + +set -e + +Config () +{ + FILE="${1}" + KEY="${2}" + VALUE="${3}" + + TMPFILE="$(mktemp --dry-run ${FILE}.XXXX)" + + if [ ! -e "${FILE}" ] + then + +cat > "${FILE}" << EOF +# ${FILE} + +${KEY}="${VALUE}" +EOF + + fi + + cp -a -f "${FILE}" "${TMPFILE}" + + test -z "${VALUE}" || \ + grep -Eq "^ *$(echo ${KEY})=" "${FILE}" || \ + echo "${KEY}=" >> "$FILE}" + + sed -e "s|^ *\($(echo ${KEY})\)=.*|\1=\"${VALUE}\"|" \ + < "${FILE}" > "${TMPFILE}" + + mv -f "${TMPFILE}" "${FILE}" +} + +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}" ] && [ -z "$(ls -A ${DEFAULT})" ] + 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 + if getent group ssl-cert > /dev/null 2>&1 + then + GROUP="ssl-cert" + else + GROUP="root" + fi + + chmod 0770 "${TARGET}" + chown root:"${GROUP}" "${TARGET}" + + chmod 0770 "${DEFAULT}" + chown root:"${GROUP}" "${DEFAULT}" + fi +} + +case "${1}" in + configure) + . /usr/share/debconf/confmodule + + db_get open-infrastructure-dehydrated-tools/ca + CA="${RET}" # select + + db_get open-infrastructure-dehydrated-tools/challengetype + CHALLENGETYPE="${RET}" # select + + db_get open-infrastructure-dehydrated-tools/contact-email + CONTACT_EMAIL="${RET}" # string (w/ empty) + + db_get open-infrastructure-dehydrated-tools/hooks + HOOKS="${RET}" # multi-select (w/ empty) + + db_get open-infrastructure-dehydrated-tools/basedir + NEW_BASEDIR="${RET}" # string (w/o empty) + + db_get open-infrastructure-dehydrated-tools/register + REGISTER="${RET}" # boolean + + db_stop + + Config /etc/dehydrated/conf.d/ca.sh CA ${CA} + Config /etc/dehydrated/conf.d/challenge.sh CHALLENGETYPE ${CHALLENGETYPE} + Config /etc/dehydrated/conf.d/contact.sh CONTACT_EMAIL ${CONTACT_EMAIL} + + for HOOK in $(cd /usr/share/dehydrated/hooks && find -maxdepth 1 -not -type d -printf '%P\n' | sort) + do + if [ -L "/etc/dehydrated/hook.d/${HOOK}" ] + then + rm -f "/etc/dehydrated/hook.d/${HOOK}" + fi + done + + if [ -n "${HOOKS}" ] + then + Config /etc/dehydrated/conf.d/hook.sh HOOK /usr/bin/dehydrated-hook.d + + HOOKS="$(echo ${HOOKS} | sed -e 's|,| |g')" + + for HOOK in ${HOOKS} + do + if [ ! -e "/etc/dehydrated/hook.d/${HOOK}" ] + then + ln -sf "/usr/share/dehydrated/hooks/${HOOK}" "/etc/dehydrated/hook.d/${HOOK}" + fi + done + fi + + for FILE in /etc/dehydrated/config /etc/dehydrated/conf.d/*.sh + do + if [ -e "${FILE}" ] + then + . ${FILE} || true + fi + done + + if [ -n "${NEW_BASEDIR}" ] && [ "${BASEDIR}" != "${NEW_BASEDIR}" ] + then + Install "${BASEDIR}" "${NEW_BASEDIR}" + fi + + case "${REGISTER}" in + true) + dehydrated --register --accept-terms + ;; + esac + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`${1}'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 |