Skip to content

Conversation

@jsquyres
Copy link
Member

@jsquyres jsquyres commented Oct 28, 2020

Cherry pick of #8136 and #8152 from master regarding reproducible builds. Thanks to @bmwiedemann for bringing this back to our attention.

Also bring in a MacOS/readlink portability fix.

Copy link
Contributor

@bmwiedemann bmwiedemann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

needs one more patch:

orte/tools/orte-info/Makefile.am
-            -DOMPI_BUILD_DATE="\"`date`\"" \
+            -DOMPI_BUILD_DATE="\"`$(top_srcdir)/config/getdate.sh`\"" \

@jsquyres jsquyres force-pushed the pr/v4.1.x/reproducible-build branch from 819f634 to bf70a29 Compare October 28, 2020 19:44
@jsquyres
Copy link
Member Author

This PR will also need the MacOS portability fixes from #8152.

rhc54 added a commit to rhc54/openpmix that referenced this pull request Oct 29, 2020
@jsquyres
Copy link
Member Author

bot:ompi:retest

@jsquyres jsquyres changed the title v4.1.x: reproducible builds v4.1.x: reproducible builds + portability fix Oct 29, 2020
@jsquyres jsquyres added the NEWS label Oct 29, 2020
jsquyres and others added 4 commits October 29, 2020 08:17
This code was invoked twice.  Leave it solely in OPAL_CONFIGURE_SETUP,
which is invoked before OPAL_BASIC_SETUP.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 7c36b45)
If defined, use SOURCE_DATE_EPOCH environment variable; make the build
Reproducible by forcing timestamps.  See
https://reproducible-builds.org/docs/source-date-epoch/ for more
information.

Thanks Bernhard M. Wiedemann for bringing this to our attention.

Fixes open-mpi#3759

**NOTE:** This was cherry-picked from master, and slightly modified /
  amended for the v4.1.x branch.

Signed-off-by: Gilles Gouaillardet <[email protected]>
Signed-off-by: Bernhard M. Wiedemann <[email protected]>
Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 7b4e8ba)
MacOS does not have "readlink -f" or "realpath", so use the
MacOS-provided Python, which we know has os.path.realpath().

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit ddf216b)
There are several different flavors of date(1) out there.  Try a few
different CLI options for date(1) to see which one works.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 89920ba)
@jsquyres jsquyres force-pushed the pr/v4.1.x/reproducible-build branch from 9070ca8 to e7f829b Compare October 29, 2020 15:17
rhc54 added a commit to rhc54/prrte that referenced this pull request Oct 29, 2020
@jsquyres
Copy link
Member Author

@bmwiedemann If the v4.0.x and v4.1.x PRs now test properly for you, I'll merge them.

@bmwiedemann
Copy link
Contributor

I successfully tested the 4.0.x one, and the code 4.1.x code looks similar enough for me to have a good confidence in it.

@jsquyres jsquyres merged commit 8c1d830 into open-mpi:v4.1.x Nov 1, 2020
@jsquyres jsquyres deleted the pr/v4.1.x/reproducible-build branch November 1, 2020 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants