setuptools_scm-6.3.0 temporary runtime breakage

Posted: 2021-09-05 by Sam James | Revision: 1
Format:
2.0
Display if installed:
=dev-python/setuptools_scm-6.3.0
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 [0]. 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 8882e54abf78d3af69faed5844e3ad441482f23e and 0c76b447cd1be9cf611f649970851750304d9ca6.

Affected users will see errors similar to the following when installing Python packages: ``` 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.

[0] https://bugs.gentoo.org/811504