Skip to content

Commit 179c6b7

Browse files
committed
docs/packaging: Mention python packaging changes for April
1 parent 377ef08 commit 179c6b7

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

docs/packaging/packaging-changes.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,25 @@ This page is meant to serve as a changelog of sorts for the Solus packaging envi
1313

1414
## 2025
1515

16+
### April
17+
18+
#### `pip3` and setuptools debundled from `python3`
19+
20+
- pip3 and the python module setuptools are no longer provided by `python3`
21+
- `python-setuptools` now provides the py3 version of setuptools instead of the py2 version
22+
- `pip` now provides the py3 version of pip instead of the py2 version
23+
- A temporary package `python2-setuptools` provides the py2 version of setuptools pending full python2 deprecation
24+
- A temporary package `pip2` provides the py2 version of pip pending full python2 deprecation
25+
26+
#### PEP517 is now the preferred method to build python modules
27+
28+
- The `%python3_setup` macro now attempts to build python modules with PEP517 if a pyproject.toml file is found, it will fallback to setuptools otherwise
29+
- The `%python3_install` macro now attempts to install python modules with PEP517 if a pyproject.toml file is found, it will fallback to setuptools otherwise
30+
- If a python module contains a pyproject.toml file and now fails to build it'll minimally need `python-build` and `python-installer`. Then, it'll need the python build system,
31+
in ~90% of cases it'll be `python-setuptools`, and, `python-wheel` may also be required. Note, however, there are several valid python build systems such as `python-flit-core`, `python-poetry`,
32+
`meson-python` as well as others that may be used in place of `python-setuptools`. However, in the majority of cases only `python-build`, `python-installer` and `python-setuptools` are required
33+
- If a python module doesn't contain a pyproject.toml file and instead contains a setup.py file it'll need `python-setuptools` as a builddep
34+
1635
### January
1736

1837
#### `monitoring.yml` changed to `monitoring.yaml`

0 commit comments

Comments
 (0)