summaryrefslogtreecommitdiff
path: root/debian/postinst
diff options
context:
space:
mode:
Diffstat (limited to 'debian/postinst')
-rw-r--r--debian/postinst144
1 files changed, 144 insertions, 0 deletions
diff --git a/debian/postinst b/debian/postinst
new file mode 100644
index 0000000..6c4ecbc
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,144 @@
+#!/bin/sh -e
+#
+# Debian package postinst
+# Version 1.2
+#
+# Robert Leslie <rob@mars.org>
+
+case "$1" in
+ configure)
+ # continue below
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ exit 0
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 0
+ ;;
+esac
+
+if [ -e /etc/suid.conf -a -x /usr/sbin/suidregister ]; then
+ suidregister -s sendmail /usr/sbin/sendmail root root 4755
+else
+ chown root.root /usr/sbin/sendmail
+ chmod 4755 /usr/sbin/sendmail
+fi
+
+if [ ! -d /etc/mail ]
+then
+ mkdir /etc/mail
+ chown 0.0 /etc/mail
+ chmod 755 /etc/mail
+fi
+
+if [ ! -d /var/spool/mqueue ]
+then
+ mkdir /var/spool/mqueue
+ chown 0.0 /var/spool/mqueue
+ chmod 700 /var/spool/mqueue
+fi
+
+if [ ! -f /var/log/sendmail.st ]
+then
+ touch /var/log/sendmail.st
+ chown 0.0 /var/log/sendmail.st
+ chmod 644 /var/log/sendmail.st
+fi
+
+update-rc.d sendmail defaults >/dev/null
+update-inetd --disable smtp
+
+# Move old configuration files to their new home
+
+if [ -f /etc/sendmail.cf -a \
+ ! -L /etc/sendmail.cf -a \
+ ! -f /etc/mail/sendmail.cf ]
+then
+ echo "This version of the Debian sendmail package keeps its configuration"
+ echo "files under /etc/mail. You already have some sendmail configuration"
+ echo -n "files in /etc; would you like to move them to /etc/mail? [Y] "
+ read yn
+ test -n "$yn" || yn="Y"
+
+ case "$yn" in
+ [Yy]*)
+ echo "Moving /etc/sendmail.* to /etc/mail ..."
+ mv -f /etc/sendmail.* /etc/mail/.
+
+ test ! -f /etc/mail/sendmail.cf || \
+ mv -f /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old
+ ;;
+
+ *)
+ echo "Okay, leaving them where they are; they won't be used."
+ ;;
+ esac
+fi
+
+# Make sure /etc/sendmail.cf points to /etc/mail/sendmail.cf
+
+if [ -e /etc/sendmail.cf ]
+then
+ if [ -L /etc/sendmail.cf ]
+ then
+ rm -f /etc/sendmail.cf
+ else
+ echo "Saving old /etc/sendmail.cf as /etc/sendmail.cf.old ..."
+ mv -f /etc/sendmail.cf /etc/sendmail.cf.old
+ fi
+fi
+
+ln -sf mail/sendmail.cf /etc/sendmail.cf
+
+# Check existing /etc/mail/sendmail.cf
+
+if [ -f /etc/mail/sendmail.cf ]
+then
+ if (sed -n -e "/^DZ/s/^DZ//p" /etc/mail/sendmail.cf \
+ | grep 8.8.8 > /dev/null)
+ then
+ echo "Existing /etc/mail/sendmail.cf found, and it appears it may be"
+ echo -n "compatible with this version of sendmail. Use it? [Y] "
+ read yn
+ test -n "$yn" || yn="Y"
+ else
+ echo "Existing /etc/mail/sendmail.cf found, but it was made for"
+ echo -n "an older version of sendmail. Use it anyway? [N] "
+ read yn
+ test -n "$yn" || yn="N"
+ fi
+
+ case "$yn" in
+ [Yy]*)
+ ;;
+
+ *)
+ echo "Saving old /etc/mail/sendmail.cf" \
+ "as /etc/mail/sendmail.cf.old ..."
+ mv -f /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old
+ ;;
+ esac
+fi
+
+test -f /etc/mail/sendmail.cf || sendmailconfig --no-reload
+
+# Start server
+
+echo -n "Start sendmail now? [Y] "
+read yn
+test -n "$yn" || yn="Y"
+
+case "$yn" in
+ [Nn]*)
+ echo "Not started; to start later, do: /etc/init.d/sendmail start"
+ echo -n "Press [ENTER] "
+ read line
+ ;;
+
+ *)
+ /etc/init.d/sendmail start
+ ;;
+esac