Bug 477308 - avahi : requires -devel packages due to pkgconfig dependencies
avahi : requires -devel packages due to pkgconfig dependencies
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: avahi (Show other bugs)
rawhide
All Linux
low Severity low
: ---
: ---
Assigned To: Lennart Poettering
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-20 05:20 EST by Michael Schwendt
Modified: 2013-01-09 23:59 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-05-26 14:31:52 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michael Schwendt 2008-12-20 05:20:53 EST
Recent releases of RPM add automatic Requires for
dependencies found in pkgconfig .pc files.

This package now requires at least one -devel package.
Packaging-changes are necessary to get rid of this dependency
on -devel packages:

=> avahi-ui-sharp-0.6.24-1.fc11.i386 (avahi-0.6.24-1.fc11.src.rpm)
    /usr/lib/pkgconfig/avahi-ui-sharp.pc
    REQUIRES: avahi-sharp
    REQUIRES: gtk-sharp2-devel
Comment 1 Lennart Poettering 2009-04-20 12:40:49 EDT
Sorry, my mono-foo is too limited to fully understand the mono packaging. Too me this current kind of packaging make some sense, given that mono should not require seperate devel packages. Or does it?
Comment 2 Michael Schwendt 2009-04-20 13:40:32 EDT
I could answer your question if I understood it. :(  So, let me add some comments that hopefully help in finding a decision:

* The "current kind of packaging" does not make sense, because if the pkgconfig files is needed at run-time (as opposed to only build-time), the automatically generated pkgconfig-file dependency-chain (a new feature for Fedora >= 11) would install a -devel package which is supposed to stay fully optional.

* Installing avahi-ui-sharp (or anything that requires it) will pull in gtk-sharp2-devel, which includes the needed pkgconfig file. No -devel package ought to be needed by run-time packages.

* avahi-ui-sharp doesn't look like a -devel package in disguise, because it contains dlls needed at run-time (despite its Summary and Description!)

* Btw: avahi-sharp's Summary and Description also pretend that it's a package needed during development, but actually it's a run-time package (and required by "giver" and "lat", for example).

[...]

Conclusively, 

1) if the pkgconfig in gtk-sharp2-devel is needed by Mono at run-time, the file ought to be moved to gtk-sharp2.

2) Else, if it's not needed at run-time, avahi-ui-sharp.pc should be moved to a -devel package.

 => Reassigning to gtk-shark2 owner, under the assumption that Mono stuff needs the pkgconfig files at run-time. If assumption is wrong, reassign back, please.
Comment 3 Lennart Poettering 2009-04-20 16:32:55 EDT
no clue about mono, but i think the .pc files are only necessary for building things.

Which hence boils down to: you are asking me to create a -devel package for nothing but a single .pc file. You are kidding, right?

To me it appears that this rpm 'feature' is rather bogus.
Comment 4 Michael Schwendt 2009-04-21 03:46:00 EDT
Yes, normally .pc files are needed only at build-time. I seem to have heard before that Mono looks for them also at run-time. Perhaps there's someone in the Mono SIG who can tell?

> you are asking me to create a -devel package for
> nothing but a single .pc file.

Whether to split off single-file -devel packages (such as tomboy-devel) or whether to ignore the guidelines may be subject to discussion.

This initiative is based on a request posted by Jesse Keating:
https://www.redhat.com/archives/fedora-devel-list/2008-December/msg00612.html

avahi-ui-sharp -> gtk-sharp2-devel pulls in additional -devel packages.

> To me it appears that this rpm 'feature' is rather bogus.

It's rather useful for -devel packages, because pkg-config files have an own dependency-chain (in their "Requires" and "Requires.private" fields). pkg-config files cannot be used/queried without fatal errors unless their dependency-chain is complete, and for it to be complete it must be mapped into proper RPM package dependencies. You don't want to do that manually in your spec files.
Comment 5 Lennart Poettering 2009-04-21 14:04:44 EDT
I know nobody from the mono camp, sorry.

I understand what the reason for this 'rpm' feature is. But I think it wasn't thought to the end with mono in mind.
Comment 6 Michael Schwendt 2009-04-24 08:31:37 EDT
On f-d-l Toshio has kindly pointed me to:
https://fedoraproject.org/wiki/Packaging:Mono#-devel_packages
Comment 7 Matthias Clasen 2009-04-24 17:25:47 EDT
Lennart, it is best to just create that single-file -devel package, and move on. Thats the easiest way to stop the nagging...
Comment 8 Michael Schwendt 2009-05-26 12:37:32 EDT
Reported on 2008-12-20 ... still not fixed.
Comment 9 Lennart Poettering 2009-05-26 13:45:08 EDT
(In reply to comment #8)
> Reported on 2008-12-20 ... still not fixed.  

Why are you nagging me? Is this time critical in any way?

If this matters so much to you, you are welcome to fix this bug yourself!
Comment 10 Michael Schwendt 2009-05-26 14:31:52 EDT
Fix committed to devel (F-12).

Note You need to log in before you can comment on or make changes to this bug.