On Wed Aug 23, 2023 at 2:24 PM CDT, Peter Eisentraut wrote:
Somewhere at PGCon, I forgot exactly where, maybe in the same meeting
where we talked about getting rid of distprep, we talked about that the
documentation builds are not reproducible (in the sense of
https://reproducible-builds.org/). This is easily fixable, the fix is
available upstream
(https://github.com/docbook/xslt10-stylesheets/issues/54) but not
released. We can backpatch that into our customization layer. The
attached patch shows it.
I am a tiny bit confused here. The commit that solved the issue was
merged into the master branch in 2018. GitHub lists the lastest release
as being in 2020. A quick git command shows this has been in releases
since December of 2018.
$ git --no-pager tag --contains 0763160
ndw-test-001
snapshot-2018-12-07-01
snapshot-ndw-test/2019-10-04
snapshot/2018-09-28-172
snapshot/2018-09-28-173
snapshot/2018-09-28-174
snapshot/2018-09-28-175
snapshot/2018-09-29-176
snapshot/2018-09-29-177
snapshot/2018-09-30-178
snapshot/2018-09-30-179
snapshot/2018-10-01-180
snapshot/2018-10-02-183
snapshot/2018-10-02-184
snapshot/2018-10-16-185
snapshot/2018-10-16-186
snapshot/2018-10-21-188
snapshot/2018-11-01-191
snapshot/2019-10-05-bobs
snapshot/2020-05-28-pdesjardins
snapshot/2020-06-03
Is there anything I am missing? Is Postgres relying on releases older
than snapshot-2018-12-07-01? If so, is it possible to up the minimum
version?
I had actually often wanted this during development. When making
documentation tooling changes, it's useful to be able to compare the
output before and after, and this will eliminate false positives in that.
This patch addresses both the HTML and the FO output. The man output is
already reproducible AFAICT. Note that the final PDF output is
currently not reproducible; that's a different issue that needs to be
fixed in FOP. (See
https://wiki.debian.org/ReproducibleBuilds/TimestampsInPDFGeneratedByApacheFOP.)
I think reproducibility is very important. Thanks for taking this on!
--
Tristan Partin
Neon (https://neon.tech)