summaryrefslogtreecommitdiff
path: root/Config
diff options
context:
space:
mode:
authorrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-07-19 14:08:30 +0000
committerrob rob@31f1291d-b8d6-0310-a050-a5561fc1590b <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2004-07-19 14:08:30 +0000
commita1479a87757fb5e9b48f3c8bb5dd9cc247406f1a (patch)
tree06d23a51082a398c512ed8f1e39bdac60d4dd658 /Config
parent7fffea77edbe72cd66f7a55f41a3966204f9cf86 (diff)
BUILD : 1.7.4 (264) BUGS : N/A NOTES : Switched to autoconf - try to commit part 1
git-svn-id: svn://svn.anope.org/anope/trunk@264 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@169 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'Config')
-rwxr-xr-xConfig374
1 files changed, 374 insertions, 0 deletions
diff --git a/Config b/Config
new file mode 100755
index 000000000..90d73b3d1
--- /dev/null
+++ b/Config
@@ -0,0 +1,374 @@
+#!/bin/sh
+#
+# Configuration script for Services.
+#
+# Anope (c) 2003 Anope team
+# Contact us at dev@anope.org
+#
+# This program is free but copyrighted software; see the file COPYING for
+# details.
+#
+# Based on the original code of Epona by PegSoft.
+# Based on the original code of Services by Andy Church.
+#
+###########################################################################
+
+echo2 () {
+ $ECHO2 "$*$ECHO2SUF" # these are defined later
+}
+
+ECHO2SUF=''
+if [ "`echo -n a ; echo -n b`" = "ab" ] ; then
+ ECHO2='echo -n'
+elif [ "`echo 'a\c' ; echo 'b\c'`" = "ab" ] ; then
+ ECHO2='echo' ; ECHO2SUF='\c'
+elif [ "`printf 'a' 2>&1 ; printf 'b' 2>&1`" = "ab" ] ; then
+ ECHO2='printf "%s"'
+else
+ # oh well...
+ ECHO2='echo'
+fi
+export ECHO2 ECHO2SUF
+
+exists () { # because some shells don't have test -e
+ if [ -f $1 -o -d $1 -o -p $1 -o -c $1 -o -b $1 ] ; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+###########################################################################
+# Init values
+###########################################################################
+
+BINDEST=$HOME/services
+DATDEST=$HOME/services
+RUNGROUP=
+UMASK=
+IRCTYPE="no default"
+ENCRYPTION=
+
+###########################################################################
+# Load the cache
+###########################################################################
+if [ -f config.cache -a -r config.cache -a ! "$IGNORE_CACHE" ] ; then
+cat <<EOT
+ Using defaults from config.cache. To ignore, rm config.cache
+EOT
+. config.cache
+fi
+
+###########################################################################
+
+echo ""
+echo "-========================= A N O P E ==========================-"
+echo "For more detailed information on the features of Anope1.7 please"
+echo "read the self-named documentation found on the 'docs' directory."
+echo ""
+
+echo "Anope is a set of IRC Service expanded upon Lara's Epona, based"
+echo "on Andy Church's IRC Services. For all your Anope needs please"
+echo "visit our portal at http://www.anope.org/"
+echo ""
+
+echo "Please read the INSTALL file for install/upgrade instructions."
+echo "Reading the FAQ and README files would be a good idea too. (all"
+echo "documentation is located on directory 'docs')."
+echo "-==============================================================-"
+echo ""
+echo "Beginning Services configuration."
+echo ""
+
+###########################################################################
+
+# Ask the user anything we need to know ahead of time.
+
+export ok INPUT
+
+####
+
+ok=0
+echo "Note: press Return for the default, or enter a new value."
+echo "In what directory do you want the binaries to be installed?"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$BINDEST] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$BINDEST
+ fi
+ if [ ! -d "$INPUT" ] ; then
+ if exists "$INPUT" ; then
+ echo "$INPUT exists, but is not a directory!"
+ else
+ echo "$INPUT does not exist. Create it?"
+ echo2 "[y] "
+ read YN
+ if [ "$YN" != "n" ] ; then
+ if mkdir -p $INPUT ; then
+ ok=1
+ fi
+ fi
+ fi
+ elif exists "$INPUT/include/services.h" ; then
+ echo "You cannot use the Services source directory as a target directory."
+ else
+ ok=1
+ fi
+done
+BINDEST=$INPUT
+DATDEST=$INPUT
+echo ""
+
+
+####
+
+ok=0
+echo "Where do you want the data files to be installed?"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$DATDEST] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$DATDEST
+ fi
+ if [ ! -d "$INPUT" ] ; then
+ if exists "$INPUT" ; then
+ echo "$INPUT exists, but is not a directory!"
+ else
+ echo "$INPUT does not exist. Create it?"
+ echo2 "[y] "
+ read YN
+ if [ "$YN" != "n" ] ; then
+ if mkdir -p $INPUT ; then
+ ok=1
+ fi
+ fi
+ fi
+ elif exists "$INPUT/include/services.h" ; then
+ echo "You cannot use the Services source directory as a target directory."
+ else
+ ok=1
+ fi
+done
+DATDEST=$INPUT
+echo ""
+
+####
+
+
+OLD_RUNGROUP="$RUNGROUP"
+if [ "$RUNGROUP" ] ; then
+ echo "Which group should all Services data files be owned by? (If Services"
+ echo "should not force files to be owned by a particular group, type "\"none\"
+ echo "(without the quotes) and press Return.)"
+else
+ echo "Which group should all Services data files be owned by? (If Services"
+ echo "should not force files to be owned by a particular group, just press"
+ echo "Return.)"
+fi
+echo2 "[$RUNGROUP] "
+if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+if [ "$INPUT" ] ; then
+ if [ "$INPUT" = "none" ] ; then
+ RUNGROUP=""
+ else
+ RUNGROUP="$INPUT"
+ fi
+fi
+echo ""
+
+####
+
+if [ ! "$UMASK" -o "$RUNGROUP" != "$OLD_RUNGROUP" ] ; then
+ if [ "$RUNGROUP" ] ; then
+ UMASK=007
+ else
+ UMASK=077
+ fi
+fi
+
+ok=0
+echo "What should the default umask for data files be (in octal)?"
+echo "(077 = only accessible by owner; 007 = accessible by owner and group)"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$UMASK] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$UMASK
+ fi
+ if [ `echo "$INPUT" | grep -c '[^0-7]'` -gt 0 ] ; then
+ echo "$UMASK is not a valid octal number!"
+ else
+ if [ "`echo $INPUT | cut -c1`" != "0" ] ; then
+ INPUT=0$INPUT
+ fi
+ ok=1
+ fi
+done
+UMASK=$INPUT
+echo ""
+
+####
+
+ok=0
+echo "Select the closest to the type of server on your IRC network:"
+echo " 1) DreamForge 4.6.7 [dated IRCd, upgrade to a current one]"
+echo " 2) Bahamut 1.4.27 [or later]"
+echo " 3) UnrealIRCd 3.1.1 [or later]"
+echo " 4) UltimateIRCd 2.8.2 [or later]"
+echo " 5) UltimateIRCd 3.0.0 [alpha26 or later]"
+echo " 6) Hybrid IRCd 7.0 [experimental]"
+echo " 7) ViagraIRCd 1.3.x [or later]"
+echo " 8) PTlink 6.15.0 [experimental]"
+echo " 9) RageIRCd 2.0 [beta-3 or later]"
+
+while [ $ok -eq 0 ] ; do
+ echo2 "[$IRCTYPE] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$IRCTYPE
+ fi
+ case $INPUT in
+ no\ default)
+ echo "You must specify your IRC server type in order for Services to function"
+ echo "correctly."
+ ;;
+ 1)
+ IRCTYPE_DEF="IRC_DREAMFORGE"
+ ok=1;
+ ;;
+ 2)
+ IRCTYPE_DEF="IRC_BAHAMUT"
+ ok=1;
+ ;;
+ 3)
+ IRCTYPE_DEF="IRC_UNREAL"
+ ok=1;
+ ;;
+ 4)
+ IRCTYPE_DEF="IRC_ULTIMATE"
+ ok=1;
+ ;;
+ 5)
+ IRCTYPE_DEF="IRC_ULTIMATE3"
+ ok=1;
+ ;;
+ 6)
+ IRCTYPE_DEF="IRC_HYBRID"
+ ok=1;
+ ;;
+ 7)
+ IRCTYPE_DEF="IRC_VIAGRA"
+ ok=1;
+ ;;
+ 8)
+ IRCTYPE_DEF="IRC_PTLINK"
+ ok=1;
+ ;;
+ 9)
+ IRCTYPE_DEF="IRC_RAGE2"
+ ok=1;
+ ;;
+
+ *)
+ echo "Please enter a valid option number."
+ ;;
+ esac
+done
+IRCTYPE=$INPUT
+echo ""
+
+####
+
+if [ "$ENCRYPTION" = "ENCRYPT_MD5" ] ; then
+ DEF=yes
+else
+ DEF=no
+fi
+
+ok=0
+echo "Do you want to use the MD5 message-digest algorithm to encrypt passwords?"
+echo "(Selecting "\"yes\"" protects your passwords from being stolen if someone"
+echo "gains access to the Services databases, but makes it impossible to recover"
+echo "forgotten passwords. There is no way to reverse this operation, so make"
+echo "sure you really want to enable it.)"
+while [ $ok -eq 0 ] ; do
+ echo2 "[$DEF] "
+ if read INPUT ; then : ; else echo "" ; exit 1 ; fi
+ if [ ! "$INPUT" ] ; then
+ INPUT=$DEF
+ fi
+ case $INPUT in
+ n*|N*)
+ ENCRYPTION=
+ ok=1
+ ;;
+ y*|Y*)
+ ENCRYPTION=ENCRYPT_MD5
+ ok=1
+ ;;
+ *)
+ echo "Please enter 'yes' or 'no'."
+ ;;
+ esac
+done
+echo ""
+
+####
+
+
+################################################################################
+# Store values
+################################################################################
+echo2 "Saving configuration results in config.cache... "
+
+cat <<EOT >config.cache
+BINDEST="$BINDEST"
+DATDEST="$DATDEST"
+RUNGROUP="$RUNGROUP"
+UMASK=$UMASK
+IRCTYPE=$IRCTYPE
+IRCTYPE_DEF="$IRCTYPE_DEF"
+ENCRYPTION="$ENCRYPTION"
+EOT
+echo "done."
+
+
+################################################################################
+# Build the configure string
+################################################################################
+
+WITH_BIN=""
+WITH_DATA=""
+WITH_ENC=""
+WITH_IRCD=""
+WITH_RUN=""
+WITH_PERM=""
+
+if [ "$BINDEST" != "" ] ; then
+ WITH_BIN=" --with-bindir=$BINDEST"
+ WITH_DATA=" --with-datadir=$DATDEST"
+fi
+
+if [ "$DATDEST" != "" ] ; then
+ WITH_DATA=" --with-datadir=$DATDEST"
+fi
+
+if [ "$ENCRYPTION" != "" ] ; then
+ WITH_ENC=" --with-encryption"
+fi
+
+if [ "$IRCTYPE_DEF" != "" ] ; then
+ WITH_IRCD=" --with-ircd=$IRCTYPE_DEF"
+fi
+
+if [ "$RUNGROUP" != "" ] ; then
+ WITH_RUN=" --with-rungroup=$RUNGROUP"
+fi
+
+if [ "$UMASK" != "" ] ; then
+ WITH_PERM=" --with-permissions=$UMASK"
+fi
+
+./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_IRCD $WITH_RUN $WITH_PERM
+