All, I have committed the attached patches giving us reproducible tarballs.
The particular logic to verify this continously is in the 000-reproducibility pipeline job, code here: https://gitlab.com/gnulib/pipeline/-/blob/5b224c783dc4d3ef125f1d3974d895178a820c95/gnu/inetutils.yml#L284 Build results are here: https://gitlab.com/gsasl/inetutils/-/pipelines/1287332401 With SHA256 checksum output comparisons done here: https://gitlab.com/gsasl/inetutils/-/jobs/6831038807 /Simon
From 71226a79c9b9c7b1b0ef0d05f8f41ac79dd4e491 Mon Sep 17 00:00:00 2001 From: Simon Josefsson <si...@josefsson.org> Date: Sun, 12 May 2024 10:46:33 +0200 Subject: [PATCH 1/3] maint: Make tarball reproducible. * cfg.mk (TAR_OPTIONS): Hard code mode and mtime. * Makefile.am (mtime-NEWS-to-git-HEAD): Add. (dist-hook): Use it. --- Makefile.am | 11 +++++++++++ cfg.mk | 2 ++ 2 files changed, 13 insertions(+) diff --git a/Makefile.am b/Makefile.am index eab6400e..8ffcb90a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -46,3 +46,14 @@ gen-ChangeLog: { rm -f $(distdir)/ChangeLog && \ mv $(distdir)/cl-t $(distdir)/ChangeLog; } \ fi + +# dist + +dist-hook: mtime-NEWS-to-git-HEAD + +.PHONY: mtime-NEWS-to-git-HEAD +mtime-NEWS-to-git-HEAD: + $(AM_V_GEN)if test -e $(srcdir)/.git \ + && command -v git > /dev/null; then \ + touch -m -d @"$$(git log -1 --format=%ct)" $(srcdir)/NEWS; \ + fi diff --git a/cfg.mk b/cfg.mk index a0333e1c..307982a8 100644 --- a/cfg.mk +++ b/cfg.mk @@ -32,6 +32,8 @@ update-copyright-env = \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 +TAR_OPTIONS += --mode=go+u,go-w --mtime=$(srcdir)/NEWS + # maint.mk's public-submodule-commit breaks on shallow gnulib submodule-checks = gl_public_submodule_commit = -- 2.41.0
From 9a3da0007d9507299cf38895ab92ea45aaf3f9d9 Mon Sep 17 00:00:00 2001 From: Simon Josefsson <si...@josefsson.org> Date: Sun, 12 May 2024 11:59:04 +0200 Subject: [PATCH 2/3] telnetd: Make --help output reproducible. * telnetd/telnetd.c (argp_options): Don't use PATH_LOGIN. --- telnetd/telnetd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telnetd/telnetd.c b/telnetd/telnetd.c index 53565d37..25f45440 100644 --- a/telnetd/telnetd.c +++ b/telnetd/telnetd.c @@ -112,7 +112,7 @@ static struct argp_option argp_options[] = { {"debug", 'D', "LEVEL", OPTION_ARG_OPTIONAL, "set debugging level", GRID}, {"exec-login", 'E', "STRING", 0, - "set program to be executed instead of " PATH_LOGIN, GRID}, + "set program to be executed instead of standard login(1)", GRID}, {"no-hostinfo", 'h', NULL, 0, "do not print host information before login has been completed", GRID}, {"linemode", 'l', "MODE", OPTION_ARG_OPTIONAL, -- 2.41.0
From af43139504811d5bfdd481db5303e0e5d803dcef Mon Sep 17 00:00:00 2001 From: Simon Josefsson <si...@josefsson.org> Date: Sun, 12 May 2024 12:35:18 +0200 Subject: [PATCH 3/3] NEWS: Mention reproducible tarballs. --- NEWS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS b/NEWS index 99d570e1..6d7bfef9 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,11 @@ GNU inetutils NEWS -- history of user-visible changes. * Noteworthy changes in release ?.? (????-??-??) [?] +** The release tarball is now reproducible. +The following pairs are tested continously: Trisquel 11 and Ubuntu +22.04, PureOS 10 and Debian 11, AlmaLinux 8 and RockyLinux 8, +AlmaLinux 9 and RockyLinux 9. + ** syslogd: Build fixes for macOS. Thanks to Rui Chen and Caleb Xu, see <https://savannah.gnu.org/bugs/?65093>. -- 2.41.0
signature.asc
Description: PGP signature