pyp2rpm: Fedora template is not compatible with EPELs
pyp2rpm
generates:
%{?python_provide:%python_provide python3-%{pypi_name}}
(pyp2rpm
tested with fedora/24-cloud-base vagrant)
Unfortunately, this fails on EPEL7 (tested using copr), Fedora works well. Orion Poplawski suggests in https://bugzilla.redhat.com/show_bug.cgi?id=1336097 the following:
%{?python_provide:%python_provide python%{python3_pkgversion}-%{srcname}}
I can confirm this works, but there is still an issue with EPEL6.
The module I tried to build is nemea-pytrap
at pypi.
About this issue
- Original URL
- State: open
- Created 8 years ago
- Reactions: 1
- Comments: 22 (11 by maintainers)
The default template is used by many. Judged by the package reviews I’ve participated in, most of the python packages that go into Fedora are created with pyp2rpm (or copy pasted from others cereted with pyp2rpm). Changing the default here will eventually change not only this tool but also a lot of future Fedora packages.
Fedora is not EPEL and while I respect other packagers who desire to maintain a single spec for Fedora rawhide and a 7 years old distro at a same time, I don’t want to encourage this. It renders the specfiles unnecessarily complex and hard to read. More importantly, hard to update for others. When we wish to introduce changes into Fedora, this group of packagers is always the loudest about us breaking their single spec files for EPEL 6-7 and Fedora 17 to rawhide. There are packages to this day that have if conditionals for RHEL 4 stuff and Fedora 12! If you wish to write your specfiles in this dreadful way I cannot stop you, but I will not encourage this willingly by making it pyp2rpm default.
A workflow that I support is maintaining different branches for different distros or even different Fedora versions. The update policy for EPEL and Fedora is different. The update policy for rawhide and stable Fedora is different. The branches will eventually diverge anyway naturally.
This is solely my opinion (and this is not the pyp2rpm project opinion, I’m only a small part of it and other more involved developers (mainly @mcyprian and @irushchyshyn) might have different opinions).
The above is all about he default. Now I ask you in return: why is an opt-in option not enough?
A specific example: pyp2rpm defaults to the new pythonXdist() feature available in all Fedoras since 26 to speed up the adoption in Fedora. This is unavailable in EPEL and thus would be impossible to do.