Replace match for --remove-bootoption by space.
[grml2usb.git] / grml2usb
index 0ea7e29..fee2026 100755 (executable)
--- a/grml2usb
+++ b/grml2usb
@@ -1,5 +1,4 @@
 #!/usr/bin/env python
-       #include <stdlib.h>
 # -*- coding: utf-8 -*-
 """
 grml2usb
@@ -20,7 +19,7 @@ import datetime, logging, os, re, subprocess, sys, tempfile, time, os.path
 import fileinput
 
 # global variables
-PROG_VERSION = "0.9.13"
+PROG_VERSION = "0.9.14"
 MOUNTED = set()  # register mountpoints
 TMPFILES = set() # register tmpfiles
 DATESTAMP = time.mktime(datetime.datetime.now().timetuple()) # unique identifier for syslinux.cfg
@@ -1255,11 +1254,14 @@ def modify_grub_config(filename):
     if options.removeoption:
         regexe = []
         for regex in options.removeoption:
-            regexe.append(re.compile(r'(.*/boot/release/.*linux26.*)(%s)(.*)' % regex))
+            regexe.append(re.compile(r'%s' % regex))
+
+        option_re = re.compile(r'(.*/boot/release/.*linux26.*)')
 
         for line in fileinput.input(filename, inplace=1):
-            for regex in regexe:
-                line = regex.sub( r'\1 \3', line)
+            if regexe and option_re.search(line):
+                for regex in regexe:
+                    line = regex.sub(' ', line)
 
             sys.stdout.write(line)
 
@@ -1366,7 +1368,7 @@ def handle_grub2_config(grml_flavour, grub_target, bootopt):
 
 
 def handle_grub_config(grml_flavour, device, target):
-    """Main handler for generati3g grub (v1 and v2) configuration
+    """Main handler for generating grub (v1 and v2) configuration
 
     @grml_flavour: name of grml flavour the configuration should be generated for
     @device: device/partition where grub should be installed to
@@ -1440,9 +1442,12 @@ def adjust_syslinux_bootoptions(src, flavour):
         bootopt = options.bootoptions
 
     regexe = []
+    option_re = None
     if options.removeoption:
+        option_re = re.compile(r'/boot/release/.*/initrd.gz')
+
         for regex in options.removeoption:
-            regexe.append(re.compile(r'(.*/boot/release/.*/initrd.gz.*)(%s)(.*)' % regex))
+            regexe.append(re.compile(r'%s' % regex))
 
     for line in fileinput.input(src, inplace=1):
         line = boot_re.sub(r'/boot/release/%s/\2 ' % flavour.replace('-', ''), line)
@@ -1450,8 +1455,9 @@ def adjust_syslinux_bootoptions(src, flavour):
         line = default_re.sub(r'%s-\1' % flavour, line)
         line = append_re.sub(r'\1 live-media-path=/live/%s/ ' % flavour, line)
         line = append_re.sub(r'\1 boot=live %s ' % bootopt, line)
-        for regex in regexe:
-            line = regex.sub( r'\1 \3', line)
+        if option_re and option_re.search(line):
+            for regex in regexe:
+                line = regex.sub(' ', line)
         sys.stdout.write(line)
     fileinput.close()
 
@@ -1891,6 +1897,7 @@ def main():
     # finally be politely :)
     logging.info("Finished execution of grml2usb (%s). Have fun with your grml system.", PROG_VERSION)
 
+
 if __name__ == "__main__":
     try:
         main()