From 16a194381529d48ab5cb82b09c4cd530d27a3a90 Mon Sep 17 00:00:00 2001 From: jaimergp Date: Sat, 15 Nov 2025 19:42:08 +0100 Subject: [PATCH 1/3] More details about RPM naming guidelines --- peps/pep-0804.rst | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/peps/pep-0804.rst b/peps/pep-0804.rst index a9441d5b416..54ee82ca378 100644 --- a/peps/pep-0804.rst +++ b/peps/pep-0804.rst @@ -71,10 +71,12 @@ Ubuntu and CentOS in a Docker container. RPM-based distributions, like Fedora, can use a `rule-based implementation `__ (``NameConvertor``) in pyp2rpm_. The main rule is that the RPM name for a PyPI package is -``f"python-{pypi_package_name}"``. This seems to work quite well; there are a -few variants like Python version specific names, where the prefix contains the -Python major and minor version numbers (e.g. ``python311-`` instead of -``python-``). +typically ``f"python3-{pypi_package_name}"``. The rare exceptions include packages that +primarily distribute an application, which drop the prefix, (e.g., the Black formatter +is simply ``black``, not ``python3-black``), and variants for different Python versions +(e.g., in RHEL 9 ``setuptools`` can be found as ``python3-setuptools`` for Python 3.9, +but ``python3.11-setuptools`` and ``python3.12-setuptools`` are also available). More details +are available in `Fedora's packaging guidelines for Python `__. Gentoo follows a similar approach to naming Python packages, using the ``dev-python/`` category and some `well-specified rules `__. From c94fa9f98f7184ebf42763e4945ed581d58fd2c7 Mon Sep 17 00:00:00 2001 From: jaimergp Date: Sat, 15 Nov 2025 19:56:44 +0100 Subject: [PATCH 2/3] Add details about Debian too --- peps/pep-0804.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/peps/pep-0804.rst b/peps/pep-0804.rst index 54ee82ca378..98a29dcd7f9 100644 --- a/peps/pep-0804.rst +++ b/peps/pep-0804.rst @@ -78,6 +78,11 @@ is simply ``black``, not ``python3-black``), and variants for different Python v but ``python3.11-setuptools`` and ``python3.12-setuptools`` are also available). More details are available in `Fedora's packaging guidelines for Python `__. +Debian packages typically follow a ``f"python3-{import_name}"`` naming scheme, with some +exceptions: some sub-communities have an infix (e.g., Django packages go under +``f"python3-django-*"``), and applications are often distributed by their name, with no +``python3-`` prefix. Additional details are available in `Debian's Python Policy `__. + Gentoo follows a similar approach to naming Python packages, using the ``dev-python/`` category and some `well-specified rules `__. From 92b69278a88993748d513c4856ce42a98bc1bbe5 Mon Sep 17 00:00:00 2001 From: jaimergp Date: Sat, 15 Nov 2025 20:02:43 +0100 Subject: [PATCH 3/3] Fedora, CentOS and RHEL all use dnf now --- peps/pep-0804.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/peps/pep-0804.rst b/peps/pep-0804.rst index 98a29dcd7f9..a4e09fe971a 100644 --- a/peps/pep-0804.rst +++ b/peps/pep-0804.rst @@ -141,8 +141,7 @@ instructions for its external build dependencies (C/C++/Fortran compilers, OpenBLAS, pkg-config): - Debian/Ubuntu: ``sudo apt install -y gcc g++ gfortran libopenblas-dev liblapack-dev pkg-config python3-pip python3-dev`` -- Fedora: ``sudo dnf install gcc-gfortran python3-devel openblas-devel lapack-devel pkgconfig`` -- CentOS/RHEL: ``sudo yum install gcc-gfortran python3-devel openblas-devel lapack-devel pkgconfig`` +- Fedora/CentOS/RHEL: ``sudo dnf install gcc-gfortran python3-devel openblas-devel lapack-devel pkgconfig`` - Arch Linux: ``sudo pacman -S gcc-fortran openblas pkgconf`` - Homebrew on macOS: ``brew install gfortran openblas pkg-config``