Skip to content

Commit

Permalink
d/control: Add build-depends on pybuild-plugin-pyproject
Browse files Browse the repository at this point in the history
This switches the pybuild backend plugin from distutils to pyproject.
Distutils, the most commonly used build system plugin, is deprecated[1]
and removed from the standard library in upstream Python starting in
3.12. This plugin still works on Noble (which provides Python 3.12) due
to the python3-distutils package, which is based on distutils from Python
3.11.

The pyproject plugin is expected to replace distutils, due to its
support of PEP-517. Upstream cloud-init already supports PEP-517[2].

To enable building with the pyproject build system,
pybuild-plugin-pyproject must be a build dependency, as well as any
build tools specified in pyproject.toml[3]. Cloud-init already build
depends on python3-setuptools, so only pybuild-plugin-pyproject needs
to be added.

The pybuild-plugin-pyproject package is in universe, however it is
acceptable because this is a build-only dependency[4].

[1] https://docs.python.org/3.10/whatsnew/3.10.html#distutils-deprecated
[2] canonical@8836c78
[3] https://manpages.ubuntu.com/manpages/noble/man1/pybuild.1.html
[4] https://github.com/canonical/ubuntu-mir (see [Dependencies] section)
  • Loading branch information
holmanb authored and TheRealFalcon committed Mar 1, 2024
1 parent b537f58 commit a476ecb
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Build-Depends: debhelper-compat (= 13),
dh-python,
iproute2,
po-debconf,
pybuild-plugin-pyproject,
python3,
python3-configobj,
python3-debconf,
Expand Down

0 comments on commit a476ecb

Please sign in to comment.