Bug 1892797

Summary: python-rpm-macros: Backport new macros from Fedora
Product: Red Hat Enterprise Linux 8 Reporter: Tomas Orsava <torsava>
Component: python-rpm-macrosAssignee: Lumír Balhar <lbalhar>
Status: CLOSED ERRATA QA Contact: Lukáš Zachar <lzachar>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: ---CC: lbalhar, mhroncok, pviktori, torsava
Target Milestone: rcKeywords: Triaged
Target Release: 8.4   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-rpm-macros-3-40.el8 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-18 16:09:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1917691    
Bug Blocks:    

Description Tomas Orsava 2020-10-29 16:26:38 UTC
Let's backport new RPM macros from Fedora to increase compatibility between RHEL8 and Fedora, and forward compatibility between RHEL8 and RHEL9.

Most important macros:
- %python2
- %python3

Also consider backporting:
- %py_provides
- %python3_platform_triplet
- %python3_ext_suffix
- %pycached
- %pytest
- and possibly others...

Comment 1 Miro Hrončok 2020-10-29 18:24:50 UTC
EPEL 8 has the following backports:

%python2
%python3
%py_shebang_fix
%py2_shebang_fix
%py3_shebang_fix
%python_platform_triplet
%python_ext_suffix
%python3_platform_triplet
%python3_ext_suffix
%python
%pycached
%__pytest
%pytest
%py_provides

You can find their definitions in https://src.fedoraproject.org/rpms/epel-rpm-macros/blob/epel8/f/macros.epel-rpm-macros

Comment 2 Lumír Balhar 2021-01-14 14:30:15 UTC
As far as I see it, there is only one problem - pathfix.py we have in the main Python package is too old and does not support `-k` and `-a` options so I'll need to backport these functionalities to the platform python before I can finish this.

Comment 3 Miro Hrončok 2021-01-14 14:48:31 UTC
The EPEL shebang fix macro has a limited functionality that works in most cases. Also consider that.

Comment 4 Lumír Balhar 2021-01-15 11:03:03 UTC
We have decided to backport the simpler shebang_fix macros from EPEL.

PR: https://src.osci.redhat.com/rpms/python-rpm-macros/pull-request/9

Comment 5 Lumír Balhar 2021-01-19 11:48:31 UTC
Status update:

* We've decided to update pathfix.py in platform-python to support -ka options so we can have one universal shebang_fix macro implementation here: https://bugzilla.redhat.com/show_bug.cgi?id=1917691
* We won't backport Python 2 macros.

It seems that the RHEL tests are copied from Fedora so the new macros can also be tested with the same tests from Fedora: https://src.fedoraproject.org/rpms/python-rpm-macros/blob/master/f/tests/test_evals.py

PR is reviewed and ready to be merged but I'd prefer to do it when the change for python3 is also ready.

Comment 23 errata-xmlrpc 2021-05-18 16:09:01 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (python-rpm-macros bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2021:1923