Cristian Rodríguez wrote in Wed 03/04 2009 at 17:47 -0300:
Stanislav Brabec escribió:
Are you sure? check-pkgconfig-deps is not recursive.
That's exactly the problem, the lack of at least some recursive checks ;) looks like I failed to express the problem in words, so let's do a practical example..
osc co GNOME:Factory vte
see the -devel package requires they say:
Requires: %{name} = %{version} fontconfig-devel glib2-devel gtk2-devel ncurses-devel pango-devel xorg-x11-devel
They should say
Requires: %{name} = %{version} gtk2-devel
now it you rebuild the package you will see:
.. testing devel dependencies required by pkgconfig .pc files Error: Missing "Requires: glib2-devel" in vte-devel (/usr/lib64/pkgconfig/vte.pc requires glib-2.0.pc). Error: Missing "Requires: glib2-devel" in vte-devel (/usr/lib64/pkgconfig/vte.pc requires gobject-2.0.pc). Error: Missing "Requires: pango-devel" in vte-devel (/usr/lib64/pkgconfig/vte.pc requires pango.pc).
headers installed by vte-devel only require gtk2-devel (and the dependencies of it , in this particular case pango-devel that will pull glib2-devel into the system) all the other Requires will be either pulled by other -devel packages or are simple not needed (like ncurses-devel)
Is it now more clear ?
Yes, I understand and don't agree with you. vte.pc cleanly says, that glib2-devel is required. Even if it is just now cleanly superfluous, it's wise to add it explicitly. In past we migrated from neededforbuild (list of all packages was required) to BuildRequires (only first level dependencies are required), such simplification was very welcome. Somebody created a tool to optimize requirements and everything worked pretty well. A bit later, several low-level packages changed its dependencies. High level packages did not get devel packages they expected and failed, or even worse, we got crippled packages. As an intelligent being, you can recognize, that gtk2-devel will require glib2-devel "forever", but say libsvg-devel was just a "random" dependency in the chain of gtk2-devel. It's not case of a stupid script. If we implement it, we may lose these dependencies in time, and the recommendation may even depend on distribution. As it is only a warning, it can product bad surprises. Note: Automatic generation of BuildRequires and devel Requires from pkg-config instead of ugly check would be a good idea. But due to strict limitations of rpmbuild design, it would not be straight-forward. I experimented with this idea in past. pkg-buildrequires works pretty well (I already tried it on several hundreds packages). A bit more work needs to be done before the "hard use" (analyze AC_CHECK_LIB results, respect .la files, if they are packages). http://software.opensuse.org/search?baseproject=openSUSE%3A11.1&p=1&q=pkg-buildrequires -- Best Regards / S pozdravem, Stanislav Brabec software developer --------------------------------------------------------------------- SUSE LINUX, s. r. o. e-mail: sbrabec@suse.cz Lihovarská 1060/12 tel: +420 284 028 966 190 00 Praha 9 fax: +420 284 028 951 Czech Republic http://www.suse.cz/ -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org