[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#988421: unblock: pypy3/7.3.4+dfsg-2



Hi Paul (2021.05.20_09:46:35_+0000)
> > [ Reason ]
> > 
> > Updating bullseye to pypy3 7.3.4, targeting Python 3.7 instead of 3.6
> > will fix a bug that I've been trying to get my head around for a couple
> > of months (on and off): #962654.
> > 
> > I am unable to come up with a reasonable minimal patch for this bug.
> > 
> > [ Impact ]
> > Debian's pip won't correctly build pep517 packages with the Python 3.6
> > stdlib. The way we de-bundle the pep517 library breaks its use with pip.
> > Upstream implemented a fix for this (which is why it only affects pypy,
> > not cpython), but that fix requires the 3.7 stdlib.
> 
> As I have zero experience with pip, how much of use cases are we talking
> about here, 0%, 100%, somewhere in the middle? Is this bug RC in the
> sense that it makes the package unusable, or is it "just" breaking a
> minor set of valid uses? Would it be (remotely) acceptable to "just"
> mention this in the Release Notes?

Hard to say. We don't really have good stats on what our users do. But
I'd imagine that anyone using pypy3 is probably a Python programmer, and
therefore probably using virtualenvs and pip.

Whether they'll use our pip or upgrade to the latest upstream pip, I
don't know. I'd imagine that they'd discover that upgrading pip fixes
the issue, and blame Debian for shipping old broken software. There are
many scenarios with pip where upgrading it solves problems, so many
people routinely upgrade it. These ecosystems move faster than Debian.

Right now, this bug doesn't apply to many packages, because pep517
builds are still fairly new. But in a year or two, I'd expect this to be
hit *far* more frequently. I don't know if it'll rise to the level of
the package being considered unusable, but it may.

There is a simple work-around, though, which counts for a lot.

> > The workaround is for the user to upgrade pip to the latest upstream
> > version, after creating a pypy3 virtualenv. That will have a bundled
> > pep517 module that works correctly.
> 
> Do you need the current pip for that?

The important detail here is that upstream pip bundles its dependencies,
where Debian un-bundles them (against upstream's preferences). So
upgrading to upstream pip has the side-effect of switching back to
bundled dependencies, which won't exhibit this bug. It's the un-bundled
setup that triggers it.

> > [ Tests ]
> > We run the upstream test suite for pypy (but ignore the results, because
> > there are always known failures.
> 
> I guess you could manually conclude something from (the *delta* of) the
> failures? What did you conclude?

Results look good enough.

SR

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272


Reply to: