public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] Why adding python3_8 to Gentoo sucks?
@ 2019-11-13 21:16 Michał Górny
  2019-11-15  8:05 ` Michał Górny
                   ` (2 more replies)
  0 siblings, 3 replies; 18+ messages in thread
From: Michał Górny @ 2019-11-13 21:16 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 2607 bytes --]

Hi,

I'd like to share my frustration at the state of Python in general,
and Python packages in Gentoo.  So I'd like to 'bootstrap' python3_8 --
that is, add it to the most common dependency, dev-python/setuptools. 
Simple thing, right?


1. There's no such thing as trivial dependency graph in Python.  If you
think that setuptools has a few deps, you're entirely wrong.  I actually
had to write a tool to even assemble list of deps to start with,
and the number is: 174.  I mean, in order to enable py3.8 on setuptools,
you have to enable it on at least 173 other packages.

Sure, some of those packages are just doc-deps or test-deps, and some
could be avoided one way or another.  However, avoiding them is only
temporary and involves more effort than it saves.


2. There are some packages that dropped Python 2.7 but still have 2.7
deps.  So we need to also add py3.8 to older versions that still has
2.7.  Plus, some packages have explicit <-deps.  So we need to add 3.8
to them, and hope that the old version will actually work with 3.8,
and then to their extra dependencies.

This is all handiwork.  The number is now 178 packages, or 187 ebuilds.


3. Of course there are packages with new deps dropping keywords whose
maintainers (or bumpers) never bothered filing a keywordreq.  Because
why bother, somebody else will do that when it blocks everything,
right?!

Well, guess what.  python3_8 flag is going to be masked on non-amd64
because people didn't bother keywording new versions of their packages
on other arches.

If you choose to realize your mistake now, and are willing to fix it,
start keywording new versions.


Here's the initial CI run:

https://github.com/gentoo/gentoo/pull/13638

The packages haven't been tested yet.  If you want to help, feel free to
apply it locally, and run tests in all those packages, and try to
assemble a reasonably readable report of what fails.  Then probably diff
the failures against py3.7 because some packages probably fail there
as well.

Of course many of those packages don't have tests at all.  Because it
was too much effort, and the four-letter company didn't pay for them. 
Because it was too hard to use GitHub snapshot over pypi tarball that
doesn't bundle tests because obviously nobody wants them.  Help with
that welcome too.

Help with getting rid of py2 revdeps of py3-only packages would be very
welcome too.

In other words, there's a lot of work to get Python near-sane in Gentoo,
and we'd welcome all the help we can get.  TIA.

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 618 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2019-11-17 17:15 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-13 21:16 [gentoo-dev] Why adding python3_8 to Gentoo sucks? Michał Górny
2019-11-15  8:05 ` Michał Górny
2019-11-15 14:18   ` Rich Freeman
2019-11-16 11:15   ` Michał Górny
2019-11-15  8:41 ` Alexey 'Alexxy' Shvetsov
2019-11-15  8:45   ` Michał Górny
2019-11-15 10:20     ` Alexey 'Alexxy' Shvetsov
2019-11-15 10:47       ` Mart Raudsepp
2019-11-15 12:04         ` Alexey 'Alexxy' Shvetsov
2019-11-15 12:19           ` Michael Orlitzky
2019-11-15 13:54             ` Alexey 'Alexxy' Shvetsov
2019-11-15 12:22           ` Michał Górny
2019-11-15 12:29             ` Michael Orlitzky
2019-11-16 13:55               ` Ulrich Mueller
2019-11-16 21:41                 ` Michał Górny
2019-11-17 17:15                   ` Michael Orlitzky
2019-11-17 17:07                 ` Michael Orlitzky
2019-11-15 15:27 ` Ian Stakenvicius

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox