summaryrefslogtreecommitdiffstats
path: root/source/n/postfix/doinst.sh
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2018-05-28 19:12:29 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 23:39:35 +0200
commit646a5c1cbfd95873950a87b5f75d52073a967023 (patch)
treeb8b8d2ab3b0d432ea69ad1a64d1c789649d65020 /source/n/postfix/doinst.sh
parentd31c50870d0bee042ce660e445c9294a59a3a65b (diff)
downloadcurrent-646a5c1cbfd95873950a87b5f75d52073a967023.tar.gz
current-646a5c1cbfd95873950a87b5f75d52073a967023.tar.xz
Mon May 28 19:12:29 UTC 201820180528191229
a/pkgtools-15.0-noarch-13.txz: Rebuilt. installpkg: default line length for --terselength is the number of columns. removepkg: added --terse mode. upgradepkg: default line length for --terselength is the number of columns. upgradepkg: accept -option in addition to --option. ap/vim-8.1.0026-x86_64-1.txz: Upgraded. d/bison-3.0.5-x86_64-1.txz: Upgraded. e/emacs-26.1-x86_64-1.txz: Upgraded. kde/kopete-4.14.3-x86_64-8.txz: Rebuilt. Recompiled against libidn-1.35. n/conntrack-tools-1.4.5-x86_64-1.txz: Upgraded. n/libnetfilter_conntrack-1.0.7-x86_64-1.txz: Upgraded. n/libnftnl-1.1.0-x86_64-1.txz: Upgraded. n/links-2.16-x86_64-2.txz: Rebuilt. Rebuilt to enable X driver for -g mode. n/lynx-2.8.9dev.19-x86_64-1.txz: Upgraded. n/nftables-0.8.5-x86_64-1.txz: Upgraded. n/p11-kit-0.23.11-x86_64-1.txz: Upgraded. n/ulogd-2.0.7-x86_64-1.txz: Upgraded. n/whois-5.3.1-x86_64-1.txz: Upgraded. xap/network-manager-applet-1.8.12-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.0026-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/n/postfix/doinst.sh')
-rw-r--r--source/n/postfix/doinst.sh76
1 files changed, 76 insertions, 0 deletions
diff --git a/source/n/postfix/doinst.sh b/source/n/postfix/doinst.sh
new file mode 100644
index 000000000..e67f7ea15
--- /dev/null
+++ b/source/n/postfix/doinst.sh
@@ -0,0 +1,76 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
+# Make sure that the postfix user (UID 91, GID 91), and the
+# postdrop group (GID 92) exist on this system:
+if ! grep -q "^postfix:" etc/passwd ; then
+ echo "postfix:x:91:91:User for Postfix MTA:/dev/null:/bin/false" >> etc/passwd
+fi
+if ! grep -q "^postfix:" etc/group ; then
+ echo "postfix:x:91:" >> etc/group
+fi
+if ! grep -q "^postdrop:" etc/group ; then
+ echo "postdrop:x:92:" >> etc/group
+fi
+
+find etc/postfix -type f -name '*.new' | while read new ; do
+ config $new
+done
+preserve_perms etc/rc.d/rc.postfix.new
+config etc/aliases.new
+
+# Don't keep aliases.new. If it exists, the user already defined aliases.
+rm -f etc/aliases.new
+
+# No reason to keep these: upgrade-configuration will take care of merging
+# changes needed to the existing files
+rm -f etc/postfix/main.cf.new etc/postfix/master.cf.new
+
+# This is for backward compatibility with the old Sendmail package; some
+# software might still expect to find the /usr/lib/sendmail link.
+if [ ! -d usr/lib ]; then
+mkdir -p usr/lib
+( cd usr/lib ; rm -f sendmail )
+( cd usr/lib ; ln -s /usr/sbin/sendmail sendmail)
+fi
+
+## COMMENTED OUT
+## (The Slackware package should ship with correct permissions)
+##
+## This will set the permissions on all postfix files correctly
+#if [ -x usr/sbin/postfix ]; then
+# chroot . /usr/sbin/postfix set-permissions
+#fi
+
+# The upgrade-configuration command will add any necessary new settings to
+# existing config files (/etc/postfix/{main,master}.cf). It won't hurt
+# anything on a new install.
+if [ -x usr/sbin/postfix ]; then
+ chroot . /usr/sbin/postfix upgrade-configuration
+fi
+
+# Process /etc/aliases into a database:
+if [ -x usr/bin/newaliases ]; then
+ chroot . /usr/bin/newaliases
+fi