aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2009-05-14 18:08:03 +0300
committerAvi Kivity <avi@redhat.com>2009-05-14 18:16:06 +0300
commit6b2213b05acf4b7d6e4b2fa604358e77b02bac50 (patch)
tree71f73c2c0238a0a55fd6ada9fa8c4fb01fb2e0ad
parent1d32b43964a253f0e36ea6a1c5f6c4c967d98aa6 (diff)
Add script to make a combined userspace/kernel releasekvm-86rc1
Signed-off-by: Avi Kivity <avi@redhat.com>
-rwxr-xr-xkvm/scripts/make-combined-release36
1 files changed, 36 insertions, 0 deletions
diff --git a/kvm/scripts/make-combined-release b/kvm/scripts/make-combined-release
new file mode 100755
index 000000000..adef8f610
--- /dev/null
+++ b/kvm/scripts/make-combined-release
@@ -0,0 +1,36 @@
+#!/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'))
+
+