No longer execute hostname command if hostname option is not present
[grml-autoconfig.git] / autoconfig.functions
index 4d91ed4..035803d 100755 (executable)
@@ -226,10 +226,10 @@ config_language(){
  if [ -x /usr/sbin/grml-setlang ] ; then
    # if bootoption lang is used update /etc/default/locale accordingly
    if [ -n "$BOOT_LANGUAGE" ] ; then
-     checkgrmlsmall && /usr/sbin/grml-setlang "POSIX" || /usr/sbin/grml-setlang "$LANGUAGE"
+     /usr/sbin/grml-setlang "$LANGUAGE"
    # otherwise default to lang=en
    else
-     checkgrmlsmall && /usr/sbin/grml-setlang "POSIX" || /usr/sbin/grml-setlang "en"
+     /usr/sbin/grml-setlang "en"
    fi
  fi
 
@@ -248,12 +248,8 @@ config_language(){
  fi
 
  # export it now, so error messages get translated, too
- if checkgrmlsmall ; then
-    export LANG='C' # grml-small does not provide any further locales
- else
-    [ -r /etc/default/locale ] && . /etc/default/locale
-    export LANG LANGUAGE
- fi
+ [ -r /etc/default/locale ] && . /etc/default/locale
+ export LANG LANGUAGE
 
  # configure keyboard layout, read in already set values first:
  [ -r /etc/sysconfig/keyboard ] && . /etc/sysconfig/keyboard
@@ -376,20 +372,21 @@ config_language(){
 
 # {{{ Set hostname
 config_hostname(){
- if checkbootparam 'hostname' ; then
+  if ! checkbootparam 'hostname' ; then
+    return 0
+  fi
+
   HOSTNAME="$(getbootparam 'hostname' 2>>$DEBUG)"
   if [ -z "$HOSTNAME" ] && [ -x /usr/bin/random-hostname ] ; then
-     einfo "Generating random hostname as no hostname was specified."
-     HOSTNAME="$(/usr/bin/random-hostname)"
-     eend $?
+    einfo "Generating random hostname as no hostname was specified."
+    HOSTNAME="$(/usr/bin/random-hostname)"
+    eend $?
   fi
+
   einfo "Setting hostname to $HOSTNAME as requested."
-  grml-hostname $HOSTNAME >>$DEBUG ; RC=$?
-  [ "$RC" = "0" ] && hostname $HOSTNAME
+  grml-hostname $HOSTNAME >>$DEBUG ; eend $RC
   eend $RC
- else
-  hostname --file /etc/hostname
- fi
+fi
 }
 # }}}
 
@@ -1105,6 +1102,7 @@ fi
 # {{{ autostart of x11vnc
 config_vnc(){
 if checkbootparam 'vnc' ; then
+   config_userlocal
    VNC_PASSWD=''
    VNC_PASSWD="$(getbootparam 'vnc' 2>>$DEBUG)"
    einfo "Bootoption vnc found, trying to set password for user $localuser."
@@ -1119,7 +1117,7 @@ if checkbootparam 'vnc' ; then
       elif [ -x /usr/bin/hexdump ] ; then
          VNC_PASSWD="$(dd if=/dev/urandom bs=14 count=1 2>/dev/null | hexdump | awk '{print $3 $4}')"
       elif [ -n "$RANDOM" ] ; then
-         VNC_PASSWD="${USER}${RANDOM}"
+         VNC_PASSWD="${localuser}${RANDOM}"
       else
          VNC_PASSWD=''
          eerror "Empty passphrase and neither pwgen nor hexdump nor \$RANDOM found. Skipping."
@@ -1135,7 +1133,7 @@ if checkbootparam 'vnc' ; then
    # finally check if we have a password we can use:
    if [ -n "$VNC_PASSWD" ] ; then
 
-      VNCDIR="/home/${USER}/.vnc"
+      VNCDIR="/home/${localuser}/.vnc"
       [ -d "$VNCDIR" ] || mkdir "$VNCDIR"
 
       if [ ! -x /usr/bin/x11vnc ] ; then
@@ -1151,7 +1149,7 @@ if checkbootparam 'vnc' ; then
       VNC_CONNECT="$(getbootparam 'vnc_connect' 2>>$DEBUG)"
       einfo "Bootoption vnc_connect found, will start vnc with connect to $VNC_CONNECT."
       #store the options in a file
-      VNCDIR="/home/${USER}/.vnc"
+      VNCDIR="/home/${localuser}/.vnc"
       [ -d "$VNCDIR" ] || mkdir "$VNCDIR"
       echo " --connect $VNC_CONNECT " >> $VNCDIR/options
    fi
@@ -1476,7 +1474,7 @@ if checkbootparam 'startx' && ! echo "$CMDLINE" | grep -q 'startx.*nostartx' ; t
    config_userlocal
  cat>|/etc/init.d/xstartup<<EOF
 #!/bin/sh
-su $localuser -c "/usr/bin/grml-x"
+su $localuser -c "/usr/bin/grml-x ${WINDOWMANAGER}"
 EOF
    chmod 755 /etc/init.d/xstartup