-
Notifications
You must be signed in to change notification settings - Fork 3k
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
pip-21.0.1 is breaking reproducible wheels #9604
Comments
requirements.txt |
I'm not sure this should be something pip guarantees. Pip is an installer, not a dedicated wheel builder (even though we do have features for creating wheels). Maybe this would be better addressed by https://github.com/pypa/build? |
I filed the issue as we used |
At some point in the future pip will probably switch to pypa/build for building wheels. But we need more people to help make it mature. |
@kushaldas can you paste the output of |
https://kushaldas.in/volatile/diffoscope_output.txt 9MB file. |
@kushaldas for the start I see the problem in compiled |
Okay, still now providing a fixed build location in |
Oh, there is also the |
I guess somebody needs to report to https://reproduciblewheels.com/ that |
I will give it a try, though I wonder how that can be done for every available dependency. We can easily do this for our code, but the problem is for dependencies. |
@redshiftzero ^^^ |
pip version
21.0.1
Python version
3.7.3 and 3.9.1
OS
Debian Buster, Fedora 33
Additional information
No response
Description
We were using
--build
flag to build reproducible wheels. Even if we mention different TMP* options as mentioned in #8333 (comment) ,pip
will create a temporary directory inside of the temp path, and that will be used to build. This is causing the reproducible build failures.Here is the script https://github.com/freedomofpress/securedrop-debian-packaging/blob/main/scripts/build-sync-wheels#L99-L100 we are using for the reproducible builds.
Expected behavior
pip
should create reproducible wheels.How to Reproduce
How to test?
./scripts/build-sync-wheels -p /home/user/code/testproject
I will also attach therequirements.txt
file I used in the issue.pip3 wheel --no-binary :all: --find-links /tmp/tmppqis0hcw --progress-bar pretty --wheel-dir /tmp/tmppqis0hcw --build /tmp/pip-wheel-build --requirement /home/kdas/code/ladkhorecrypto/requirements.txt
feel free to remove the--build
if required../part1
.diffoscope
toolOutput
Code of Conduct
The text was updated successfully, but these errors were encountered: