aboutsummaryrefslogtreecommitdiff
path: root/kvm/scripts/make-release
blob: 3b1dccff2f795b06cc6ee4c3b6cff41ebe0f502f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#!/bin/bash -e

usage() {
    echo "usage: $0 [--upload] [--formal] commit [name]"
    exit 1
}

[[ -f ~/.kvmreleaserc ]] && . ~/.kvmreleaserc

upload=
formal=

releasedir=~/sf-release
[[ -z "$TMP" ]] && TMP="/tmp"
tmpdir="$TMP/qemu-kvm-make-release.$$"
while [[ "$1" = -* ]]; do
    opt="$1"
    shift
    case "$opt" in
	--upload)
	    upload="yes"
	    ;;
	--formal)
	    formal="yes"
	    ;;
	*)
	    usage
	    ;;
    esac
done

commit="$1"
name="$2"

if [[ -z "$commit" ]]; then
    usage
fi

if [[ -z "$name" ]]; then
    name="$commit"
fi

tarball="$releasedir/$name.tar"

cd "$(dirname "$0")"/../..
git archive --prefix="$name/" --format=tar "$commit" > "$tarball"

if [[ -n "$formal" ]]; then
    mkdir -p "$tmpdir"
    echo "$name" > "$tmpdir/KVM_VERSION"
    tar -rf "$tarball" --transform "s,^,$name/," -C "$tmpdir" "KVM_VERSION"
    rm -rf "$tmpdir"
fi

gzip -9 "$tarball"
tarball="$tarball.gz"

if [[ -n "$upload" ]]; then
    rsync --progress -h "$tarball" avik@frs.sourceforge.net:uploads/
fi