Re: [Tracker] Improve linking against 3rd party libs



On 13/04/10 22:45, Michael Biebl wrote:
Hi,

Hi,

I noticed with amazement, that tracker-store has a dependency against
libgtk [1], also the dependencies of e.g. libtracker-client-8.0-0 are
not ideal.

No they're not. You're right.

I started working on that a bit, and attached is a serious of patches.
To see the effect, I prepate a before and after of a few selected
(Debian) binary packages

before
======
Package: libtracker-client-0.8-0
Depends: libc6 (>= 2.3.6-6~), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2
(>= 0.78), libdevkit-power-gobject1 (>= 1:0.9.1), libglib2.0-0 (>=
2.24.0), libgtk2.0-0 (>= 2.18.0), libpango1.0-0 (>= 1.14.0), libunac

Package: libtracker-extract-0.8-0
Depends: libc6 (>= 2.3.6-6~), libexempi3 (>= 2.1.0), libexif12,
libglib2.0-0 (>= 2.20.0), libgtk2.0-0 (>= 2.18.0), libiptcdata0,
libtracker-client-0.8-0 (>= 0.8.1)

Package: libtracker-miner-0.8-0
Depends: libc6 (>= 2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>=
0.78), libdevkit-power-gobject1 (>= 1:0.9.1), libglib2.0-0 (>=
2.24.0), libgnome-keyring0 (>= 2.22.2), libgtk2.0-0 (>= 2.18.0),
libpango1.0-0 (>= 1.14.0), libtracker-client-0.8-0 (>= 0.8.1),
libunac1

Package: tracker
Depends: libc6 (>= 2.3.6-6~), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2
(>= 0.78), libdevkit-power-gobject1 (>= 1:0.9.1), libglib2.0-0 (>=
2.24.0), libgtk2.0-0 (>= 2.18.0), libpango1.0-0 (>= 1.14.0),
libsqlite3-0 (>= 3.6.23.1), libtracker-client-0.8-0 (>= 0.8.1),
libtracker-miner-0.8-0 (>= 0.8.0), libunac1, libuuid1 (>= 2.16),
zlib1g (>= 1:1.1.4), shared-mime-info, dbus

after
=====
Package: libtracker-client-0.8-0
Depends: libc6 (>= 2.3.6-6~), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2
(>= 0.78), libdevkit-power-gobject1 (>= 1:0.9.1), libglib2.0-0 (>=
2.24.0)

Package: libtracker-extract-0.8-0
Depends: libc6 (>= 2.3.6-6~), libexempi3 (>= 2.1.0), libexif12,
libglib2.0-0 (>= 2.20.0), libiptcdata0, libtracker-client-0.8-0 (>=
0.8.1)

Package: libtracker-miner-0.8-0
Depends: libc6 (>= 2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>=
0.78), libglib2.0-0 (>= 2.24.0), libgnome-keyring0 (>= 2.22.2),
libtracker-client-0.8-0 (>= 0.8.1)

Package: tracker
Depends: libc6 (>= 2.3.6-6~), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2
(>= 0.78), libdevkit-power-gobject1 (>= 1:0.9.1), libglib2.0-0 (>=
2.24.0), libpango1.0-0 (>= 1.14.0), libsqlite3-0 (>= 3.6.23.1),
libtracker-client-0.8-0 (>= 0.8.1), libtracker-miner-0.8-0 (>= 0.8.0),
libunac1, libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4), shared-mime-info,
dbus

Great, I will try to integrate these changes with the Harmattan debian setup.

For now I concentrated on unac, pango, devicekit-power, hal and
gdkpixbuf and only link those libraries/binaries against them, when
they actually use them.
I've tested with binutils-gold to not break anything, but a review is
appreciated.
If possible I'd like to see that merged into the stable branch, too.

Yea, I don't like the way that we do this at the moment. I would much prefer to have LIBTRACKER_COMMON_{CFLAGS|LIBS} in configure.ac so we just have one variable there. Each time we move code/modules around in the code base, these Makefiles get out of date and that's the main reason for needing these patches.

Great work Michael, thanks.

[1] http://packages.debian.org/experimental/tracker

Thanks for the patches, just a few places I noticed which could be wrong:

- Why do we need pango for t-s-t? At least I couldn't see any reference with grep to it. - The reference docs for libtracker-common remove HAL_{CFLAGS|LIBS}, surely we need those since we may have HAL in use there? I suppose your argument is that the common.la file pulls those in?

--
Regards,
Martyn



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]