X-Git-Url: http://git.grml.org/?p=grml2usb.git;a=blobdiff_plain;f=grml2usb;h=b9df22f42f728adbe64cd05ec2a289c49a59dd2b;hp=dc63b1bab82e190afcb145be51a2789947652f7e;hb=abe68338ee0a37eeaccb8dd45c4d9c0b1a18d4ca;hpb=609d0d8b69040f5b56a5a85e4fef0862c26b47a8 diff --git a/grml2usb b/grml2usb index dc63b1b..b9df22f 100755 --- a/grml2usb +++ b/grml2usb @@ -525,7 +525,7 @@ def generate_flavour_specific_syslinux_config(grml_flavour): return("""\ menu begin grml %(grml_flavour)s - menu title Grml %(grml_flavour)s + menu title %(grml_flavour)s label mainmenu menu label ^Back to main menu... menu exit @@ -955,6 +955,7 @@ def copy_system_files(grml_flavour, iso_mount, target): filesystem_module = search_file('filesystem.module', iso_mount) if filesystem_module is None: logging.critical("Fatal: filesystem.module not found") + raise CriticalException("error locating filesystem.module file") else: exec_rsync(filesystem_module, squashfs_target + 'filesystem.module') @@ -964,12 +965,14 @@ def copy_system_files(grml_flavour, iso_mount, target): kernel = search_file('linux26', iso_mount) if kernel is None: logging.critical("Fatal kernel not found") + raise CriticalException("error locating kernel file") else: exec_rsync(kernel, release_target + '/linux26') initrd = search_file('initrd.gz', iso_mount) if initrd is None: logging.critical("Fatal: initrd not found") + raise CriticalException("error locating initrd file") else: exec_rsync(initrd, release_target + '/initrd.gz') @@ -1341,7 +1344,18 @@ def adjust_syslinux_bootoptions(src_name, dst_name, flavour): def add_syslinux_entry(filename, grml_flavour): - data = open(filename, "a") + data = open(filename, "a+") + entry_filename = "option-%s.cfg" % grml_flavour + entry = "include %s\n" % entry_filename + path = os.path.dirname(filename) + for line in data: + if line == entry: + break + else: + data.write(entry) + + data.close() + data = open(path + "/" + entry_filename, "w") data.write(generate_flavour_specific_syslinux_config(grml_flavour)) data.close() @@ -1383,8 +1397,14 @@ def handle_syslinux_config(grml_flavour, target): new_hidden = "%s-hidden.cfg" % (grml_flavour) new_default = "%s-default.cfg" % (grml_flavour) - default_file = open("%s/defaults.cfg" % syslinux_target, "a") - default_file.write("include %s\n" % new_default) + default_file = open("%s/defaults.cfg" % syslinux_target, "a+") + entry = "include %s\n" % new_default + for line in default_file: + if line == entry: + break + else: + default_file.write("include %s\n" % new_default) + default_file.close() add_syslinux_entry("%s/additional.cfg" % syslinux_target, grml_flavour)