From b7f4a76a929ce4acd60e89aa273a8b208daa8233 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 17 Nov 2014 08:32:00 +0100 Subject: add scripts/tarball.sh Signed-off-by: Gerd Hoffmann --- scripts/tarball.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 scripts/tarball.sh (limited to 'scripts') 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" -- cgit v1.1