From edef7e7bcc640217ded256b18e46f5b2e3aedf88 Mon Sep 17 00:00:00 2001 From: orbea Date: Wed, 25 Apr 2018 09:43:16 -0700 Subject: [PATCH] retroarch-release.sh: Added script to create RetroArch release tarballs. This script will create a .zip, .tar.gz and .tag.xz from the most recent RetroArch release tag. --- retroarch-release.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100755 retroarch-release.sh diff --git a/retroarch-release.sh b/retroarch-release.sh new file mode 100755 index 00000000..68bd9251 --- /dev/null +++ b/retroarch-release.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# vim: set ts=3 sw=3 noet ft=sh : bash +# RetroArch packaging script + +PRGNAM=RetroArch +SRCNAM="$(printf %s $PRGNAM | tr '[:upper:]' '[:lower:]')" +TMP=${TMP:-/tmp/libretro} + +set -eu + +# Ensure a clean and fully updated repo +if [ -d $SRCNAM ]; then + rm -rf -- $SRCNAM + ./libretro-fetch.sh $SRCNAM +fi + +COMMIT="$(git --work-tree=$SRCNAM --git-dir=$SRCNAM/.git describe --abbrev=0 \ + --tags)" +VERSION="$(printf %s $COMMIT | tr -d v)" + +trap 'rm -rf -- $TMP/$PRGNAM-$VERSION; exit 0' EXIT INT + +# Don't alter the original cloned repo +mkdir -p -- "$TMP" +rm -rf -- "$TMP/$PRGNAM-$VERSION" +cp -a $SRCNAM "$TMP/$PRGNAM-$VERSION" + +# Checkout the last release tag +git --work-tree="$TMP/$PRGNAM-$VERSION" --git-dir="$TMP/$PRGNAM-$VERSION/.git" \ + checkout "$COMMIT" + +# Remove .git directories and files +find "$TMP/$PRGNAM-$VERSION" -name ".git*" | xargs rm -rf + +cd -- "$TMP" + +# Create .zip and .tar.xz release tarballs. +zip -r "$PRGNAM-$VERSION.zip" "$PRGNAM-$VERSION" +tar cf - "$PRGNAM-$VERSION" | xz -c9 - > "$PRGNAM-$VERSION.tar.xz"