From 318a1a2246a9f521e5a02313dcc1f6d68a0af7ec Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 18:16:14 +0200 Subject: Adding debian version 4.96-15+deb12u4. Signed-off-by: Daniel Baumann --- debian/debconf/update-exim4.conf.template | 141 ++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100755 debian/debconf/update-exim4.conf.template (limited to 'debian/debconf/update-exim4.conf.template') diff --git a/debian/debconf/update-exim4.conf.template b/debian/debconf/update-exim4.conf.template new file mode 100755 index 0000000..f2dc475 --- /dev/null +++ b/debian/debconf/update-exim4.conf.template @@ -0,0 +1,141 @@ +#!/bin/bash + +set -e + +CONFDIR="${CONFDIR:-/etc/exim4}" +DONOTRUN='true' + +UPEX4CT_outputfile="${CONFDIR}/exim4.conf.template" + +usage() { +cat <&2 + exit 1 +fi + +eval set -- ${TEMP} +while test "$1" != "--"; do + case $1 in + -h|--help) + usage + exit 0 + ;; + -o|--output) + shift + UPEX4CT_outputfile="$1" + ;; + -n|--nobackup) + NOBACKUP=1 + ;; + -r|--run) + DONOTRUN='false' + ;; + esac + shift +done +shift + +# No non-option arguments allowed. +if [ "$#" -ne 0 ]; then + echo "No non option arguments ($@) allowed" >&2 + usage >&2 + exit 1 +fi + +# run-parts emulation, stolen from Branden's /etc/X11/Xsession +# Addition: Use file.rul instead if file if it exists. +run_parts () { + # reset LC_COLLATE + unset LANG LC_COLLATE LC_ALL + + if [ -z "$1" ]; then + errormessage "$0: internal run_parts called without an argument" + fi + if [ ! -d "$1" ]; then + errormessage "$0: internal run_parts called, but $1 does not exist or is not a directory." + fi + for F in $(ls $1 | grep -v /.svn); do + if expr "$F" : '[[:alnum:]_-]\+$' > /dev/null 2>&1; then + if [ -f "$1/$F" ] ; then + if [ -f "$1/${F}.rul" ] ; then + echo "$1/${F}.rul" + else + echo "$1/$F" + fi + fi + fi + done; +} +# also from Branden +errormessage () { + # pretty-print messages of arbitrary length (no trailing newline) + echo "$*" | fold -s -w ${COLUMNS:-80} >&2; +} + +cat_parts() { + if [ -z "$1" ]; then + errormessage "$0: internal cat_parts called without an argument" + fi + if [ ! -d "$1" ]; then + errormessage "$0: internal cat_parts called, but $1 does not exist or is not a directory." + fi + for file in $(run_parts $1); do + echo "#####################################################" + echo "### $file" + echo "#####################################################" + cat $file + echo "#####################################################" + echo "### end $file" + echo "#####################################################" + done +} + +if [ "$DONOTRUN" = "true" ]; then + errormessage "This program overwrites conffiles. Do not run unless you have consulted the manpage." >&2 + echo "Terminating..." >&2 + exit 1 +fi + + +if [ -e "${UPEX4CT_outputfile}" ] && [ -z "$NOBACKUP" ]; then + if [ -e "${UPEX4CT_outputfile}.bak.$$" ]; then + echo >&2 "ERR: ${UPEX4CT_outputfile}.bak.$$ already exists, aborting" + exit 1 + fi +fi + +NEWTEMPLATE=$(mktemp) +if [ -f "${UPEX4CT_outputfile}" ] ; then + chmod --reference="${UPEX4CT_outputfile}" "$NEWTEMPLATE" +else + chmod 0644 "$NEWTEMPLATE" +fi + +# generate .template. Ugly - better alternative? +SAVEWD="$(pwd)" +cd ${CONFDIR}/conf.d +for i in main acl router transport retry rewrite auth ; do + cat_parts $i +done > "$NEWTEMPLATE" +cd "$SAVEWD" + +if [ -e "${UPEX4CT_outputfile}" ] && [ -z "$NOBACKUP" ] ; then + mv "${UPEX4CT_outputfile}" \ + "${UPEX4CT_outputfile}.bak.$$" +fi +mv "$NEWTEMPLATE" "${UPEX4CT_outputfile}" -- cgit v1.2.3