Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reproducible builds #2414

Merged
merged 2 commits into from
Nov 15, 2022
Merged

Reproducible builds #2414

merged 2 commits into from
Nov 15, 2022

Conversation

sebastic
Copy link
Contributor

As reported in Debian Bug #1021799:

The build time is embedded in /usr/lib/postgresql/14/lib/libpgrouting-3.4.so:

https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/pgrouting.html

2022/10/11
vs.
2022/10/12

The attached patch to CMakeLists.txt fixes this by passing the UTC argument to the TIMESTAMP function.

According to my local tests, with this patch applied, and another patch soon to be submitted for embedded kernel versions, pgrouting should build reproducibly on tests.reproducible-builds.org!

And Debian Bug #1021800:

The kernel version of the build environment is embedded in /usr/lib/postgresql/14/lib/libpgrouting-3.4.so:

https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/pgrouting.html

Linux-5.18.0-0.deb11.4-amd64
vs.
Linux-5.10.0-18-amd64

The attached patch to src/version/version.h.in fixes this by using CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM.

According to my local tests, with this patch applied, and the patch submitted in #102179 to fix timestamps, pgrouting should build reproducibly on tests.reproducible-builds.org!

@pgRouting/admins

@cvvergara cvvergara added this to the 3.4.2 milestone Nov 15, 2022
@cvvergara cvvergara merged commit 1a1889f into pgRouting:main Nov 15, 2022
@sebastic sebastic deleted the reproducible-builds branch December 3, 2022 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants