freebsd-ports/misc/afbackup/pkg-install
Anton Berezin 13333425ad Fix package building. Also: determine max filedescriptor by using
sysctl.

Submitted by:	maintainer
2002-01-22 22:09:27 +00:00

90 lines
1.9 KiB
Bash

#!/bin/sh
#set -vx
PKG_BATCH=${BATCH:=NO}
PKG_PREFIX=${PKG_PREFIX:=/usr/local}
SERVERVARDIR=/var/spool/afbackup
#
# create 'afbackup' user before installing
#
dlg() {
if [ X"${NONINTERACTIVE}" != "XYES" ]; then
dialog "$@"
return $?
else
i=1
while [ $i -lt $# ]; do
eval 'arg="$'$i'"'
if [ $arg = '--msgbox' ]; then
eval 'echo "$'$(($i+1))'"'
return 0
fi
i=$(($i+1))
done
fi
return 0;
}
create() {
if [ ! -x /usr/sbin/pw ]; then
dlg --msgbox "Please add a user named \`afbackup' before installing this package." 6 60
exit 69
fi
if [ -x /sbin/nologin ]; then
shell=/sbin/nologin
else
shell=/nonexistent
fi
if ! pw show user afbackup -q >/dev/null; then
if ! dlg --clear --yesno "There is no user afbackup on your system.\n\nDo you want it to be created?" 7 60; then
dlg --msgbox "Please add a user named \`afbackup' before installing this package." 6 60
exit 69
fi
uid=100
while pw show user -u ${uid} -q >/dev/null; do
uid=`expr ${uid} + 1`
done
if ! pw add user afbackup -u ${uid} -g operator -d "/nonexistent" \
-c "AFBackup System Owner" -s "${shell}" \
; then
e=$?
dlg --msgbox "Failed to add an account for \`afbackup' user. Please add it manually." 6 60
exit ${e}
fi
echo "==> Added user \`afbackup' (id ${uid})"
else
if ! pw mod user afbackup -g operator -d "/nonexistent" \
-c "AFBackup System Owner" -s "${shell}" \
; then
e=$?
dlg --msgbox "Failed to update user \`afbackup'." 6 60
exit ${e}
fi
echo "==> Updated user \`afbackup'."
fi
}
case $2 in
PRE-INSTALL)
create
;;
POST-INSTALL)
case $1 in
*-client*)
;;
*)
if [ ! -d ${SERVERVARDIR} ]; then
install -d -o afbackup -g operator ${SERVERVARDIR}
touch ${SERVERVARDIR}/readonly_tapes
fi
;;
esac
;;
esac