summaryrefslogtreecommitdiff
path: root/irc/dancer-ircd/pkg-install
diff options
context:
space:
mode:
authorAkinori MUSHA <knu@FreeBSD.org>2003-04-19 12:01:34 +0000
committerAkinori MUSHA <knu@FreeBSD.org>2003-04-19 12:01:34 +0000
commit778a627a7c54f2c4d3205264df36fce7f4bed48c (patch)
tree94e10afb684d0ecff351b9a75f6257518421bc48 /irc/dancer-ircd/pkg-install
parentgetpw*_r is now implemented in -CURRENT. However, the _SC_GETPW_R_SIZE_MAX (diff)
Add dancer-ircd, an irc daemon based on hybrid ircd.
This is the ircd designed for use on freenode.net, based on the hybrid ircd used by efnet. This port/package is configured for use on a small network or standalone, and the escape code filter is disabled. To use it on a large and/or Western language only network, please re-configure config.h and rebuild.
Notes
Notes: svn path=/head/; revision=79271
Diffstat (limited to 'irc/dancer-ircd/pkg-install')
-rw-r--r--irc/dancer-ircd/pkg-install91
1 files changed, 91 insertions, 0 deletions
diff --git a/irc/dancer-ircd/pkg-install b/irc/dancer-ircd/pkg-install
new file mode 100644
index 000000000000..f8aba5f8e63c
--- /dev/null
+++ b/irc/dancer-ircd/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 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