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.14"
+PROG_VERSION = "0.9.15"
MOUNTED = set() # register mountpoints
TMPFILES = set() # register tmpfiles
DATESTAMP = time.mktime(datetime.datetime.now().timetuple()) # unique identifier for syslinux.cfg
GRML_FLAVOURS = set() # which flavours are being installed?
global GRML_DEFAULT
+def syslinux_warning(option, opt, value, parser):
+ sys.stderr.write("Note: the --syslinux option is deprecated as syslinux " +
+ "is grml2usb's default. Continuing anyway.\n")
+ setattr(parser.values, option.dest, True)
+
# cmdline parsing
USAGE = "Usage: %prog [options] <[ISO[s] | /live/image]> </dev/sdX#>\n\
\n\
help="do not install a master boot record (MBR) on the device")
parser.add_option("--skip-syslinux-config", dest="skipsyslinuxconfig", action="store_true",
help="skip generation of syslinux configuration files")
-parser.add_option("--syslinux", dest="syslinux", action="store_true",
+parser.add_option("--syslinux", dest="syslinux", action="callback", default=True,
+ callback=syslinux_warning,
help="install syslinux bootloader (deprecated as it's the default)")
parser.add_option("--syslinux-mbr", dest="syslinuxmbr", action="store_true",
help="install syslinux master boot record (MBR) instead of default")
@device: partition where bootloader should be installed to"""
# by default we use grub, so install syslinux only on request
- if options.syslinux:
- logging.info("Note: the --syslinux option is deprecated as syslinux is grml2usb's default. Continuing anyway.")
-
if options.grub:
if not which("grub-install"):
logging.critical("Fatal: grub-install not available (please install the grub package or use the --syslinux option)")
logging.critical(" Please visit http://grml.org/grml2usb/#grml2usb-compat for further information.")
raise
- for filename in 'addons.cfg', 'default.cfg', 'distri.cfg', \
+ for filename in 'default.cfg', 'distri.cfg', \
'grml.cfg', 'grml.png', 'hd.cfg', 'isolinux.cfg', 'isolinux.bin', \
'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')