aboutsummaryrefslogtreecommitdiff
path: root/mail/qmail/files
diff options
context:
space:
mode:
authorSergey Matveychuk <sem@FreeBSD.org>2005-05-17 09:14:30 +0000
committerSergey Matveychuk <sem@FreeBSD.org>2005-05-17 09:14:30 +0000
commit0695fe3817183af73b23f0e6f3d94cc59267f2fb (patch)
tree450d2c0112b0019f2d7dce398b5274e82170f927 /mail/qmail/files
parent26aa6f026efaf9cff5ccd28634b1c956cf1d07e2 (diff)
downloadports-0695fe3817183af73b23f0e6f3d94cc59267f2fb.tar.gz
ports-0695fe3817183af73b23f0e6f3d94cc59267f2fb.zip
Notes
Diffstat (limited to 'mail/qmail/files')
-rw-r--r--mail/qmail/files/pkg-install.in114
1 files changed, 114 insertions, 0 deletions
diff --git a/mail/qmail/files/pkg-install.in b/mail/qmail/files/pkg-install.in
new file mode 100644
index 000000000000..ec0ac7636e54
--- /dev/null
+++ b/mail/qmail/files/pkg-install.in
@@ -0,0 +1,114 @@
+#!/bin/csh -f
+#
+# $FreeBSD$
+#
+
+# Author : Marcos Tischer Vallim
+# E-Mail : tischer@gmail.com
+# Date : Tue Mar 22 00:40:45 BRT 2005
+
+set path = ( /bin /sbin /usr/bin /usr/sbin )
+
+if ($uid != 0) then
+ echo "It is necessary to add missing qmail users/groups at";
+ echo "this stage. Please either add them manually or retry";
+ echo "as root.";
+ exit 1;
+endif
+
+if (! -x `which pw`) then
+ echo "This system looks like a pre-2.2 version of FreeBSD. We see that it";
+ echo "is missing the "pw" utility. We need this utility. Please get and";
+ echo "install it, and try again. You can get the source from:";
+ echo "";
+ echo " ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz";
+ echo "";
+ echo "No pw";
+ exit 1;
+endif
+
+switch ($argv[2])
+
+case "PRE-INSTALL":
+ set groups = (qmail qnofiles);
+ set gids = (82 81);
+ set users = (alias qmaild qmaill qmailp qmailq qmailr qmails);
+ set users_g = (qnofiles qnofiles qnofiles qnofiles qmail qmail qmail);
+ set uids = (81 82 83 84 85 86 87);
+
+
+ set k = 1;
+ foreach group ($groups)
+ pw groupshow $group >& /dev/null;
+
+ if ($status) then
+ pw groupadd $group -g $gids[$k];
+
+ if ($status) then
+ echo "Failed to add group '$group' as gid '$gids[$k]'";
+ exit 1;
+ endif
+ endif
+
+ set chkgid = (`pw groupshow $group | sed -e "s,:, ,g"`);
+ if ($chkgid[3] != $gids[$k]) then
+ echo "Group '$group' should have gid '$gids[$k]'";
+ exit 1;
+ endif
+
+ @ k++;
+ end
+
+ set k = 1;
+ foreach user ($users)
+ pw usershow $user >& /dev/null;
+
+ if ($status) then
+ if ($user == "alias") then
+ set home = ${PKG_PREFIX}/alias;
+ else
+ set home = ${PKG_PREFIX};
+ endif
+
+ pw useradd $user -g $users_g[$k] -d $home -s /nonexistent -u $uids[$k];
+
+ if ($status) then
+ echo "Failed to add user '$user' as uid '$uids[$k]'";
+ exit 1;
+ endif
+ endif
+
+ set chkuid = (`pw usershow $user | sed -e "s,:, ,g"`);
+ if ($chkuid[3] != $uids[$k]) then
+ echo "User '$user' should have uid '$uids[$k]'";
+ exit 1;
+ endif
+
+ @ k++;
+ end
+
+ breaksw;
+
+case "POST-INSTALL":
+ ${PKG_PREFIX}/configure/install x;
+
+ if ( ! `filetest -e ${PKG_PREFIX}/control/me` ) then
+ cd ${PKG_PREFIX}/configure && ./config;
+ endif
+
+ %%RCDLINK%%ln -s ${PKG_PREFIX}/rc %%LOCALBASE%%/etc/rc.d/qmail.sh;
+
+ touch "${PKG_PREFIX}/alias/.qmail-{postmaster,root,mailer-daemon}";
+
+ if ($status) then
+ echo "Failed to create files :";
+ echo " ${PKG_PREFIX}/alias/.qmail-postmaster";
+ echo " ${PKG_PREFIX}/alias/.qmail-root";
+ echo " ${PKG_PREFIX}/alias/.qmail-mailer-daemon";
+ exit 1;
+ endif
+
+ breaksw;
+endsw
+
+exit 0;