From 918b7b19206927b416bcc13bcb80a8f7d2c78c41 Mon Sep 17 00:00:00 2001 From: Sören Tempel Date: Wed, 13 Nov 2019 18:15:28 +0100 Subject: abuild: Fix abuild rootbld Without this change abuild rootbld would fail with: touch: invalid date '@' Because SOURCE_DATE_EPOCH wasn't set when abuild rootbld was used. This is a bug introduced in 71d9d5233b9db3be91510addcb28721545d93185. Instead of reverting the aforementioned commit move the SOURCE_DATE_EPOCH initialization to a custom function and also call it from the abuild rootbld function. Fixes #9978 --- abuild.in | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/abuild.in b/abuild.in index 91f9e1d..29a87c6 100644 --- a/abuild.in +++ b/abuild.in @@ -104,6 +104,18 @@ want_check() { return 0 } +set_source_date() { + # set time stamp for reproducible builds + export ABUILD_LAST_COMMIT="$(git_last_commit)$(git_dirty)" + if [ -z "$SOURCE_DATE_EPOCH" ] && [ "${ABUILD_LAST_COMMIT%-dirty}" = "$ABUILD_LAST_COMMIT" ]; then + SOURCE_DATE_EPOCH=$(git_last_commit_epoch $ABUILD_LAST_COMMIT) + fi + if [ -z "$SOURCE_DATE_EPOCH" ]; then + SOURCE_DATE_EPOCH=$(date -u "+%s") + fi + export SOURCE_DATE_EPOCH +} + default_cleanup_srcdir() { if options_has "chmod-clean" && test -d "$srcdir"; then chmod -R +w "$srcdir" @@ -1601,15 +1613,8 @@ build_abuildrepo() { local _starttime=$(date --utc +%s) msg "Building $repo/$pkgname $pkgver-r$pkgrel (using $program $program_version) started $(date -R)" - # set time stamp for reproducible builds - export ABUILD_LAST_COMMIT="$(git_last_commit)$(git_dirty)" - if [ -z "$SOURCE_DATE_EPOCH" ] && [ "${ABUILD_LAST_COMMIT%-dirty}" = "$ABUILD_LAST_COMMIT" ]; then - SOURCE_DATE_EPOCH=$(git_last_commit_epoch $ABUILD_LAST_COMMIT) - fi - if [ -z "$SOURCE_DATE_EPOCH" ]; then - SOURCE_DATE_EPOCH=$(date -u "+%s") - fi - export SOURCE_DATE_EPOCH + # make sure SOURCE_DATE_EPOCH is set + set_source_date for part in sanitycheck builddeps clean fetch unpack prepare mkusers build \ $_check rootpkg; do @@ -2159,6 +2164,9 @@ rootbld() { # check early if we have abuild key abuild-sign --installed + # make sure SOURCE_DATE_EPOCH is set + set_source_date + # networking business sanitycheck clean -- cgit v1.2.3-70-g09d2