summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2014-11-17 08:32:00 +0100
committerGerd Hoffmann <kraxel@redhat.com>2014-11-25 08:19:25 +0100
commitb7f4a76a929ce4acd60e89aa273a8b208daa8233 (patch)
tree1fa1b97fc959f1bab2f8a05cf686b249678a749b /scripts
parent9f505f715793d99235bd6b4afb2ca7b96ba5729b (diff)
downloadqemu-seabios-b7f4a76a929ce4acd60e89aa273a8b208daa8233.tar.gz
add scripts/tarball.sh
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/tarball.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/tarball.sh b/scripts/tarball.sh
new file mode 100755
index 0000000..06d8554
--- /dev/null
+++ b/scripts/tarball.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+#
+# Script to create seabios release and snapshot tarballs.
+# Accepts conmmit (hash, tag, branch, ...) as first argument,
+# uses HEAD if unspecified.
+#
+
+commit="${1-HEAD}"
+
+# figure name for the tarball
+reltag="$(git describe --tags --match 'rel-*' --exact $commit 2>/dev/null)"
+if test "$reltag" != ""; then
+ # release
+ name="${reltag#rel-}"
+else
+ # snapshot
+ reltag="$(git describe --tags --match 'rel-*' $commit 2>/dev/null)"
+ name="snap-${reltag#rel-}"
+fi
+
+# export tarball archive from git
+prefix="seabios-${name}/"
+output="seabios-${name}.tar"
+echo "# commit $commit -> tarball: ${output}.gz"
+rm -f "$output" "${output}.gz"
+git archive --format=tar --prefix="$prefix" "$commit" > "$output"
+
+# add .version file to tarball
+dotver="$(mktemp dotver.XXXXXX)"
+echo "$name" > "$dotver"
+tar --append --file="$output" --owner=root --group=root --mode=0664 \
+ --transform "s:${dotver}:${prefix}.version:" "$dotver"
+rm -f "$dotver"
+
+# finally compress it
+gzip "$output"