Mailing List Archive

Update on Python 3.8 and 3.9 support
Hello,

TL;DR: py3.8 unmasked where possible, py3.9 is ready for package
testing, arch teams need to finally finish pending keywordreqs.


Upstream has recently released Python 3.9.0b1. This means that there
are no further major changes planned and it is now time to start testing
packages for real. For this reason, I have added python3_9 target
and bootstrapped the base package subset that should make it now
possible to start testing other packages without hitting huge dependency
cycles.

Please remember to run tests on Python 3.9 when testing packages.
From my experience, the majority of issues are ImportErrors or
AttributeErrors due to removed stuff (previously deprecated since 3.1
to 3.4). My recommendation is to look into py3.8 reference [1] and find
the deprecated function there, with recommendation how to replace it.
The 'What\'s new' [2] may also be helpful, or full changelog [3].


I would like to remind you that all non-amd64 architectures have had
Python 3.8 target masked due to unresolved ages-old keywordreqs. This
resulted in 3.9 being masked as well. I've attempted to deal with this,
and I've been able to keyword and unmask py3.8+3.9 on ppc, ppc64, sparc
and x86. Sam is working on arm/arm64, and Rolf is working on hppa
(where the situation is horrible AFAICS). This leaves nobody on alpha
and ia64.

Therefore, I would like to ask alpha and ia64 arch teams to finally
start processing Python keywording requests. Given that our package
manager and large part of tooling is in Python, it is kinda important to
have working Python in Gentoo. If we can't manage this, we probably
should remove these arches altogether.

That said, if somebody can give me access to alpha, ia64, hppa, arm,
arm64 hardware (highest priority listed first), I can help. I can also
give you a list of urgent bugs if you wish. The highest priority is to
get depgraph clean after unmasking targets, the final goal is to restore
all lost keywords on Python packages. Please note that some arches
might be missing proper bugs due to the whole mess resulting from delays
(e.g. because arch team keyworded old version and nobody noticed that
keywords were effectively lost again).

To check what needs to be keyworded to unmask targets, remove the mask
from your arch profile and run:

pkgcheck scan -c VisibilityCheck -a <arch>

To check all lost keywords:

pkgcheck scan -c DroppedKeywordsCheck -a <arch>

One-liner to get ekeyword invocations:

pkgcheck scan -c DroppedKeywordsCheck -a <arch> -R FormatReporter \
--format \
'ekeyword {category}/{package}/{package}-{version}.ebuild ~<arch>'


Thank you!


[1] https://docs.python.org/3.8/library/index.html
[2] https://docs.python.org/3.9/whatsnew/3.9.html
[3] https://docs.python.org/3.9/whatsnew/changelog.html

--
Best regards,
Micha? Górny