Separate and clearly document direct/transitive vendored dependencies with the help of pip-tools
#4351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The work in this PR was extracted from #4330.
Motivation
Right now it is a bit tricky to deal with the vendored packages:
vendored.txt
or_vendor
folder that are not listed in thevendored.txt
file.pkg_resources
andsetuptools
to have different versions of the same vendored dependency. This is probably not nice for OS-level repackaging.Summary of changes
The most relevant commit of this PR is b5e91c8.
It modifies
tool/vendored
so that:(so we don't loose track of what needs what).
pip-compile
andvendored.in
(direct dependencies)==>
vendored.txt
. See 1a31ed1 and 20df694.pkg_resources
andsetuptools
so that it is easier for "de-vendoring" (this is done via
--constraint
inpip
).I also added a
base_python
to the tox environment intended to match the lowest version of Python supported by setuptools, so that dependency markers are solved for a more general case.The remaining of the changes are collateral.
No attempt to remove
extern
was made.If reviewing this PR I recommend checking commit-by-commit to avoid the big blob of automatic changes related to running
tox -e vendor
.Closes
Pull Request Checklist
newsfragments/
.(See documentation for details)