Merge from 3.0 fixes branch
[disorder] / scripts / setup.in
index 803b0ae..dc8ca9b 100755 (executable)
@@ -64,12 +64,9 @@ esac
 echo
 echo "This script will:"
 echo " - overwrite any existing configuration"
-case $os in
-Mac )
-  echo " - set the server up to be run at boot time"
-  echo " - start the server"
-  ;;
-esac
+echo " - set the server up to be run at boot time"
+echo " - start the server"
+echo " - set up the web interface"
 echo
 echo "If this is not what you want, press ^C."
 echo ------------------------------------------------------------------------
@@ -223,32 +220,32 @@ pick() {
 case $os in
 Mac )
   # Apple don't seem to believe in creating a user as a discrete operation
-  if dscl / -read /Groups/$group >/dev/null 2>&1; then
+  if dscl . -read /Groups/$group >/dev/null 2>&1; then
     echo "$group group already exists"
   else
     echo "Creating $group group"
-    gids=$(dscl / -list /Groups PrimaryGroupID|awk '{print $2}')
+    gids=$(dscl . -list /Groups PrimaryGroupID|awk '{print $2}')
     gid=$(pick $gids)
     echo "(picked gid $gid)"
-    dscl / -create /Groups/$group
-    dscl / -create /Groups/$group PrimaryGroupID $gid
-    dscl / -create /Groups/$group Password \*
+    dscl . -create /Groups/$group
+    dscl . -create /Groups/$group PrimaryGroupID $gid
+    dscl . -create /Groups/$group Password \*
   fi
-  if dscl / -read /Users/$user >/dev/null 2>&1; then
+  if dscl . -read /Users/$user >/dev/null 2>&1; then
     echo "$user user already exists"
   else
     echo "Creating $user user"
-    uids=$(dscl / -list /Users UniqueID|awk '{print $2}')
+    uids=$(dscl . -list /Users UniqueID|awk '{print $2}')
     uid=$(pick $uids)
     echo "(picked uid $uid)"
-    gid=$(dscl / -read /Groups/$group PrimaryGroupID | awk '{print $2}')
-    dscl / -create /Users/$user
-    dscl / -create /Users/$user UniqueID $uid
-    dscl / -create /Users/$user UserShell /usr/bin/false
-    dscl / -create /Users/$user RealName 'DisOrder server'
-    dscl / -create /Users/$user NFSHomeDirectory pkgstatedir
-    dscl / -create /Users/$user PrimaryGroupID $gid
-    dscl / -create /Users/$user Password \*
+    gid=$(dscl . -read /Groups/$group PrimaryGroupID | awk '{print $2}')
+    dscl . -create /Users/$user
+    dscl . -create /Users/$user UniqueID $uid
+    dscl . -create /Users/$user UserShell /usr/bin/false
+    dscl . -create /Users/$user RealName 'DisOrder server'
+    dscl . -create /Users/$user NFSHomeDirectory pkgstatedir
+    dscl . -create /Users/$user PrimaryGroupID $gid
+    dscl . -create /Users/$user Password \*
   fi
   ;;
 FreeBSD )
@@ -407,6 +404,14 @@ if $server_running; then
     esac
   done
   echo
+  first=true
+  while ! disorder version >/dev/null 2>&1; do
+    if $first; then
+      echo "Waiting for server startup to complete..."
+      first=false
+    fi
+    sleep 1
+  done
   if [ $reg = y ]; then
     echo "Creating guest user with 'register' right"
     disorder setup-guest