#!/usr/bin/env python
- #include <stdlib.h>
# -*- coding: utf-8 -*-
"""
grml2usb
from inspect import isroutine, isclass
import datetime, logging, os, re, subprocess, sys, tempfile, time, os.path
import fileinput
+import glob
# 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
'isoprompt.cfg', 'options.cfg', \
'prompt.cfg', 'vesamenu.c32', 'vesamenu.cfg', 'grml.png':
path = search_file(filename, iso_mount + '/boot/isolinux/')
- if not path:
- print filename
- continue
exec_rsync(path, syslinux_target + filename)
+ # copy the addons_*.cfg file to the new syslinux directory
+ for filename in glob.glob(iso_mount + '/boot/isolinux/' + 'addon_*.cfg'):
+ exec_rsync(filename, syslinux_target)
+
path = search_file('hidden.cfg', iso_mount + '/boot/isolinux/')
exec_rsync(path, syslinux_target + "new_" + 'hidden.cfg')
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)
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
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)
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()
# finally be politely :)
logging.info("Finished execution of grml2usb (%s). Have fun with your grml system.", PROG_VERSION)
+
if __name__ == "__main__":
try:
main()