Bug 1777110

Summary: provide systemd-rpm-macros to keep compatibility with Fedora/EPEL packages
Product: Red Hat Enterprise Linux 8 Reporter: Orion Poplawski <orion>
Component: systemdAssignee: systemd-maint
Status: CLOSED ERRATA QA Contact: Frantisek Sumsal <fsumsal>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 8.1CC: dtardon, jsynacek, msekleta, systemd-maint-list
Target Milestone: rcKeywords: Reopened
Target Release: 8.0   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: systemd-239-22.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-04-28 16:45:29 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:

Description Orion Poplawski 2019-11-27 00:28:34 UTC
Description of problem:

Split systemd rpm macros into systemd-rpm-macros.  This was done in Fedora (bug #1645298)

Comment 1 Michal Sekletar 2019-12-02 13:34:14 UTC
Is there any justification except "This was done in Fedora"? 

I get the rationale for the change, but at the same time, this possibly requires spec file changes across the distribution. While the benefit is not very compelling.

Comment 2 Jan Synacek 2019-12-02 14:43:08 UTC
To add to comment 1, I don't really see any benefits at all. The original Fedora bug mentions that the rpm macros bring dependencies, but most (if not all) of the dependencies listed in the description are actual systemd dependencies. Besides that, AFAIK we don't really support rebuilding rpms.

Comment 3 Orion Poplawski 2019-12-14 17:57:29 UTC
Well, the Fedora packaging guidelines here: https://docs.fedoraproject.org/en-US/packaging-guidelines/Systemd/ say:

```
Filesystem locations

Packages with systemd unit files must put them into %{_unitdir}. %{_unitdir} evaluates to /usr/lib/systemd/system on all Fedora systems (F-15+). Unit files are architecture independent (hence, not %{_lib}) and needed early in the boot process.

Please note that in order for the %{_unitdir} macro to exist, your package must have:

BuildRequires: systemd-rpm-macros
```

The orignal idea was to reduce the number of build time dependencies to speed package building.  I honestly do not know if that is still effective.

There are a number of packages in Fedora that have that and so they will fail to build on EL8.  I thought there was more of an effort for RHEL to be compatible with Fedora packaging, but I guess not.

Comment 4 David Tardon 2019-12-15 18:33:21 UTC
(In reply to Orion Poplawski from comment #3)
> There are a number of packages in Fedora that have that and so they will
> fail to build on EL8.

So it would be completely sufficient to add

Provides: systemd-rpm-macros

and everyone would be happy.

Comment 10 errata-xmlrpc 2020-04-28 16:45:29 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, 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/RHSA-2020:1794