Commit 918b7b19 authored by Sören Tempel's avatar Sören Tempel

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 71d9d523. 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
parent 51d9e3bc
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment