ansible / team-devtools

Shared practices, workflows and decisions impacting Ansible devtools projects

Home Page:https://ansible.readthedocs.io/projects/team-devtools/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Migrate python projects packaging to PEP-621

ssbarnea opened this issue · comments

As we want to implement PEP-621 (pure pyproject.toml) to all devtools project ASAP, we need to get setuptools>=61.0.0 inside AAP repositories, as RHEL 9 only has 53.0.0.

This will allow building the RPM offline using python -m build

To test ability to build the RPM one can look at subprocess-tee library which I already converted to PEP-621. That also has packit that build on Fedora 37 and Rawhide. Older versions are not building because they lack the requirements.

It should be noted that that these are only build-time requirements, and not runtime ones. This means that downstream packagers could use other tricks to overcome the outdated toolchain, like installing them from other sources (pypi, other rpm repos) during build.

List of known build requirements for our implementation of PEP-621:

setuptools >= 61.0
setuptools_scm[toml] >= 7.0.0

Checklist

Projects identified so far (could be more):

  • ansible-lint
  • ansible-compat
  • ansible-navigator
  • enrich
  • molecule
  • selinux
  • subprocess-tee
  • sphinx_ansible_theme

Once the migration is merged, also add pep-621 topic to the repository.