Title: setuptools_scm-6.3.0 temporary runtime breakage
Author: Arthur Zamarin <email@example.com>
Author: Sam James <firstname.lastname@example.org>
Users who upgraded to =dev-python/setuptools_scm-6.3.0 between 2021-09-03
15:42 UTC and 2021-09-03 19:03 UTC may be affected by a bug . If you have not
upgraded to this version or have >=dev-python/setuptools_scm-6.3.0-r1 installed,
you are not affected.
A missing dependency in the setuptools_scm ebuild meant there was a timeframe in
which anyone who installed dev-python/setuptools_scm and dev-python/packaging in
the wrong order won't be able to build any Python package using setuptools
unless a workaround is applied.
Specifically, this affects users with =dev-python/setuptools_scm-6.3.0 installed
and where dev-python/packaging is not installed (applies separately for each/any
Python target). The bad tree state was between gentoo.git commits
Affected users will see errors similar to the following when installing Python
pkg_resources.DistributionNotFound: The 'packaging>=20.0' distribution was not
found and is required by the application
To fix this manually, you need to fully remove all dev-python/setuptools_scm
files by running the following commands:
# Necessary to obtain a fixed version of setuptools_scm
$ emerge --sync
# --unmerge is NOT advised normally, but is required to avoid setuptools picking
# up the runtime-broken setuptools_scm version when re-installing setuptools_scm
$ emerge --unmerge =dev-python/setuptools_scm-6.3.0
$ emerge --oneshot dev-python/setuptools dev-python/pyparsing dev-python/packaging
$ emerge --oneshot ">=dev-python/setuptools_scm-6.3.0-r1"
Note that the version specifiers above are not strictly necessary if you have an
up-to-date copy of the tree but provide a safety net.