config_mypath(): fix mkdir usage + writing to /etc/grml/my_path
[grml-autoconfig.git] / autoconfig.functions
index d91089d..ccca421 100755 (executable)
@@ -4,7 +4,7 @@
 # Authors:       grml-team (grml.org), (c) Klaus Knopper <knopper@knopper.net>, (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Mon Feb 18 13:30:57 CET 2008 [mika]
+# Latest change: Tue May 20 01:09:30 CEST 2008 [mika]
 ################################################################################
 
 # {{{ path, variables, signals, umask, zsh
@@ -1612,11 +1612,22 @@ config_wondershaper(){
 # {{{ syslog-ng
 config_syslog(){
  if checkbootparam "nosyslog"; then
-  ewarn "Not starting syslog-ng as requested on boot commandline." ; eend 0
+    ewarn "Not starting syslog daemon as requested on boot commandline." ; eend 0
  else
-  einfo "Starting syslog-ng in background."
-  /etc/init.d/syslog-ng start 1>>$DEBUG &
-  eend 0
+    SYSLOGD=''
+    [ -x /etc/init.d/syslog-ng ] && SYSLOGD='syslog-ng'
+    [ -x /etc/init.d/rsyslog   ] && SYSLOGD='rsyslog'
+    [ -x /etc/init.d/dsyslog   ] && SYSLOGD='dsyslog'
+    [ -x /etc/init.d/sysklogd  ] && SYSLOGD='sysklogd'
+    [ -x /etc/init.d/inetutils-syslogd ] && SYSLOGD='inetutils-syslogd'
+
+    if [ -z "$SYSLOGD" ] ; then
+       eerror "No syslog daemon found." ; eend 1
+    else
+       einfo "Starting $SYSLOGD in background."
+       /etc/init.d/$SYSLOGD start 1>>$DEBUG &
+       eend 0
+    fi
  fi
 }
 # }}}
@@ -1906,6 +1917,27 @@ fi
 }
 # }}}
 
+# {{{ mypath
+config_mypath(){
+if checkbootparam "mypath" ; then
+   MY_PATH="$(getbootparam 'mypath' 2>>$DEBUG)"
+   einfo "Bootparameter mypath found, adding ${MY_PATH} to /etc/grml/my_path"
+   touch /etc/grml/my_path
+   chmod 644 /etc/grml/my_path
+   # make sure the directories exist:
+   eindent
+   for i in $(echo $MY_PATH | sed 's/:/\n/g') ; do
+       if ! [ -d "$i" ] ; then
+          einfo "Creating directory $i"
+          mkdir -p "$i" ; eend $?
+       fi
+   done
+   grep -q "${MY_PATH}" /etc/grml/my_path || echo "${MY_PATH}" >> /etc/grml/my_path ; eend $?
+   eoutdent
+fi
+}
+# }}}
+
 # {{{ distcc
 config_distcc(){
 if checkbootparam "distcc" ; then