-
-
Notifications
You must be signed in to change notification settings - Fork 273
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
bdist wheels: exclude build-time-only files #192
Conversation
I don't think this is the direction where are heading for.
|
Then I think we should move out
Makes senses. though in PR description what I said is: This PR excludes build-time-only files/folders from wheels dist But it seems it still applies on sdist. |
b6712d2
to
7a48b33
Compare
build.py
, ffi
and include
384e259
to
e05b868
Compare
""" | ||
#include "shim.h" | ||
""", | ||
libraries=["curl-impersonate-chrome"] if system != "Windows" else ["libcurl"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we may miss some steps for building windows dll, the name, if correctly configured, should be libcurl-impersonate-chrome.dll
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this miss-configuration from curl-impersonate
package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, curl-impersonate, possibly missing autoreconf
on Windows.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then, IIUC it's not blocker for merge this PR.
Testing again on 32-bit raspbian (armv7l):
Not sure how important it is to allow the curl libs to be installed without root, though. |
I think we need to use patchelf on the curl-impersonate side |
The curl libraries are already self-contained after the curl-impersonate build pipeline. Above error is because the sdist attempts to download and install the libraries into /usr/local/lib, which fails when not run as root.
|
Well,they have to be there,because of their rpath,which can be fixed by patchelf |
Not sure I understand - libcurl doesn't specify any other non-glibc libraries as dependencies, so it's more or less self contained. Auditwheel, on the other hand, will use patchelf to change library references to within the wheel itself, and copy the shared objects into the wheel. When cibuildwheel runs, auditwheel/delvewheel/delocate automatically runs to copy libraries into the final wheel. |
@yifeikong any suggestion to fix that? should it use |
@bjia56 for clarification, do you verify build works when run as root? |
Auditwheel is a standard tool for building native wheels on Linux, what's the reason for removing it? |
It does not yet work since the latest pre-release in curl-impersonate does not have the correct arm shared objects built. Another curl-impersonate tag will need to be cut. |
No, we can not. Windows dlls do not have features like rpath, that’s why you can simply copy dlls to make them work. |
@@ -0,0 +1,79 @@ | |||
import os |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should move back this file to its original location for better tracking changes. It should be relocated next time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As the purposes of this PR, it tries to exclude all unneeded files from bdist wheels. the changes applied on this file after move is not much, you can compare them easily.
I tested and find out that Which basically means that we can safely change the temporaray lib directory for all linux archs. Thus, This PR is including two different features, I suggest that we split it into smaller chunks. First we make the sdist work, then maybe excludes useless files for bdist.
|
Ok, Go ahead with fix sdits in separated PR, I'll update this PR relatively after that. I opened #225 to track it. |
3ee52a1
to
67d27d2
Compare
This reverts commit 94d8c72.
Cool, thanks. |
Too many files need for rebasing, created new PR instead: #236 |
Last chunk of #176