diff --git a/packaging/generate_snapshot_version.sh b/packaging/generate_snapshot_version.sh new file mode 100644 index 0000000000..1c7b3721bf --- /dev/null +++ b/packaging/generate_snapshot_version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# See https://reproducible-builds.org/specs/source-date-epoch/ +# get SOURCE_DATE_EPOCH with UNIX time_t +if [ -d ".git" ]; +then + SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct) +else + echo "Error: intended for use from within a git repository" + exit 1 +fi +MRPT_SNAPSHOT_VERSION=$(date -d @$SOURCE_DATE_EPOCH +%Y%m%d-%H%M) + +MRPT_SNAPSHOT_VERSION+="-git-" +MRPT_SNAPSHOT_VERSION+=`git rev-parse --short=8 HEAD` diff --git a/packaging/make_release.sh b/packaging/make_release.sh index 4d8dfa3344..f2d1983e57 100755 --- a/packaging/make_release.sh +++ b/packaging/make_release.sh @@ -11,6 +11,21 @@ set -e # exit on error +APPEND_SNAPSHOT_NUM=0 + +while getopts "s" OPTION +do + case $OPTION in + s) + APPEND_SNAPSHOT_NUM=1 + ;; + ?) + echo "Unknown command line argument!" + exit 1 + ;; + esac +done + # Sets the bash variables: # MRPT_VERSION_STR, MRPT_VER_MMP, MRPT_VERSION_{MAJOR,MINOR,PATCH} # -------------------------------- @@ -27,6 +42,15 @@ else exit 1 fi +if [ $APPEND_SNAPSHOT_NUM == "1" ]; +then + # Get snapshot version number: + CUR_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + source $CUR_SCRIPT_DIR/generate_snapshot_version.sh # populate MRPT_SNAPSHOT_VERSION + + MRPT_VERSION_STR="${MRPT_VERSION_STR}~${MRPT_SNAPSHOT_VERSION}" +fi + MRPTSRC=$(pwd) OUT_RELEASES_DIR="$HOME/mrpt_release" @@ -82,7 +106,6 @@ for guide in $LST_GUIDES; do done # Orig tarball: - echo "> Creating source tarball: mrpt-${MRPT_VERSION_STR}.tar.gz" (cd "${OUT_RELEASES_DIR}" ; tar czf "mrpt-${MRPT_VERSION_STR}.tar.gz" "mrpt-${MRPT_VERSION_STR}" )