On 2026-07-16, Jochen Sprickerhof wrote:
> gnu-apl is currently not reproducible:
>
> https://reproduce.debian.net/amd64/unstable.html#apl
>
> The problem is that the macro to use $SOURCE_DATE_EPOCH does not work.
> The attached patch fixes it and should make the package reproducible.
> Please also forward it to upstream if you agree with it.

--- gnu-apl-2.0.orig/m4/build_date.m4
+++ gnu-apl-2.0/m4/build_date.m4
@@ -22,9 +22,9 @@ apl_BUILD_OS=$(uname -s -r -m)
 
 AS_IF( [test -n "$SOURCE_DATE_EPOCH"],
        [ apl_BUILD_OS="none"
-         apl_BUILD_DATE=             $(
-                   dash_format_date -u -d "$SOURCE_DATE_EPOCH" 2>/dev/null ||
-                   dash_format_date -u -r $SOURCE_DATE_EPOCH  ||
+         apl_BUILD_DATE=$(
+                   dash_format_date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null ||
+                   dash_format_date -u -d "@$SOURCE_DATE_EPOCH"  ||
                    dash_format_date -u)
        ])
 AC_SUBST([apl_BUILD_DATE])

The first call should definitely be replaced, but I believe th second
call (e.g. date -u -r $SOURCE_DATE_EPOCH) should not be changed... this
allows both GNU date and BSD date syntaxes to work via the || operator,
as documented in the "Bash / Posix shell" examples:

  https://reproducible-builds.org/docs/source-date-epoch/


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to