From 86ac7281d06e09ae16ef7c4cb3e8cbd6fee39da0 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 15 Jun 2026 15:27:30 -0700 Subject: [PATCH 1/3] perl: pin cf_time/cf_by for reproducible builds Configure bakes the wall-clock build time into Config_heavy.pl/perlbug/perlthanks (cf_time/cf_by), making builds non-reproducible. Pin both from SOURCE_DATE_EPOCH and pass them explicitly to Configure (perl doesn't honor SOURCE_DATE_EPOCH natively). Verified byte-identical content across a from-source double-build. Co-Authored-By: Claude Opus 4.8 --- packages/perl/build.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/perl/build.sh b/packages/perl/build.sh index 5946b8dd..2a75d83d 100755 --- a/packages/perl/build.sh +++ b/packages/perl/build.sh @@ -15,6 +15,11 @@ export CFLAGS="$MARCH -O2 -pipe -gno-record-gcc-switches -ffile-prefix-map=$(pwd export LDFLAGS="-Wl,--build-id=none" export CXXFLAGS="${CFLAGS}" +# Perl's Configure bakes the wall-clock build time into Config (cf_time/cf_by), +# which makes the build non-reproducible. Pin both deterministically. +export SOURCE_DATE_EPOCH="${SOURCE_DATE_EPOCH:-0}" +CF_TIME="$(LC_ALL=C TZ=UTC date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null || echo 'Thu Jan 1 00:00:00 UTC 1970')" + sh Configure -des \ -D cc=gcc \ -D prefix=/usr \ @@ -29,7 +34,9 @@ sh Configure -des \ -D man3dir=/usr/share/man/man3 \ -D pager="/usr/bin/less -isR" \ -D useshrplib \ - -D usethreads + -D usethreads \ + -D cf_time="$CF_TIME" \ + -D cf_by=builder make -j$(nproc) # TEST_JOBS=$(nproc) make test_harness # TODO there are failures From dfa3ca79411d55bb5eb6b157d6cc60c5ff5fd4b3 Mon Sep 17 00:00:00 2001 From: bryan Date: Tue, 16 Jun 2026 08:50:06 -0700 Subject: [PATCH 2/3] ci: re-trigger build (timed out at 6h; cache warm, build-servers raised to 8h) Co-Authored-By: Claude Opus 4.8 From 12f0bd3bec6147ebe6f79ec0926700ec55fa95a3 Mon Sep 17 00:00:00 2001 From: bryan Date: Tue, 16 Jun 2026 17:42:16 -0700 Subject: [PATCH 3/3] ci: re-trigger build (bun wedged on arm64 res-server; cache warm) Co-authored-by: Claude Opus 4.8 (1M context)