On Tue, 13 Jan 2015 10:54:38 +0100, Mario Blättermann wrote:
[...] we force packagers to validate their appdata files, we pull in
GTK3
for all GUI-based packages, regardless of whether they really need GTK3 to
build. That's strange. Imagine, someone wants to rebuild a Qt based package on
his/her local system for some reasons, and GTK is needed therefore. This is
confusing.
Hyperbole, IMHO.
It doesn't pull in gtk3-devel but just the run-time lib. How does that
confuse anyone? You only need to run the tool not do anything with the GUI
lib.
Other tools pull in other framework/backend libs runtime. desktop-file-validate
pulls in GLib. That's not a GUI lib, but that doesn't mean only "unwanted
GUI libs" are "not nice".
What about to make the appdata validation conditional, while keeping
it enabled by default?
$ ldd /usr/bin/appstream-util |wc -l
82
$ ldd /usr/bin/appstream-util |grep -i libx|wc -l
27
$ ldd /usr/bin/appstream-util|grep drm
libdrm.so.2 => /lib64/libdrm.so.2 (0x00007fdb0ee0b000)
It could be that most of those are just because it relinks with
everything libappstream-glib.so.1 is linked with already. I doubt
it needs all those lib APIs directly. It would not be the first time
redundant libs are added to the compiler linker options somewhere.
But even then, it's just a tool, and the most one could do is examine
it and link only the stuff it really uses directly. And do the same
for libappstream-glib and similar libs.
--
Today you're focused on GTK, tomorrow you would be confused by the
tool also pulling in something else. Not worth it, IMO.