summaryrefslogtreecommitdiffstats
path: root/extra/postfix/postfix.install
diff options
context:
space:
mode:
Diffstat (limited to 'extra/postfix/postfix.install')
-rw-r--r--extra/postfix/postfix.install39
1 files changed, 39 insertions, 0 deletions
diff --git a/extra/postfix/postfix.install b/extra/postfix/postfix.install
new file mode 100644
index 000000000..6acbe3f41
--- /dev/null
+++ b/extra/postfix/postfix.install
@@ -0,0 +1,39 @@
+# arg 1: the new package version
+post_install() {
+ if [ -z "`grep '^postdrop::' /etc/group`" ]; then
+ groupadd -g 75 postdrop >& /dev/null
+ fi
+ if [ -z "`grep '^postfix::' /etc/group`" ]; then
+ groupadd -g 73 postfix >& /dev/null
+ fi
+ if [ -z "`grep '^postfix:' /etc/passwd`" ]; then
+ useradd -u 73 -d /var/spool/postfix -g postfix -s /bin/false postfix
+ else
+ # fix a packaging bug from before (postfix should have no shell)
+ usermod -s /bin/false postfix
+ fi
+
+ chown postfix var/spool/postfix/{active,bounce,corrupt,defer,deferred,\
+flush,hold,incoming,private,public,maildrop,trace,saved}
+ chown postfix var/lib/postfix
+ chgrp postdrop var/spool/postfix/{public,maildrop}
+ chgrp postdrop usr/sbin/postqueue
+ chgrp postdrop usr/sbin/postdrop
+ chmod g+s usr/sbin/{postqueue,postdrop}
+
+ newaliases
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+# arg 1: the old package version
+pre_remove() {
+ userdel postfix &> /dev/null
+ groupdel postfix &> /dev/null
+ groupdel postdrop &> /dev/null
+}
+