diff options
Diffstat (limited to 'mail/qmail-vida/files/pkg-install.in')
-rw-r--r-- | mail/qmail-vida/files/pkg-install.in | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/mail/qmail-vida/files/pkg-install.in b/mail/qmail-vida/files/pkg-install.in new file mode 100644 index 000000000000..e7c09c48855c --- /dev/null +++ b/mail/qmail-vida/files/pkg-install.in @@ -0,0 +1,114 @@ +#!/bin/csh -f +# +# $FreeBSD: /tmp/pcvs/ports/mail/qmail-vida/files/Attic/pkg-install.in,v 1.1 2005-08-30 14:44:26 garga Exp $ +# + +# 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 = (vida qmail qnofiles); + set gids = (83 82 81); + set users = (alias qmaild qmaill qmailp qmailq qmailr qmails qmailu authdb); + set users_g = (qnofiles qnofiles qnofiles qnofiles qmail qmail qmail vida vida); + set uids = (81 82 83 84 85 86 87 90 91); + + + 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; |