From: Jo-Philipp Wich Date: Thu, 8 Nov 2018 10:52:33 +0000 (+0100) Subject: script: ipkg-build: honour $SOURCE_DATE_EPOCH X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=d157a76c67bcb821d3ec8dcd4312390ef129a95a;p=openwrt%2Fstaging%2Fneocturne.git 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 --- diff --git a/scripts/ipkg-build b/scripts/ipkg-build index e42da2ecbc..21127f3391 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