You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project uses the Python distutils module in setup.py.
In Python 3.10 and 3.11, distutils has been formally marked as deprecated. Code that imports distutils will no longer work from Python 3.12.
As such, it's very likely Debian (I'm the current maintainer for pius) won't be able to build this package when the 3.12 transition happens (sometime in late 2023 probably?).
It would probably be a good idea to migrate away from setup.py to a PEP517-compatible build system, using pyproject.toml. Here's the relevant documentation if you want to go with setuptools (there are a lot of other good options, I'm myself partial to flit...)
It's getting harder and harder to make the current build workflow work in Debian. I started working on a pyproject.toml file, but it seems like it needs more than just dumping a new file and removing setup.py to work:
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
[project]
name = "pius"
dynamic = "version"
description = "PIUS: The PGP Individual UID Signer"
readme = "README.md"
authors = [{name = "Phil Dibowitz", email = "[email protected]"}]
license = {file = "COPYING"}
classifiers = [
"License :: OSI Approved :: GNU General Public License v2 (GPLv2)",
]
[project.urls]
homepage = "https://github.com/jaymzh/pius"
[project.scripts]
pius = "pius:main"
pius-keyring-mgr = "pius-keyring-mgr:main"
pius-report = "pius-report:main"
[tool.setuptools.dynamic]
version = {attr = "libpius.constants.VERSION"}
A few things:
This fails because of how the Python scripts are named. pius-keyring-mgr and pius-report should be renamed to pius_keyring_mgr and pius_report.
Same goes for pius-party-worksheet. Since there's no Python entrypoint (it's a Perl script), it cannot be put in /usr/bin as it used to be.
Data files not being included anymore aren't really a problem in my opinion, since putting them at the right place on people's system is the work of Distros.
I don't use pius a lot anymore and renaming files in a Debian-specific patch is enough trouble that I stopped there. If someone else wants to pick this up and finish the work, it would be nice.
Hello,
This project uses the Python distutils module in
setup.py
.In Python 3.10 and 3.11, distutils has been formally marked as deprecated. Code that imports distutils will no longer work from Python 3.12.
As such, it's very likely Debian (I'm the current maintainer for
pius
) won't be able to build this package when the 3.12 transition happens (sometime in late 2023 probably?).It would probably be a good idea to migrate away from
setup.py
to a PEP517-compatible build system, usingpyproject.toml
. Here's the relevant documentation if you want to go withsetuptools
(there are a lot of other good options, I'm myself partial to flit...)You can see an example of a migration to
pyproject.toml
with setuptools that I did here: jaseg/python-mpv#241The text was updated successfully, but these errors were encountered: