summaryrefslogtreecommitdiff
path: root/debian/sendmail-base.postinst.in
diff options
context:
space:
mode:
Diffstat (limited to 'debian/sendmail-base.postinst.in')
-rw-r--r--debian/sendmail-base.postinst.in116
1 files changed, 116 insertions, 0 deletions
diff --git a/debian/sendmail-base.postinst.in b/debian/sendmail-base.postinst.in
new file mode 100644
index 0000000..769e441
--- /dev/null
+++ b/debian/sendmail-base.postinst.in
@@ -0,0 +1,116 @@
+#!/bin/sh -e
+#
+# Debian post installation script
+#
+# Install of already installed package:
+# 1) old-prerm upgrade new-version
+# *) new-prerm failed-upgrade old-version
+# *) old-postinst abort-upgrade new-version
+#
+# If a `conflicting' package is being removed at the same time:
+# 1) forall packages depending on conflicting package and --auto-deconfigure
+# deconfigured's-prerm deconfigure \
+# in-favour package-being-installed version \
+# removing conflicting-package version
+# *) deconfigured's-postinst abort-deconfigure \
+# in-favour package-being-installed-but-failed version \
+# removing conflicting-package version
+# 2) To prepare for removal of the conflicting package
+# conflictor's-prerm remove \
+# in-favour package new-version
+# *) conflictor's-postinst abort-remove \
+# in-favour package new-version
+#
+# Configuration of package:
+# postinst configure most-recently-configured-version
+#
+set -e;
+
+PACKAGE=sendmail-base;
+
+# do we have debconf?
+if [ -f /usr/share/debconf/confmodule ]; then
+ DEBCONF=true;
+ #. /usr/share/debconf/confmodule;
+ #db_stop; # For testing
+else
+ DEBCONF='';
+ fi;
+
+case "$1" in
+ configure)
+ #-----------------------------------------------------------
+ if [ "$2" = "" ]; then
+ :;
+ #echo " ";
+ #echo "A new sendmail user, welcome!";
+ fi;
+
+ #-----------------------------------------------------------
+ # Tell users about new and interesting things...
+ if [ -x @datadir@/sendmail/update_notices ]; then
+ @datadir@/sendmail/update_notices $2;
+ fi;
+
+ #-----------------------------------------------------------
+ # Create group/user smmta/smmsp iff needed
+ touch @sysconfdir@/mail/tsmmta;
+ if ! chown root:smmta @sysconfdir@/mail/tsmmta 2>/dev/null; then
+ addgroup --system --quiet smmta;
+ fi;
+ if ! chown smmta:smmta @sysconfdir@/mail/tsmmta 2>/dev/null; then
+ adduser --system --ingroup smmta --home "/var/lib/sendmail" \
+ --disabled-password \
+ --quiet --gecos 'Mail Transfer Agent' smmta;
+ fi;
+ rm @sysconfdir@/mail/tsmmta;
+ touch @sysconfdir@/mail/tsmmsp;
+ if ! chown root:smmsp @sysconfdir@/mail/tsmmsp 2>/dev/null; then
+ addgroup --system --quiet smmsp;
+ fi;
+ if ! chown smmsp:smmsp @sysconfdir@/mail/tsmmsp 2>/dev/null; then
+ adduser --system --ingroup smmsp --home "/var/lib/sendmail" \
+ --disabled-password \
+ --quiet --gecos 'Mail Submission Program' smmsp;
+ fi;
+ rm @sysconfdir@/mail/tsmmsp;
+
+ #-----------------------------------------------------------
+ # With a dynamic uid/gid, have to set appropriate ownership herein
+ chown root:smmsp @sysconfdir@/mail/sasl;
+ chown root:smmsp @sysconfdir@/mail/tls;
+
+ #-----------------------------------------------------------
+ # Save the current configuration files in safe place...
+ if [ -x @sysconfdir@/cron.daily/sendmail ]; then
+ echo "Saving current /etc/mail/sendmail.mc,cf to /var/backups";
+ @sysconfdir@/cron.daily/sendmail || true;
+ fi;
+
+ #-----------------------------------------------------------
+ # Make sure inetd.conf has sendmail in it (but disabled)
+ if [ -x /usr/sbin/update-inetd ]; then
+ update-inetd --remove "^587";
+ update-inetd --group MAIL --add \
+ "smtp\tstream\ttcp\tnowait\troot\t@sbindir@/sendmail sendmail -Am -bs";
+ update-inetd --group MAIL --add \
+ "submission\tstream\ttcp\tnowait\troot\t@sbindir@/sendmail sendmail -Am -bs";
+ update-inetd --group MAIL --add \
+ "smtps\tstream\ttcp\tnowait\troot\t@sbindir@/sendmail sendmail -Am -bs";
+ update-inetd --group MAIL --multi --disable smtp,smtps,submission;
+ fi;
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ exit 0;
+ ;;
+
+ *)
+ echo "$PACKAGE postinst called with unknown argument \`$1'" >&2;
+ exit 1;
+ ;;
+ esac;
+
+#DEBHELPER#
+exit 0;