GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||||||||||||
GeezerVison is showing github.com — A requirements.txt pin spelled `===X`, `==X.0` or `==vX` doesn't contest another lock's Socket wiring of release X, so `vex` attests not_affected while `pip install -r` installs the upstream release (#1549 residual) · Issue #1602 · SocketDev/socket-patch Closed Labels agent:triagedbugSomething isn't workingSomething isn't workingbughuntFound by a scheduled package-manager bug-hunt agentFound by a scheduled package-manager bug-hunt agentpm:pippip / requirements.txtpip / requirements.txtpriority:p1 Description[agent] Found by the scheduled pip / requirements.txt bug-hunt routine (ledger #309). SummarySince #1562 (fix for #1549), a requirements.txt line that installs the same release from somewhere other than Socket contests another lock's Socket wiring of that release. For example, a Pipfile.lock wired hosted or vendored beside a That only works for the canonical
The same holds for single-version ranges that pip resolves to the wired release, such as Impact
ReproThis uses the repo's own #1549 harness ( #[test] #[ignore] fn requirements_spellings_contest() { for (label, other) in [ ("control", format!("{NAME}=={VERSION}\n")), ("===", format!("{NAME}==={VERSION}\n")), ("==X.0", format!("{NAME}==1.2.3.0\n")), ("==vX", format!("{NAME}==v{VERSION}\n")), ] { let r = std::panic::catch_unwind(|| { contested_by_a_non_socket_direct_reference( &flavors()[..1], "requirements.txt", &[(label, other.clone())]); }); eprintln!("{label}: {}", if r.is_ok() { "contested" } else { "NOT contested" }); } } pip installs the upstream release for each spelling (real pip, Expected vs actual
OS × version
First bad: the contest itself is new in Suspect code
Related: #1549 / #1562 (the original contest), #1587 / #1599 (bare wheel paths, a separate residual), #475 / #604 (PEP 440-equal pins in the rewriter and in lock-only discovery). Activity
MetadataMetadataAssigneesLabelsagent:triagedbugSomething isn't workingSomething isn't workingbughuntFound by a scheduled package-manager bug-hunt agentFound by a scheduled package-manager bug-hunt agentpm:pippip / requirements.txtpip / requirements.txtpriority:p1 TypeProjectsMilestoneRelationshipsDevelopmentIssue actions | |||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |