Bug 477308 - avahi : requires -devel packages due to pkgconfig dependencies
Summary: avahi : requires -devel packages due to pkgconfig dependencies
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: avahi
Version: rawhide
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Lennart Poettering
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-12-20 10:20 UTC by Michael Schwendt
Modified: 2013-01-10 04:59 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-05-26 18:31:52 UTC


Attachments (Terms of Use)

Description Michael Schwendt 2008-12-20 10:20:53 UTC
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 16:40:49 UTC
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 17:40:32 UTC
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 20:32:55 UTC
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 07:46:00 UTC
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 18:04:44 UTC
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 12:31:37 UTC
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 21:25:47 UTC
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 16:37:32 UTC
Reported on 2008-12-20 ... still not fixed.

Comment 9 Lennart Poettering 2009-05-26 17:45:08 UTC
(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 18:31:52 UTC
Fix committed to devel (F-12).


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