also look for bootparams in /lib/live/mount/medium [Closes: issue1239]
[grml-x.git] / grml-x
diff --git a/grml-x b/grml-x
index 995b4c4..97eec09 100755 (executable)
--- a/grml-x
+++ b/grml-x
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python
 # -*- coding: utf-8 -*-
 # vim: set et ts=4:
 
@@ -9,6 +9,8 @@
 # License:       This file is licensed under the GPL v2.
 ###############################################################################
 
+# Requires python 2.6 or, possibly, a newer version of python 2.X.
+
 import fileinput, os, subprocess, sys, tempfile, time, traceback
 from optparse import OptionParser
 
@@ -24,6 +26,8 @@ class Section(object):
             v = self.data[k]
             if isinstance(v, list):
                 v = '" "'.join(v)
+            elif not isinstance(v, basestring): # int, others
+                v = str(v)
             elif '-' in v: # sync range
                 pass
             else:
@@ -67,10 +71,11 @@ def build_bootparams():
     f.close()
     walk_bootparams_path('/cdrom/bootparams')
     walk_bootparams_path('/live/image/bootparams')
+    walk_bootparams_path('/lib/live/mount/medium/bootparams')
     params = {}
     for p in ' '.join(lines).split(' '):
         if '=' in p:
-            (k,v) = p.split('=', 2)
+            (k,v) = p.split('=', 1)
             params[k] = v
         else:
             params[p] = True
@@ -142,7 +147,7 @@ def main():
     (options, args) = parser.parse_args()
     bootparams = build_bootparams()
 
-    if os.getuid() == 0:
+    if os.getuid() == 0 and options.start_server:
         print "W: running as root is unsupported and may not work."
         time.sleep(1)
 
@@ -194,7 +199,7 @@ def main():
         f.close()
         f = open(xinitrc, 'w')
         for line in lines:
-            if line.startswith('exec '): line = wm_exec
+            if line.strip().startswith('exec '): line = wm_exec
             f.write(line)
         os.fchmod(f.fileno(), 0750)
         f.close()