From 55d078b249427380fe9cc3684f7657ccc2b1405c Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 8 Nov 2018 11:52:33 +0100 Subject: [PATCH] script: ipkg-build: honour $SOURCE_DATE_EPOCH When the SOURCE_DATE_EPOCH environment variable is set, use it to override the timestamps of .ipk archive contents. This ensures that .ipk archives built in environments without SCM metadata (mainly the SDK) are reproducible between different runs. Ref: https://github.com/openwrt/packages/issues/6954 Signed-off-by: Jo-Philipp Wich (cherry picked from commit d157a76c67bcb821d3ec8dcd4312390ef129a95a) --- scripts/ipkg-build | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/ipkg-build b/scripts/ipkg-build index 845a6ed04e..d38ba20af3 100755 --- a/scripts/ipkg-build +++ b/scripts/ipkg-build @@ -15,8 +15,12 @@ FIND="${FIND:-$(which gfind)}" TAR="${TAR:-$(which tar)}" GZIP="$(which gzip)" +# try to use fixed source epoch +if [ -n "$SOURCE_DATE_EPOCH" ]; then + TIMESTAMP=$(date --date="@$SOURCE_DATE_EPOCH") + # look up date of last commit -if [ -d "$TOPDIR/.git" ]; then +elif [ -d "$TOPDIR/.git" ]; then GIT="$(which git)" TIMESTAMP=$(cd $TOPDIR; $GIT log -1 -s --format=%ci) elif [ -d "$TOPDIR/.svn" ]; then -- 2.25.1