Use USERS and GROUPS

PR:		ports/157611
Approved by:	rene (mentor, implicit), Moggie (maintainer)
This commit is contained in:
Chris Rees
2011-07-05 16:46:22 +00:00
parent f110d8fa00
commit ee4706af54
2 changed files with 7 additions and 86 deletions

View File

@@ -25,6 +25,9 @@ MAN8= ircd.8
USE_RC_SUBR= ircd-ratbox.sh
USE_PERL5_BUILD= yes
USERS= ircd
GROUPS= ${USERS}
LOGDIR= /var/log/${PORTNAME}
RUNDIR= /var/run/${PORTNAME}
SUB_FILES= pkg-message pkg-install
@@ -179,13 +182,12 @@ pre-build:
${PERL} ${WRKSRC}/contrib/ircd-shortcut.pl
pre-su-install:
@${SETENV} "PKG_PREFIX=${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
${MKDIR} ${PREFIX}/etc/${PORTNAME}
${CHOWN} ircd:ircd ${PREFIX}/etc/${PORTNAME}
${MKDIR} ${DATADIR}/help
${MKDIR} ${PREFIX}/lib/${PORTNAME}/modules
post-install:
${CHOWN} -R ircd:ircd ${PREFIX}/etc/${PORTNAME}
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${DOCSDIR}

View File

@@ -3,93 +3,12 @@
# Adapted from irc/ircd-hybrid's script
#
ask() {
local question default answer
question=$1
default=$2
if [ -z "${PACKAGE_BUILDING}" ]; then
read -p "${question} [${default}]? " answer
fi
if [ x${answer} = x ]; then
answer=${default}
fi
echo ${answer}
}
yesno() {
local dflt question answer
question=$1
dflt=$2
while :; do
answer=$(ask "${question}" "${dflt}")
case "${answer}" in
[Yy]*) return 0;;
[Nn]*) return 1;;
esac
echo "Please answer yes or no."
done
}
#-----------------------------------------------------------------------
if [ "x$2" = "xPRE-INSTALL" ]; then
#-----------------------------------------------------------------------
if which -s pw ; then
:
else
cat <<EOF
Your system does not include the "pw" utility. You should upgrade
to a newer version of FreeBSD. Without "pw" this script will not
run.
EOF
exit 1
fi
echo ""
if pw groupshow ircd 2> /dev/null ; then
echo "You already have a group \"ircd\", so I will use it."
else
if pw groupshow 72 2> /dev/null ; then
echo "You already have a gid \"72\". Please create a user \"ircd\""
echo "with a default group of \"ircd\"."
exit 1
fi
echo "You need a group \"ircd\"."
if which -s pw && yesno "Would you like me to create it" y; then
pw groupadd ircd -g 72 || exit
echo "Done."
else
echo "Please create it, and try again."
if ! pw usershow ircd 2> /dev/null ; then
echo "While you're at it, please create a user \"ircd\""
echo 'too, with a default group of "ircd".'
fi
exit 1
fi
fi
if pw usershow ircd 2> /dev/null ; then
echo "You already have a user \"ircd\", so I will use it."
else
if pw usershow 72 2> /dev/null ; then
echo "You already have a uid \"72\". Please create a user \"irc
d\""
echo "with a default group of \"ircd\"."
exit 1
fi
echo "You need a user \"ircd\"."
if which -s pw && yesno "Would you like me to create it" y; then
pw useradd ircd -g ircd -u 72 -h - -d /nonexistent \
-s /nonexistent -c "IRC Daemon" || exit
echo "Done."
else
echo "Please create it, and try again."
exit 1
fi
fi
#
# ${DO_NADA}
#
#-----------------------------------------------------------------------
elif [ "x$2" = "xPOST-INSTALL" ]; then
#-----------------------------------------------------------------------