summaryrefslogtreecommitdiff
path: root/extra/mailman/mailman.install
diff options
context:
space:
mode:
Diffstat (limited to 'extra/mailman/mailman.install')
-rw-r--r--extra/mailman/mailman.install31
1 files changed, 31 insertions, 0 deletions
diff --git a/extra/mailman/mailman.install b/extra/mailman/mailman.install
new file mode 100644
index 000000000..ec85260a5
--- /dev/null
+++ b/extra/mailman/mailman.install
@@ -0,0 +1,31 @@
+## arg 1: the new package version
+post_install() {
+ # Make sure the group and user "mailman" exists on this system and has the correct values
+ if grep -q "^mailman:" /etc/group &> /dev/null ; then
+ groupmod -g 80 -n mailman mailman &> /dev/null
+ else
+ groupadd -g 80 mailman &> /dev/null
+ fi
+
+ if grep -q "^mailman:" /etc/passwd 2> /dev/null ; then
+ usermod -s /sbin/nologin -c "GNU Mailing List Manager" -d /usr/lib/mailman -u 80 -g mailman mailman &> /dev/null
+ else
+ useradd -s /sbin/nologin -c "GNU Mailing List Manager" -d /usr/lib/mailman -u 80 -g mailman -M -r mailman &> /dev/null
+ fi
+
+ # check file permissions
+# cd /usr/lib/mailman && bin/check_perms -f > /dev/null 2>&1 # -f applies fixes we should solve in the PKGBUILD
+ cd /usr/lib/mailman && bin/check_perms > /dev/null
+}
+
+## 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 mailman &>/dev/null
+ groupdel mailman &>/dev/null || /bin/true
+}