blob: adef8f6105b710aae1c966814af2285a850602b3 [file] [log] [blame]
#!/usr/bin/python
import sys, tarfile, os.path
# usage: $0 combined.tar.gz qemu.tar.gz kvm-kmod.tar.gz
outname, qemuname, kmodname = sys.argv[1:4]
out = tarfile.open(name = outname, mode = 'w:gz')
def tarcopy(dst, src, transform):
for member in src:
f = src.extractfile(member)
member.name = transform(member.name)
dst.addfile(member, f)
def stem(fname):
fname = os.path.basename(fname)
if fname.endswith('.tar.gz'):
fname = fname[:-7]
return fname
def transformer(old, new):
def transform(fname):
if fname.startswith(old + '/'):
fname = new + fname[len(old):]
return fname
return transform
tarcopy(out, tarfile.open(name = qemuname),
transformer(stem(qemuname), stem(outname)))
tarcopy(out, tarfile.open(name = kmodname),
transformer(stem(kmodname), stem(outname) + '/kvm/kernel'))