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 #4220

Merged
merged 1 commit into from Jun 29, 2022
Merged

Make the build reproducible #4220

merged 1 commit into from Jun 29, 2022

Conversation

lamby
Copy link
Contributor

@lamby lamby commented Jun 29, 2022

Whilst working on the Reproducible Builds effort I noticed that yt-dlp could not be built reproducibly.

This is due to sort_ies iterating over a Python set() data structure in a nondeterminstic order. This patch sorts the type objects according to their name.

I originally filed this in Debian as bug #1014041.

Whilst working on the Reproducible Builds effort [0] I noticed that
yt-dlp could not be built reproducibly.

This is due to `sort_ies` iterating over a Python set() data structure
in a nondeterminstic order. This patch sorts the type objects according
to their name.

I originally filed this in Debian as bug #1014041 [1].

 [0] https://reproducible-builds.org/
 [1] https://bugs.debian.org/1014041
@pukkandan
Copy link
Member

I don't think just this change is sufficient to make the builds reproducible

@pukkandan pukkandan added the docs/meta/cleanup related to docs, code cleanup, templates, devscripts etc label Jun 29, 2022
@lamby
Copy link
Contributor Author

lamby commented Jun 29, 2022

I don't think just this change is sufficient to make the builds reproducible

Oh, any other area you think might not be reproducible...? (This change makes the build reproducible according to my own tests, at least...)

@pukkandan
Copy link
Member

Which build are you testing? The wheel?

@lamby
Copy link
Contributor Author

lamby commented Jun 29, 2022

Actually I'm building the Debian package which, it seems, calls the Makefile and setup.py build.

@pukkandan
Copy link
Member

That can barely be called a build... It's just a copy of the source code

@pukkandan pukkandan merged commit 5b836d4 into yt-dlp:master Jun 29, 2022
12 checks passed
@pukkandan
Copy link
Member

I have merged this because it is harmless at worst. But in general, I cannot promise that no other inconsistency will be added in future versions

@lamby
Copy link
Contributor Author

lamby commented Jun 29, 2022

That can barely be called a build... It's just a copy of the source code

Sure... but, what were you expecting? I think I might be missing something. :)

@pukkandan
Copy link
Member

pukkandan commented Jun 29, 2022

yt-dlp can be built in many forms such as setup.py bdist_wheel, make yt-dlp, pyinst.py and setup.py py2exe (windows only)

timendum pushed a commit to timendum/yt-dlp that referenced this pull request Sep 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
docs/meta/cleanup related to docs, code cleanup, templates, devscripts etc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants