diff options
author | Akinori MUSHA <knu@FreeBSD.org> | 2003-04-19 12:02:50 +0000 |
---|---|---|
committer | Akinori MUSHA <knu@FreeBSD.org> | 2003-04-19 12:02:50 +0000 |
commit | fc37200bcd2540800b9b82ab45ea395717c31281 (patch) | |
tree | f46f3b6d74d2b86f99712aa44630b95569951e31 /irc/dancer-services/pkg-install | |
parent | Add dancer-ircd, an irc daemon based on hybrid ircd. (diff) |
Add dancer-services, the IRC services (nickserv, chanserv, etc.) for
dancer-ircd.
Notes
Notes:
svn path=/head/; revision=79273
Diffstat (limited to 'irc/dancer-services/pkg-install')
-rw-r--r-- | irc/dancer-services/pkg-install | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/irc/dancer-services/pkg-install b/irc/dancer-services/pkg-install new file mode 100644 index 000000000000..6f75b09f8220 --- /dev/null +++ b/irc/dancer-services/pkg-install @@ -0,0 +1,91 @@ +#!/bin/sh + +# This script is a modified copy of the pkg-install script from the +# original ircd-hybrid port, by desmo@bandwidth.org. + +if [ "x$2" != "xPRE-INSTALL" ]; then + exit 0; +fi + +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 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 ircservices 2> /dev/null ; then + echo "You already have a group \"ircservices\", so I will use it." +else + if pw groupshow 73 2> /dev/null ; then + echo "You already have a gid \"73\". Please create a user \"ircservices\"" + echo "with a default group of \"ircservices\"." + exit 1 + fi + echo "You need a group \"ircservices\"." + if which -s pw && yesno "Would you like me to create it" y; then + pw groupadd ircservices -g 73 || exit + echo "Done." + else + echo "Please create it, and try again." + if ! pw usershow ircservices 2> /dev/null ; then + echo "While you're at it, please create a user \"ircservices\"" + echo 'too, with a default group of "ircservices".' + fi + exit 1 + fi +fi + +if pw usershow ircservices 2> /dev/null ; then + echo "You already have a user \"ircservices\", so I will use it." +else + if pw usershow 73 2> /dev/null ; then + echo "You already have a uid \"73\". Please create a user \"irc +d\"" + echo "with a default group of \"ircservices\"." + exit 1 + fi + echo "You need a user \"ircservices\"." + if which -s pw && yesno "Would you like me to create it" y; then + pw useradd ircservices -g ircservices -u 73 -h - -d /nonexistent \ + -s /nonexistent -c "IRC Services" || exit + echo "Done." + else + echo "Please create it, and try again." + exit 1 + fi +fi |