Use USERS and GROUPS
PR: ports/157611 Approved by: rene (mentor, implicit), Moggie (maintainer)
This commit is contained in:
@@ -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}
|
||||
|
||||
@@ -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
|
||||
#-----------------------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user