diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2014-11-17 08:32:00 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2014-11-25 08:19:25 +0100 |
commit | b7f4a76a929ce4acd60e89aa273a8b208daa8233 (patch) | |
tree | 1fa1b97fc959f1bab2f8a05cf686b249678a749b /scripts | |
parent | 9f505f715793d99235bd6b4afb2ca7b96ba5729b (diff) | |
download | seabios-b7f4a76a929ce4acd60e89aa273a8b208daa8233.tar.gz |
add scripts/tarball.sh
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/tarball.sh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/tarball.sh b/scripts/tarball.sh new file mode 100755 index 00000000..06d85546 --- /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" |