Fix 32-bit overflow in parallels image support
[qemu-kvm/fedora.git] / kvm / scripts / make-combined-release
blobadef8f6105b710aae1c966814af2285a850602b3
1 #!/usr/bin/python
3 import sys, tarfile, os.path
5 # usage: $0 combined.tar.gz qemu.tar.gz kvm-kmod.tar.gz
7 outname, qemuname, kmodname = sys.argv[1:4]
9 out = tarfile.open(name = outname, mode = 'w:gz')
11 def tarcopy(dst, src, transform):
12 for member in src:
13 f = src.extractfile(member)
14 member.name = transform(member.name)
15 dst.addfile(member, f)
17 def stem(fname):
18 fname = os.path.basename(fname)
19 if fname.endswith('.tar.gz'):
20 fname = fname[:-7]
21 return fname
23 def transformer(old, new):
24 def transform(fname):
25 if fname.startswith(old + '/'):
26 fname = new + fname[len(old):]
27 return fname
28 return transform
30 tarcopy(out, tarfile.open(name = qemuname),
31 transformer(stem(qemuname), stem(outname)))
33 tarcopy(out, tarfile.open(name = kmodname),
34 transformer(stem(kmodname), stem(outname) + '/kvm/kernel'))