X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=blobdiff_plain;f=grml2usb;h=bd4752c67759f4865b034a3a6bf8229ec2fdae79;hp=b84165e899879ef640353b7f27295b71deb192e9;hb=35d64cfacc77f59024ee1cfda8c65aa71e96cc21;hpb=eb1a910784ceae1d11c08871cabd9d4c8a2a8cd0 diff --git a/grml2usb b/grml2usb index b84165e..bd4752c 100755 --- a/grml2usb +++ b/grml2usb @@ -22,7 +22,7 @@ import uuid import struct # global variables -PROG_VERSION = "0.9.28" +PROG_VERSION = "0.9.29~git" MOUNTED = set() # register mountpoints TMPFILES = set() # register tmpfiles DATESTAMP = time.mktime(datetime.datetime.now().timetuple()) # unique identifier for syslinux.cfg @@ -1159,22 +1159,30 @@ def update_grml_versions(iso_mount, target): logging.warn("Warning: %s could not be found - can not install it", iso_grml_version_file) return False try: + # read the flavours from the iso image iso_versions = {} iso_file = open(iso_grml_version_file, 'r') for line in iso_file: iso_versions[get_flavour(line)] = line.strip() + # update the existing flavours on the target for line in fileinput.input([target_grml_version_file], inplace=1): flavour = get_flavour(line) if flavour in iso_versions.keys(): - print iso_versions[flavour] + print iso_versions.pop(flavour) else: print line.strip() + fileinput.close() + + target_file = open(target_grml_version_file, 'a') + # add the new flavours from the current iso + for flavour in iso_versions: + target_file.write("%s\n" % iso_versions[flavour]) except IOError: logging.warn("Warning: Could not write file") finally: iso_file.close() - fileinput.close() + target_file.close() return True else: return False