diff options
author | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2006-01-27 06:09:27 +0000 |
---|---|---|
committer | Jean-Yves Lefort <jylefort@FreeBSD.org> | 2006-01-27 06:09:27 +0000 |
commit | 4019b070f6746eb2a0556fd6ac002eb6dce8ec70 (patch) | |
tree | d24afa98baa95e0b695620c127d103e5c2b0483f /irc/ircd-ratbox-devel/files/pkg-install.in | |
parent | USE_MESA has been removed from bsd.port.mk. (diff) |
Add ircd-ratbox.
This is a port of the ircd-ratbox IRC daemon.
ircd-ratbox is the primary ircd used on EFnet; it combines the stability
of an ircd required for a large production network together with a rich
set of features, making it also suitable for use on smaller networks.
WWW: http://www.ircd-ratbox.org/
PR: ports/92404
Submitted by: Shaun Amott <shaun@inerd.com>
Notes
Notes:
svn path=/head/; revision=154556
Diffstat (limited to 'irc/ircd-ratbox-devel/files/pkg-install.in')
-rw-r--r-- | irc/ircd-ratbox-devel/files/pkg-install.in | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/irc/ircd-ratbox-devel/files/pkg-install.in b/irc/ircd-ratbox-devel/files/pkg-install.in new file mode 100644 index 000000000000..135cee12edb2 --- /dev/null +++ b/irc/ircd-ratbox-devel/files/pkg-install.in @@ -0,0 +1,117 @@ +#!/bin/sh +# +# 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 + +#----------------------------------------------------------------------- +elif [ "x$2" = "xPOST-INSTALL" ]; then +#----------------------------------------------------------------------- + +mkdir -p %%LOGDIR%% \ +&& chown ircd:ircd %%LOGDIR%% \ +&& chmod 750 %%LOGDIR%% + +mkdir -p %%RUNDIR%% \ +&& chown ircd:ircd %%RUNDIR%% \ +&& chmod 750 %%RUNDIR%% + +# Secure permissions if we think this is a fresh install + +if [ ! -f ${PKG_PREFIX}/etc/ircd-ratbox/ircd.conf ]; then + chown -R ircd:ircd ${PKG_PREFIX}/etc/ircd-ratbox/ + chmod 750 ${PKG_PREFIX}/etc/ircd-ratbox/ + chmod 640 ${PKG_PREFIX}/etc/ircd-ratbox/* +fi + +#----------------------------------------------------------------------- +fi +#----------------------------------------------------------------------- + +exit 0 |