mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
... rather than leaking whomever created the tarball.
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
(cherry picked from commit 1f03c2fd35)
55 lines
1.5 KiB
Bash
Executable File
55 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# mktarball: Make a release tarball (including xen, qemu, and qemu-traditional)
|
|
#
|
|
# Takes 2 arguments, the path to the dist directory and the version
|
|
set -ex
|
|
|
|
function git_archive_into {
|
|
mkdir -p "$2"
|
|
|
|
git --git-dir="$1"/.git \
|
|
archive --format=tar HEAD | \
|
|
tar Cxf "$2" -
|
|
}
|
|
|
|
if [[ -z "$1" || -z "$2" ]] ; then
|
|
echo "usage: $0 path-to-XEN_ROOT xen-version"
|
|
exit 1
|
|
fi
|
|
|
|
xen_root="$1"
|
|
desc="$2"
|
|
|
|
tdir="$xen_root/dist/tmp.src-tarball"
|
|
|
|
rm -rf $tdir
|
|
|
|
mkdir -p $tdir
|
|
|
|
git_archive_into $xen_root $tdir/xen-$desc
|
|
|
|
# We can't use git_archive_into with qemu upstream because it uses
|
|
# git-submodules. git-submodules are an inherently broken git feature
|
|
# which should never be used in any circumstance. Unfortunately, qemu
|
|
# upstream uses them. Relevantly for us, git archive does not work
|
|
# properly when there are submodules.
|
|
(
|
|
cd $xen_root/tools/qemu-xen-dir-remote
|
|
# if it's not clean, the qemu script will call `git stash' !
|
|
git --no-pager diff --stat HEAD
|
|
scripts/archive-source.sh $tdir/xen-$desc/tools/qemu-xen.tar
|
|
cd $tdir/xen-$desc/tools
|
|
mkdir qemu-xen
|
|
tar <qemu-xen.tar Cxf qemu-xen -
|
|
rm qemu-xen.tar
|
|
)
|
|
|
|
git_archive_into $xen_root/tools/qemu-xen-traditional-dir-remote $tdir/xen-$desc/tools/qemu-xen-traditional
|
|
|
|
git_archive_into $xen_root/extras/mini-os-remote $tdir/xen-$desc/extras/mini-os
|
|
|
|
GZIP=-9v tar cz -f $xen_root/dist/xen-$desc.tar.gz --owner 0 --group 0 -C $tdir xen-$desc
|
|
|
|
echo "Source tarball in $xen_root/dist/xen-$desc.tar.gz"
|