On Thu, Sep 29, 2022 at 10:51:55AM +0100, Sérgio Basto wrote:
On Thu, 2022-09-29 at 08:26 +0000, Zbigniew Jędrzejewski-Szmek wrote:
On Thu, Sep 29, 2022 at 12:01:13AM +0100, Sérgio Basto wrote:
On Fri, 2022-09-23 at 22:49 +0100, Sérgio Basto wrote:
On Fri, 2022-09-23 at 22:39 +0100, Sérgio Basto wrote:
On Mon, 2022-09-19 at 09:08 +0200, Dan Horák wrote:
On Fri, 16 Sep 2022 13:42:42 +0000 Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl wrote:
> On Fri, Sep 16, 2022 at 03:35:29PM +0200, Florian Weimer > wrote: > > * Zbigniew Jędrzejewski-Szmek: > > > > > So… we certainly don't want people having to declare > > > the > > > dependency > > > manually everywhere. > > > > The packaging guidelines seem to say that the manual > > dependency > > is > > required, though. > > Yeah, you need *some* dependency. But opencryptoki has > BR:systemd-devel, and systemd-devel has R:systemd, which > has > the > Requires(meta) under discussion. So an explicit BR:systemd- > rpm- > macros > should be redundant.
the BR: systemd-devel in opencryptoki might be just a historical relict, because it used to be required to define the various macros (IIRC)
Dan
Today clamav fails to build on rawhide again, this time because make install on mock doesn't install systemd files !
scratch build https://koji.fedoraproject.org/koji/taskinfo?taskID=92286295
systemd-devel no longer has systemd dependency on F37+, now we also need BuildRequires: systemd
I don't expect clamav needs systemd to build. It probably needs systemd-devel and systemd-rpm-macros.
It is true that systemd-devel used to pull in systemd. It was something of an accident: systemd-devel had an artificial dependency on systemd-pam, which in turn had a dependency on systemd. The artificial dep was added to make system-pam a multiarch package. At some point this was solved properly and and hack was dropped. I don't think we want systemd-devel to R:systemd. systemd-devel is about various headers and libraries, and the systemd runtime is a separate thing.
I now pushed a commit to add in systemd-devel:
Requires(meta): (%{name}-rpm-macros = %{version}-%{release} if rpm- build)
This means we'll get systemd-rpm-macros in rpm buildroot if systemd- devel is installed. We had the same line on systemd itself. This way one doesn't need to explicitly BR:systemd-rpm-macros is either BR:systemd or BR:systemd-devel is specified.
https://src.fedoraproject.org/rpms/clamav/c/35d73944ae2fa9cee3df4729c53a66ba... "Add missing dependency on systemd as it's the systemd package itself that ships systemd.pc, not systemd-devel."
because clamav runs `pkg-config --variable=systemdsystemunitdir systemd` which needs /usr/share/pkgconfig/systemd.pc
Ah, OK. Thanks for the correction. In this case, it's fine for clamav to BR:systemd.
An alternative approach would be to use rpm macros instead of pkg-config: %_unitdir gives the same string.
and /usr/share/pkgconfig/systemd.pc is systemd (core) sub-package , maybe I would suggest move /usr/share/pkgconfig/systemd.pc and /usr/share/pkgconfig/udev.pc to devel sub-package
That'd cause too much confusion. systemd-devel has libsystemd.pc already, and -devel is about libraries. We had the rule that 'pkgconfig(systemd)' gives you full systemd package, and I think we should not change that.
Zbyszek