[Rd] [3 of n] Revisiting and updating reproducible builds for base R in Debian
Dirk Eddelbuettel
edd @end|ng |rom deb|@n@org
Thu Aug 13 23:52:30 CEST 2026
As discussed in the previous emails in this thread, in the quest to get to
bit-by-bit identical rebuilds we are now down to four sets of differences in
the log shown at [0]. These four are
- libtool
- rdx/rdb/rds caching for package methods
- rdx/rdb caching for package tools
- two manual pages for R and Rscript generated by help2man
I have just looked into the fourth item, and learned that there is a
cross-distro convention of passing SOURCE_DATE_EPOCH to the build (see [1])
which is a) very good for moving on past this current Debian-only test
towards a general solution, and b) supported in a _lot_ of build tools. Which
includes help2man since 2015 (see [2] and the entry for 15 June 2015 from
version 1.47.1).
So I would like to suggest updating tools/help2man.pl as R's copy is version
1.020 which is likely a quarter century old. I just dropped the current (per
Debian) version into tools, and re-built R-devel also renaming R.1 and
Rscript.1. Now R.1 (and Rscript.1) come out slightly different in that many
hyphens are now escaped eg 'Report bugs at <https://bugs.R\-project.org>'
where there is no escape in the current version. Does anybody know if that is
something troff et al now prefer?
Alternatively, I could try to patch the treatment of SOURCE_DATE_EPOCH into
R's own copy of help2man. From a glance, it only seems to cover a few lines,
see [3]. My Perl is a little rusty but this seems doable.
Dirk
[0] https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/r-base.html
[1] https://reproducible-builds.org/docs/source-date-epoch/
[2] https://metadata.ftp-master.debian.org/changelogs//main/h/help2man/help2man_1.49.3_changelog
[3] https://salsa.debian.org/bod/help2man/-/blob/master/help2man.PL?ref_type=heads#L413-L424
--
dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-devel
mailing list