From 13c5b0d54639123e7d35c1b3f71fc987ba78adef Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 16 Sep 2014 11:37:53 +1000 Subject: Utility script to create release archive - only include files known to git. - includes all submodules. - version extracted from BKE_blender.h for naming. - MD5 checksum generated. - 'make tbz' convenience target. Script by Dan McGrath with own minor edits. --- build_files/utils/build_tgz.sh | 55 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 build_files/utils/build_tgz.sh (limited to 'build_files/utils') diff --git a/build_files/utils/build_tgz.sh b/build_files/utils/build_tgz.sh new file mode 100755 index 00000000000..577bdb41fb5 --- /dev/null +++ b/build_files/utils/build_tgz.sh @@ -0,0 +1,55 @@ +#!/bin/sh + +# This script can run from any location, +# output is created in the $CWD + +BASE_DIR="$PWD" + +blender_srcdir=$(dirname -- $0)/../.. +blender_version=$(grep "BLENDER_VERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}') +blender_version_char=$(grep "BLENDER_VERSION_CHAR\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}') +blender_version_cycle=$(grep "BLENDER_VERSION_CYCLE\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}') +blender_subversion=$(grep "BLENDER_SUBVERSION\s" "$blender_srcdir/source/blender/blenkernel/BKE_blender.h" | awk '{print $3}') + +if [ "$blender_version_cycle" = "release" ] ; then + VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)$blender_version_char +else + VERSION=$(expr $blender_version / 100).$(expr $blender_version % 100)_$blender_subversion +fi + +MANIFEST="blender-$VERSION-manifest.txt" +TARBALL="blender-$VERSION.tar.gz" + + +# Build master list +echo -n "Building manifest of files: \"$BASE_DIR/$MANIFEST\" ..." +git ls-files > $BASE_DIR/$MANIFEST + +# Enumerate submodules +for lcv in $(git submodule | cut -f2 -d" "); do + cd "$blender_srcdir/$lcv" + git ls-files | awk '$0="'"$lcv"/'"$0' >> $BASE_DIR/$MANIFEST +done +echo "OK" + + +# Create the tarball +cd "$blender_srcdir" +echo -n "Creating archive: \"$BASE_DIR/$TARBALL\" ..." +GZIP=-9 tar --transform "s,^,blender-$VERSION/,g" -zcf "$BASE_DIR/$TARBALL" -T "$BASE_DIR/$MANIFEST" +echo "OK" + + +# Create checksum file +cd "$BASE_DIR" +echo -n "Createing checksum: \"$BASE_DIR/$TARBALL.md5sum\" ..." +md5sum "$TARBALL" > "$TARBALL.md5sum" +echo "OK" + + +# Cleanup +echo -n "Cleaning up ..." +rm "$BASE_DIR/$MANIFEST" +echo "OK" + +echo "Done!" -- cgit v1.2.3