chiark / gitweb /
Most of intro section
[disorder] / scripts / setup.in
index 8c8b3b070ba320df05373e3e984d577153e982ef..b7fdecd22282ee5a138a02963dfa1b6cce5465f7 100755 (executable)
@@ -3,20 +3,18 @@
 # This file is part of DisOrder
 # Copyright (C) 2008 Richard Kettlewell
 #
-# This program is free software; you can redistribute it and/or modify
+# This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
+# 
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+# 
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
-# USA
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
 set -e
@@ -151,23 +149,31 @@ if [ -z "$roots" ]; then
     echo "(enter one or more directories separated by spaces)"
     read -r roots
     ok=true
+    anyroots=false
     for root in $roots; do
       if [ ! -d $root ]; then
        echo "'$root' does not exist"
        ok=false
+      else
+        anyroots=true
       fi
     done
-    if $ok; then
+    if $anyroots && $ok; then
       break
     fi
   done
 fi
 
 if [ -z "$encoding" ]; then
-  echo 
-  echo "What filesystem encoding should I assume for track names?"
-  echo "(e.g. UTF-8, ISO-8859-1, ...)"
-  read -r encoding
+  while :; do
+    echo 
+    echo "What filesystem encoding should I assume for track names?"
+    echo "(e.g. UTF-8, ISO-8859-1, ...)"
+    read -r encoding
+    if [ ! -z "$encoding" ]; then
+      break
+    fi
+  done
 fi
 
 if [ -z "$port" ]; then
@@ -180,7 +186,7 @@ if [ -z "$port" ]; then
     none )
       break
       ;;
-    [^0-9] )
+    [^0-9] | "" )
       echo "'$port' is not a valid port number"
       continue
       ;;
@@ -225,7 +231,7 @@ if [ "x$play" = xnetwork ]; then
       none )
        break
        ;;
-      [^0-9] )
+      [^0-9] | "" )
        echo "'$mcast_port' is not a valid port number"
        continue
        ;;
@@ -269,7 +275,7 @@ fi
 echo
 echo "Proposed DisOrder setup:"
 echo " Music directory:       $roots"
-if [ $port = none ]; then
+if [ "$port" = none ]; then
   echo " Do not listen on a TCP port"
 else
   echo " TCP port to listen on: $port"
@@ -437,34 +443,13 @@ Mac )
   launchctl load /Library/LaunchDaemons
   echo "Starting DisOrder server"
   launchctl start uk.org.greenend.rjk.disorder
-  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"
-  DOCROOT=$web/data
   server_running=true
   ;;
 Linux )
@@ -494,13 +479,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
   server_running=true
   ;;
 * )
@@ -511,15 +489,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
-
 if $server_running; then
   first=true
   sleep 5