[arch-dev-public] Killing python2 v3...v4...v5

Morten Linderud foxboron at archlinux.org
Mon Mar 15 19:16:29 UTC 2021


On Mon, Mar 15, 2021 at 02:46:52PM -0400, Eli Schwartz via arch-dev-public wrote:
> On 3/15/21 2:10 PM, Morten Linderud via arch-dev-public wrote:
> > Yo!
> > 
> > As people know python2 has been unsupported for a year and we current have ~170
> > python2 packages in our repositories. Currently the removal has been fairly slow
> > and done a bit ad-hoc. There has been a todo list but the follow up to that has
> > not really been great and I think it's reasonable for us to try and fix the
> > remaining packages to the best of our abilities.
> > 
> > Thus I'm proposing a game plan!
> > 
> > 1) Todo list for removal of all python2 checkdepends in packages
> 
> For the record, I'm not really happy about this since I feel we should
> endeavor to test all software in the repos. I don't believe python2
> should be an exception.
> 
> I believe we can do this right, though.
> 
> For example, yesterday you asked me directly about html5lib and its
> check dependency on the lxml, bs4, soupsieve build cycle dependency. I
> responded that I don't want to drop the testsuite entirely, however,
> lxml is an optional treebuilder for html5lib and we only have html5lib
> in the repos *anyway* due to being used in the leaf package "python2-pip".
> 
> So, I removed the checkdepends on python2-lxml, excluded the lxml
> treebuilder tests from the check() function, and stopped advertising
> lxml support in python2-html5lib:
> 
> https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/python-html5lib&id=872eb6022921c71ef871bd9699f6353262f29b5c
> 
> However, I did not drop python2-pytest-expect since I need it to test
> the functionality which pip uses.
> 
> I would like to continue doing so...

I think investigating and fixing these cycles we have is a waste of time.

You asked for an example, you got it and you fixed it. Great! Was this one time
thing or are you going to keep looking for more packages you can remove this
way? What about other packagers that simply does not want to spend the time?

The point is that this just increases the effort needed to contribute killing
off the python2 packages we have. The loss of correctness for making it easier
to remove python2 packages is a net win. And keep in mind a minimum of people
are actively trying to remove packages at all.

It's important to realize that removing the checkdependencies makes it *so*
*much* *easier* to reason about dependency tree as the cycles are broken.

-- 
Morten Linderud
PGP: 9C02FF419FECBE16
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.archlinux.org/pipermail/arch-dev-public/attachments/20210315/b1e8b309/attachment.sig>


More information about the arch-dev-public mailing list