summaryrefslogtreecommitdiff
path: root/metadata/news/2021-09-05-setuptools_scm-6_3_0-temporary-breakage/2021-09-05-setuptools_scm-6_3_0-temporary-breakage.en.txt
blob: 988002c7dc18aaf0df35de1945fa03db4a25e825 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
Title: setuptools_scm-6.3.0 temporary runtime breakage
Author: Arthur Zamarin <arthurzam@gentoo.org>
Author: Sam James <sam@gentoo.org>
Posted: 2021-09-05
Revision: 1
News-Item-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