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

Make the build reproducible #824

Conversation

lamby
Copy link
Contributor

@lamby lamby commented Jan 25, 2020

Whilst working on the Reproducible Builds effort we noticed that shotcut could not be built reproducibly.

This is because it uses the current build date for the SHOTCUT_VERSION variable. This PR bases this value on SOURCE_DATE_EPOCH instead if available.

This was originally filed in Debian as #949817.

Copy link
Member

@ddennedy ddennedy left a comment

Choose a reason for hiding this comment

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

This date command does not work on macOS. Why don't you just set SHOTCUT_VERSION on the call to qmake when building? This is why there is a isEmpty(SHOTCUT_VERSION) test in here.

@lamby
Copy link
Contributor Author

lamby commented Jan 26, 2020

@ddennedy The major disadvantage of using SHOTCUT_VERSION like that is that it requires that all distributions (etc.) have to independently learn and discover that this is the way to ensure a reproducible build and to modify their buildsystems accordingly. Sure, this is not too arduous but if we can do centrally using a well-known pattern (ie. SOURCE_DATE_EPOCH then that is surely superior).

Would you thus be amenable to a patch that worked on MacOS (and BSD…) date too?

@ddennedy
Copy link
Member

Yes please amend to support BSD date as well.

Whilst working on the Reproducible Builds effort [0] we noticed that
shotcut could not be built reproducibly.

This is because it uses the current build date for the SHOTCUT_VERSION
variable. A patch is attached that bases this value on
SOURCE_DATE_EPOCH [1] instead.

This was originally filed in Debian as #949817 [2].

 [0] https://reproducible-builds.org/
 [1] https://reproducible-builds.org/specs/source-date-epoch/
 [2] https://bugs.debian.org/949817
@lamby lamby force-pushed the 949817-shotcut-please-make-the-build-reproducible branch from f2a0f32 to e1c2ca5 Compare January 27, 2020 12:40
@lamby
Copy link
Contributor Author

lamby commented Jan 27, 2020

@ddennedy Updated. :)

@ddennedy ddennedy merged commit 3c8f204 into mltframework:master Jan 27, 2020
@ddennedy ddennedy added this to the next release milestone Jan 27, 2020
@lamby lamby deleted the 949817-shotcut-please-make-the-build-reproducible branch February 4, 2020 10:43
tasmo pushed a commit to prototypefund/reproducible-website that referenced this pull request Apr 24, 2020
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.

None yet

2 participants