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

Upgrade to vendoring 1.2 #10583

Merged
merged 1 commit into from
Oct 15, 2021
Merged

Upgrade to vendoring 1.2 #10583

merged 1 commit into from
Oct 15, 2021

Conversation

pradyunsg
Copy link
Member

@pradyunsg pradyunsg commented Oct 14, 2021

Closes #10570

This enables wheel usage in vendoring's license fetching, at the cost of
requiring two more license-related fallbacks.

The additional fallbacks are due to packages which include the license
in their source distributions but not in their wheel distributions, and
the change in vendoring that prefers using wheels when possible.

This should fix the bootstrapping problem we're seeing with flit and
tomli, by allowing us to use wheels to break the loop.

This enables wheel usage in vendoring's license fetching, at the cost of
requiring two more license-related fallbacks.

The additional fallbacks are due to packages which include the license
in their source distributions but not in their wheel distributions, and
the change in vendoring that prefers using wheels when possible.

This should fix the bootstrapping problem we're seeing with `flit` and
`tomli`, by allowing us to use wheels to break the loop.
@@ -54,4 +54,6 @@ distro = []
setuptools = "pkg_resources"

[tool.vendoring.license.fallback-urls]
CacheControl = "https://raw.githubusercontent.com/ionrock/cachecontrol/v0.12.6/LICENSE.txt"
Copy link
Member Author

@pradyunsg pradyunsg Oct 14, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cachecontrol has changed how they handle their license, and we'd need to update this URL when we upgrade -- or hope that they address psf/cachecontrol#255 prior to the next release.

I've added a note to the vendor.txt file as well, so that we don't forget. :)

@@ -54,4 +54,6 @@ distro = []
setuptools = "pkg_resources"

[tool.vendoring.license.fallback-urls]
CacheControl = "https://raw.githubusercontent.com/ionrock/cachecontrol/v0.12.6/LICENSE.txt"
distlib = "https://bitbucket.org/pypa/distlib/raw/master/LICENSE.txt"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -54,4 +54,6 @@ distro = []
setuptools = "pkg_resources"

[tool.vendoring.license.fallback-urls]
CacheControl = "https://raw.githubusercontent.com/ionrock/cachecontrol/v0.12.6/LICENSE.txt"
distlib = "https://bitbucket.org/pypa/distlib/raw/master/LICENSE.txt"
webencodings = "https://github.com/SimonSapin/python-webencodings/raw/master/LICENSE"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've filed gsnedders/python-webencodings#28 for this.

@pradyunsg pradyunsg added the skip news Does not need a NEWS file entry (eg: trivial changes) label Oct 14, 2021
@pradyunsg
Copy link
Member Author

pradyunsg commented Oct 14, 2021

And, in case you're curious, here's what's changed across the different vendoring versions: https://github.com/pradyunsg/vendoring/compare/92eba67d46e3bdc275d70138bacbd81cc8f60307..1fa21f6cacc021e647c9b2dcb409b00c18188ed9?diff=split

@pradyunsg pradyunsg added this to the 21.3.1 milestone Oct 14, 2021
@pradyunsg
Copy link
Member Author

Any takers got a review on this? 😉

Comment on lines -74 to -76
# Required, otherwise we interpret --no-binary :all: as
# "do not build wheels", which fails for PEP 517 requirements
pip>=19.3.1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure about this (mainly because I don't understand why it was needed in the first place)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We get the newest version in the environment anyway?

I don't think a pin for a version ~2 years old is super useful.

@pradyunsg
Copy link
Member Author

pradyunsg commented Oct 15, 2021

I'm gonna go ahead and merge this in, since it'd be a good idea to get main unblocked, both for landing the bugfixes and for making it easier to work on existing PRs.

The CI is happy with this PR, and if any humans aren't, please do say so; and I'd be more than happy address concerns. :)

@pradyunsg pradyunsg merged commit 82cc022 into pypa:main Oct 15, 2021
@pradyunsg pradyunsg deleted the fix-vendoring branch October 15, 2021 13:10
pradyunsg added a commit to pradyunsg/pip that referenced this pull request Oct 22, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 31, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
skip news Does not need a NEWS file entry (eg: trivial changes)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

vendoring is broken, due to a cyclic dependency during license fetching
2 participants