import glob
# global variables
-PROG_VERSION = "0.9.15"
+PROG_VERSION = "0.9.17-pre1"
MOUNTED = set() # register mountpoints
TMPFILES = set() # register tmpfiles
DATESTAMP = time.mktime(datetime.datetime.now().timetuple()) # unique identifier for syslinux.cfg
if os.path.isfile("/usr/share/grub/ascii.pf2"):
exec_rsync('/usr/share/grub/ascii.pf2', grub_target + 'ascii.pf2')
+ # always copy grub content as it might be useful
+ for file in glob.glob(iso_mount + '/boot/grub/*.mod'):
+ exec_rsync(file, grub_target)
+
+ for file in glob.glob(iso_mount + '/boot/grub/*.img'):
+ exec_rsync(file, grub_target)
+
+ for file in glob.glob(iso_mount + '/boot/grub/stage*'):
+ exec_rsync(file, grub_target)
def install_iso_files(grml_flavour, iso_mount, device, target):
"""Copy files from ISO to given target
sys.stdout.write(line)
fileinput.close()
-def adjust_labels(src, flavour):
+def adjust_labels(src, replacement):
label_re = re.compile("^(\s*label\s*) ([a-zA-Z0-9_-]+)", re.I)
for line in fileinput.input(src, inplace=1):
- line = label_re.sub(r'\1 %s-\2' % flavour, line)
+ line = label_re.sub(replacement, line)
sys.stdout.write(line)
fileinput.close()
new_hidden = "%s_hidden.cfg" % (flavour_filename)
new_hidden_file = "%s/%s" % (syslinux_target, new_hidden)
os.rename(filename, new_hidden_file)
- adjust_labels(new_hidden_file, flavour_filename)
- adjust_syslinux_bootoptions(new_hidden_file, flavour_filename)
+ adjust_labels(new_hidden_file, r'\1 %s-\2' % grml_flavour)
+ adjust_syslinux_bootoptions(new_hidden_file, grml_flavour)
entry = 'include %s\n' % new_hidden
add_entry_if_not_present("%s/hiddens.cfg" % syslinux_target, entry)
defaults_file = '%s/defaults.cfg' % syslinux_target
if os.path.isfile(defaults_file):
- remove_default_entry('%s/%s_default.cfg' % (syslinux_target, flavour_filename))
+ new_default_with_path = "%s/%s" % (syslinux_target, new_default)
+ new_grml_cfg = "%s/%s_grml.cfg" % ( syslinux_target, flavour_filename)
+
+ # remove default menu entry in menu
+ remove_default_entry(new_default_with_path)
+
+ # adjust all labels for additional isos
+ adjust_labels(new_default_with_path, r'\1 %s' % grml_flavour)
+ adjust_labels(new_grml_cfg, r'\1 %s-\2' % grml_flavour)
+
add_entry_if_not_present("%s/defaults.cfg" % syslinux_target, entry)