-
-
Notifications
You must be signed in to change notification settings - Fork 655
Normal Python packages: postpone wheel installation to the post-install phase #36743
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
Conversation
|
In hindsight it's obvious that I should have tested this case... |
I don't typically set
|
…installation, defer installation of wheel to post-install phase
…f-install to post
Documentation preview for this PR (built with commit f981b15; changes) is ready! 🎉 |
Thanks for testing! Fixed now. |
Maybe things with
This looks like the same as building without this branch. Examples with this branch + setting SAGE_SUDO:
|
You are right. I do not have a solution for fixing wheel URL for the |
Okay. As far as I can tell, this doesn't make anything worse (or even really change anything) if |
Thank you! |
At some point we may want to deprecate |
Previously, on
sdh_pip_install
, the wheel file is staged in DESTDIR, but the wheel is installed immediately.Now we store a new script
spkg-pipinst
, which is run after unloading DESTDIR (and before anyspkg-postinst
script), which does the actual installation of the wheel.sage -pip freeze
) -- except whenSAGE_SUDO
is set.Apart from this and some changes to the messages displayed during package installation, this should make no difference for any of our packages.
Just so that it is tested for at least one package in CI, we include a small package update.
Together with
build/bin/sage-spkg
: Add options for checking, cleaning separately from build/install #36738 andbootstrap-conda
,m4/sage_spkg_collect.m4
through sage-package; handledependencies_build
#36740,this is preparation for requiring only the build dependencies ("build-system requires") while building a wheel for the package, and to require the runtime dependencies ("install-requires") only later, when the wheel is to be installed.
📝 Checklist
⌛ Dependencies