diff --git a/make-release b/make-release
new file mode 100755
index 0000000..ec4bb42
--- /dev/null
+++ b/make-release
@@ -0,0 +1,64 @@
+#!/bin/bash -e
+
+# Based on avi's scripts/make-release from kvm-userspace.git
+
+usage()
+{
+    echo "usage: make-release name kernel-dir kernel-commit user-dir user-commit"
+    exit 1
+}
+
+[ $# -eq 5 ] || usage
+
+name="$1"
+kdir="$2"
+kcommit="$3"
+udir="$4"
+ucommit="$5"
+archs=(x86 ia64)
+
+release_dir=$(mktemp -d)
+
+tarball="$(pwd)/$name.tar.gz"
+
+cd "${release_dir}"
+(cd "$udir";  git archive --format=tar --prefix="$name"/ "$ucommit") | tar x
+cd "$name"
+cat <<EOF > SOURCES
+kernel:    $(cd "$kdir"; git rev-parse "$kcommit")
+userspace: $(cd "$udir"; git rev-parse "$ucommit")
+EOF
+
+paths=(drivers/kvm virt/kvm)
+files=(kvm.h kvm_host.h kvm_para.h kvm_types.h kvm_x86_emulate.h virtext.h svm.h vmx.h)
+for file in "${files[@]}"; do
+    for arch in "${archs[@]}"; do
+	for variant in include/asm-"$arch" arch/"$arch"/include/asm; do
+	    paths+=("$variant"/"$file")
+	done
+    done
+    paths+=(include/linux/"$file")
+done
+for arch in "${archs[@]}"; do
+    paths+=(arch/"$arch"/kvm)
+done
+
+(cd "$kdir"; git archive --format=tar --prefix=linux/ "$kcommit" "${paths[@]}") | tar x
+
+touch kernel/config.kbuild
+echo ARCH=ia64 > config.mak
+make -C kernel sync LINUX=../linux version="$name" >/dev/null
+echo ARCH=x86_64 > config.mak
+make -C kernel sync LINUX=../linux version="$name" >/dev/null
+rm -rf config.mak linux kernel/config.kbuild
+#rm -rf kernel/include/asm kernel/include-compat/asm
+sed -i "s/kvm-devel/$name/" qemu/configure
+
+cd ..
+
+tar czf "$tarball" "$name"
+
+cd $(dirname "$tarball")
+md5sum $(basename "$tarball")
+
+rm -rf "${release_dir}"
diff --git a/qemu.spec b/qemu.spec
index 9a8bcf9..a4d7f55 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,26 +1,24 @@
 Summary: QEMU is a FAST! processor emulator
 Name: qemu
 Version: 0.10
-Release: 13%{?dist}
+Release: 14%{?dist}
 # I have mistakenly thought the revision name would be 1.0.
 # So 0.10 series get Epoch = 1
 Epoch: 2
 License: GPLv2+ and LGPLv2+ and BSD
 Group: Development/Tools
 URL: http://www.qemu.org/
-#Source0: http://www.qemu.org/%{name}-%{version}.tar.gz
-# git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
-# git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git
-# echo "kdir=$(pwd)/kvm" > ~/.kvm-release-config
-# cd kvm-userspace
-# mkdir $(HOME)/sf-releases
-# ./scripts/make-release kvm-85rc-1.git-snapshot-date +%Y%m%d HEAD HEAD
 
+# To re-create the tarball below:
+#   $> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git
+#   $> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git
+#   $> make-release qemu-kvm-%{version}.tar.gz $(pwd)/kvm v2.6.29-6998-g1d0cdf1 \
+#                                              $(pwd)/kvm-userspace kvm-84-196-ga01bd3f
 Source0: qemu-kvm-%{version}.tar.gz
+
 Source1: qemu.init
 Source2: kvm.modules
 
-
 Patch1: 01-tls-handshake-fix.patch
 Patch2: 02-vnc-monitor-info.patch
 Patch3: 03-display-keymaps.patch
@@ -468,6 +466,9 @@ fi
 %{_mandir}/man1/qemu-img.1*
 
 %changelog
+* Thu Apr 23 2009 Mark McLoughlin <markmc@redhat.com> - 2:0.10-14
+- Improve instructions for generating the tarball
+
 * Tue Apr 21 2009 Mark McLoughlin <markmc@redhat.com> - 2:0.10-13
 - Enable pulseaudio driver to fix qemu lockup at shutdown (#495964)