Hi:
There is a very common inconsistency in packages that include *.pc files, some do Requires: pkg-config while some others dont, I think we need to decide to either do require it or not, and raise an error when this policy is violated..
what you think ? should it be required or not ?
My vote is that pkgconfig is a build dependecy only, and hence -devel packages should not require pkgconfig.
2009/5/28 Cristian Rodríguez crrodriguez@opensuse.org:
Hi:
There is a very common inconsistency in packages that include *.pc files, some do Requires: pkg-config while some others dont, I think we need to decide to either do require it or not, and raise an error when this policy is violated..
what you think ? should it be required or not ?
The only use case that would justify the requirement is an user compiling manually. And that use case is already fixed if we expect users to install the compiler through the development pattern and if that pattern includes pkg-config (that I think already does).
So, no. If this is going to be forced I vote for not requiring it.
On Thu, 28 May 2009 14:40:09 -0400, you wrote:
what you think ? should it be required or not ?
It should be required only by packages that call pkg-config, not if they merely provide a .pc file.
Philipp
Philipp Thomas wrote:
On Thu, 28 May 2009 14:40:09 -0400, you wrote:
what you think ? should it be required or not ?
It should be required only by packages that call pkg-config, not if they merely provide a .pc file.
From Fedora Guidelines:
"Packages containing pkgconfig(.pc) files must Requires: pkg-config (for usability)."
I think that's wise and we should follow that. Installed pkg-config is ~200kB on disk.
On Fri, 29 May 2009, Pavol Rusnak wrote:
Philipp Thomas wrote:
On Thu, 28 May 2009 14:40:09 -0400, you wrote:
what you think ? should it be required or not ?
It should be required only by packages that call pkg-config, not if they merely provide a .pc file.
From Fedora Guidelines:
"Packages containing pkgconfig(.pc) files must Requires: pkg-config (for usability)."
I think that's wise and we should follow that. Installed pkg-config is ~200kB on disk.
I don't see why they need to Require: pkg-config, they will work perfectly fine without it so at most Recommends: pkg-config.
Richard.
Richard Guenther wrote:
On Fri, 29 May 2009, Pavol Rusnak wrote:
From Fedora Guidelines:
"Packages containing pkgconfig(.pc) files must Requires: pkg-config (for usability)."
I think that's wise and we should follow that. Installed pkg-config is ~200kB on disk.
I don't see why they need to Require: pkg-config, they will work perfectly fine without it so at most Recommends: pkg-config.
When a -devel package provides a .pc file, developers expect that all other projects will detect and include their library with pkg-config file. Any attempt to compile against such package without pkg-config should be considered as incorrect.
That is why I think that "Requires: pkg-config" is a good idea.
On Mon, 1 Jun 2009, Stanislav Brabec wrote:
Richard Guenther wrote:
On Fri, 29 May 2009, Pavol Rusnak wrote:
From Fedora Guidelines:
"Packages containing pkgconfig(.pc) files must Requires: pkg-config (for usability)."
I think that's wise and we should follow that. Installed pkg-config is ~200kB on disk.
I don't see why they need to Require: pkg-config, they will work perfectly fine without it so at most Recommends: pkg-config.
When a -devel package provides a .pc file, developers expect that all other projects will detect and include their library with pkg-config file. Any attempt to compile against such package without pkg-config should be considered as incorrect.
Huh, not. That would be a very confused upstream policy and if really required should be very few cases.
That is why I think that "Requires: pkg-config" is a good idea.
No, I think not. Requires are bad.
Richard.
Am Dienstag 02 Juni 2009 schrieb Richard Guenther:
On Mon, 1 Jun 2009, Stanislav Brabec wrote:
Richard Guenther wrote:
On Fri, 29 May 2009, Pavol Rusnak wrote:
From Fedora Guidelines:
"Packages containing pkgconfig(.pc) files must Requires: pkg-config (for usability)."
I think that's wise and we should follow that. Installed pkg-config is ~200kB on disk.
I don't see why they need to Require: pkg-config, they will work perfectly fine without it so at most Recommends: pkg-config.
When a -devel package provides a .pc file, developers expect that all other projects will detect and include their library with pkg-config file. Any attempt to compile against such package without pkg-config should be considered as incorrect.
Huh, not. That would be a very confused upstream policy and if really required should be very few cases.
That is why I think that "Requires: pkg-config" is a good idea.
No, I think not. Requires are bad.
We should settle on a Recommends then and make it a (usability) policy too.
Greetings, Stephan
Stephan Kulow wrote:
Am Dienstag 02 Juni 2009 schrieb Richard Guenther:
On Mon, 1 Jun 2009, Stanislav Brabec wrote:
Richard Guenther wrote:
On Fri, 29 May 2009, Pavol Rusnak wrote:
From Fedora Guidelines:
"Packages containing pkgconfig(.pc) files must Requires: pkg-config (for usability)."
I think that's wise and we should follow that. Installed pkg-config is ~200kB on disk.
I don't see why they need to Require: pkg-config, they will work perfectly fine without it so at most Recommends: pkg-config.
When a -devel package provides a .pc file, developers expect that all other projects will detect and include their library with pkg-config file. Any attempt to compile against such package without pkg-config should be considered as incorrect.
Huh, not. That would be a very confused upstream policy and if really required should be very few cases.
That is why I think that "Requires: pkg-config" is a good idea.
No, I think not. Requires are bad.
We should settle on a Recommends then and make it a (usability) policy too.
I agree. I changed Packaging Guidelines[1] to respect that.
[1] http://en.opensuse.org/Packaging/Guidelines#Pkgconfig_Files
Greetings, Stephan
On 6/2/2009 at 12:54, Pavol Rusnak prusnak@suse.cz wrote:
That is why I think that "Requires: pkg-config" is a good idea.
No, I think not. Requires are bad.
We should settle on a Recommends then and make it a (usability) policy too.
I agree. I changed Packaging Guidelines[1] to respect that.
[1] http://en.opensuse.org/Packaging/Guidelines#Pkgconfig_Files
could we get a lint that at least warns us about the missing Recommends? Having it in the guideline is a good start, but not every packager reads up here and follows the wiki daily.
Thus I suggest at least a warning in rpmlint. Most packagers should at least try to minimize those warnings (and as far as I've seen most do).
Dominique
On 02/06/09 06:54, Pavol Rusnak wrote:
I agree. I changed Packaging Guidelines[1] to respect that.
[1] http://en.opensuse.org/Packaging/Guidelines#Pkgconfig_Files
Ok, now rpmlint should error on -devel packages containing *.pc files that requires pkg-config, same when it does not "recommends" it.
On Tuesday 02 June 2009, Cristian Rodríguez wrote:
I agree. I changed Packaging Guidelines[1] to respect that.
[1] http://en.opensuse.org/Packaging/Guidelines#Pkgconfig_Files
Ok, now rpmlint should error on -devel packages containing *.pc files that requires pkg-config, same when it does not "recommends" it.
did anyone actually file a bugreport to get this implemented? :)
Greetings, Dirk
Richard Guenther wrote:
I don't see why they need to Require: pkg-config, they will work perfectly fine without it so at most Recommends: pkg-config.
When a -devel package provides a .pc file, developers expect that all other projects will detect and include their library with pkg-config file. Any attempt to compile against such package without pkg-config should be considered as incorrect.
Huh, not. That would be a very confused upstream policy and if really required should be very few cases.
It depends. For example, any attempt to compile/link any package with GLib/GTK+/GNOME without using provided pkg-config .pc file is considered as incorrect and unsupported. => having glib-devel installed without pkg-config is an unsupported combination.
So at least for GLib, GTK+, GNOME, it is clean Requires.
I think that many projects follow this policy: we provided .pc file, please use it. But yes, there are projects that guarantee stable compilation API without pkg-config.