- grub_config_file.close( )
-
- syslinux_target = target + '/boot/isolinux/'
- execute(mkdir, syslinux_target)
-
- logging.debug("Generating syslinux configuration %s" % syslinux_target + 'syslinux.cfg')
- if not dry_run:
- syslinux_config_file = open(syslinux_target + 'syslinux.cfg', 'w')
- syslinux_config_file.write(generate_syslinux_config(grml_flavour))
- syslinux_config_file.close( )
-
- logging.debug("Generating isolinux/syslinux splash %s" % syslinux_target + 'boot.msg')
- if not dry_run:
+ grub_config_file.close()
+
+ logging.info("Generating syslinux configuration") # % syslinux_target + 'syslinux.cfg')
+ syslinux_cfg = syslinux_target + 'syslinux.cfg'
+
+ # install main configuration only *once*, no matter how many ISOs we have:
+ if os.path.isfile(syslinux_cfg):
+ string = open(syslinux_cfg).readline()
+ if not re.match("## main syslinux configuration", string):
+ syslinux_config_file = open(syslinux_cfg, 'w')
+ syslinux_config_file.write(generate_main_syslinux_config(grml_flavour, "")) # FIXME - bootoptions
+ syslinux_config_file.close()
+ else:
+ syslinux_config_file = open(syslinux_cfg, 'w')
+ syslinux_config_file.write(generate_main_syslinux_config(grml_flavour, "")) # FIXME - bootoptions
+ syslinux_config_file.close()
+
+ # install flavour specific configuration only *once* as well
+ # ugly - I'm pretty sure this could be smoother...
+ flavour_config = True
+ if os.path.isfile(syslinux_cfg):
+ string = open(syslinux_cfg).readlines()
+ flavour = re.compile("^# flavour specific configuration for %s" % re.escape(grml_flavour))
+ for line in string:
+ if flavour.match(line):
+ flavour_config = False
+
+ if flavour_config:
+ syslinux_config_file = open(syslinux_cfg, 'a')
+ syslinux_config_file.write(generate_flavour_specific_syslinux_config(grml_flavour, "")) # FIXME - bootoptions
+ syslinux_config_file.close( )
+
+ logging.debug("Generating isolinux/syslinux splash %s" % syslinux_target + 'boot.msg')