X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/3b8ce6f62deaf835311cd63ad675bea7013c91ff..1b8ed51f2f2612517414801a52362c6480eeda91:/scripts/setup.in diff --git a/scripts/setup.in b/scripts/setup.in index e89ddb4..48f87c2 100755 --- a/scripts/setup.in +++ b/scripts/setup.in @@ -27,6 +27,7 @@ while [ $# -gt 0 ]; do case "$opt" in -h | --help ) cat <&2 "ERROR: unknown option '$opt'" exit 1 @@ -169,10 +191,50 @@ if [ -z "$port" ]; then done fi -if [ -z "$smtp_server" ]; then - echo - echo "What host should DisOrder use as an SMTP server?" - read -r smtp_server +if [ -z "$play" ]; then + while :; do + echo + echo "How do you want to play sound? Enter 'local' to use a local sound" + echo "device or 'network' to multicast sound across your network." + read -r play + case $play in + 'local' | network ) + break + ;; + * ) + echo "Enter 'local' or 'network'" + continue + ;; + esac + done +fi + +if [ "x$play" = xnetwork ]; then + if [ -z "$mcast_address" ]; then + echo + echo "Enter destination address for network transmission" + echo "(e.g. a multicast address)" + read -r mcast_address + fi + if [ -z "$mcast_port" ]; then + while :; do + echo + echo "Enter destination port for network transmission" + read -r mcast_port + case $mcast_port in + none ) + break + ;; + [^0-9] ) + echo "'$mcast_port' is not a valid port number" + continue + ;; + * ) + break + ;; + esac + done + fi fi if [ -z "$mail_sender" ]; then @@ -196,7 +258,7 @@ if [ -z "$register" ]; then echo echo "Do you want to enable online registration? (Enter 'y' or 'n')" read -r register - case $reguser in + case $register in y | n ) break ;; @@ -212,9 +274,14 @@ if [ $port = none ]; then else echo " TCP port to listen on: $port" fi -echo " SMTP Server: $smtp_server" +if [ ! -z "$smtp_server" ]; then + echo " SMTP Server: $smtp_server" +fi echo " Sender address: $mail_sender" echo " Online registration: $register" +if [ $play = network ]; then + echo " Send sound to: $mcast_address port $mcast_port" +fi echo "Is this OK? (Enter 'y' or 'n')" read -r ok @@ -241,7 +308,12 @@ echo "user $user" >> pkgconfdir/config.new if [ $port != none ]; then echo "listen 0.0.0.0 $port" >> pkgconfdir/config.new fi -echo "smtp_server $smtp_server" >> pkgconfdir/config.new +if [ $play = network ]; then + echo "broadcast $mcast_address $mcast_port" >> pkgconfdir/config.new +fi +if [ ! -z "$smtp_server" ]; then + echo "smtp_server $smtp_server" >> pkgconfdir/config.new +fi echo "mail_sender $mail_sender" >> pkgconfdir/config.new echo @@ -365,36 +437,13 @@ Mac ) launchctl load /Library/LaunchDaemons echo "Starting DisOrder server" launchctl start uk.org.greenend.rjk.disorder - CGIBIN=/Library/WebServer/CGI-Executables - DOCROOT=/Library/WebServer/Documents - sever_running=true + server_running=true ;; FreeBSD ) echo "Installing startup script into /etc/rc.d" install -m 555 examples/disorder.rc /etc/rc.d/disorder echo "Starting DisOrder server" /etc/rc.d/disorder start - echo "Identifying web server" - set /usr/local/www/* - case $# in - 0 ) - echo - echo "Could not find a web server" - exit 1 - ;; - 1 ) - ;; - * ) - echo - echo "Yikes! There seems to be more than one web server here." - echo "Guessing that you want $1." - echo - ;; - esac - web=$1 - echo "Found $web" - CGIBIN=$web/cgi-bin - DOCROOT=$web/data server_running=true ;; Linux ) @@ -424,20 +473,6 @@ Linux ) echo "Starting DisOrder server" $RC_D/init.d/disorder start fi - echo "Looking for web server document root" - for d in /var/www/html /var/www; do - if [ -d $d ]; then - DOCROOT=$d - break - fi - done - echo "Looking for cgi-bin directory" - for d in /var/www/cgi-bin /usr/lib/cgi-bin; do - if [ -d $d ]; then - CGIBIN=$d - break - fi - done server_running=true ;; * ) @@ -448,23 +483,6 @@ Linux ) ;; esac -echo -if [ -z "$DOCROOT" ]; then - echo "Cannot find your web server's document root" -else - echo "Setting up link to CGI's dependencies in $DOCROOT" - rm -f $DOCROOT/disorder - ln -s pkgdatadir/static $DOCROOT/disorder -fi - -echo -if [ -z "$CGIBIN" ]; then - echo "Cannot find your web server's cgi-bin directory" -else - echo "Installing CGI in $CGIBIN" - install -m 555 server/disorder.cgi $CGIBIN/disorder -fi - if $server_running; then first=true sleep 5