diff options
Diffstat (limited to 'extra/postfix/postfix.install')
-rw-r--r-- | extra/postfix/postfix.install | 39 |
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 +} + |