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 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 left a comment

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member

ddennedy commented Jan 26, 2020

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 lamby:949817-shotcut-please-make-the-build-reproducible branch from f2a0f32 to e1c2ca5 Jan 27, 2020
@lamby

This comment has been minimized.

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 lamby:949817-shotcut-please-make-the-build-reproducible branch Feb 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.