Comment 4 for bug 776503

Revision history for this message
Vincent Fortier (th0ma7) wrote :

Will this fix be backported for Ubuntu 10.04 LTS ?

Because this morning I still see:
The following packages have unmet dependencies:
  libthunar-vfs-1-2: Depends: libgamin0 but it is not going to be installed

I gave a try this morning into fixing the problem (with success) by changing theses:
Source: thunar
Section: xfce
Priority: optional
Maintainer: Xubuntu Developers <email address hidden>
XSBC-Original-Maintainer: Debian Xfce Maintainers <email address hidden>
Uploaders: Yves-Alexis Perez <email address hidden>, Emanuele Rocca <email address hidden>, Simon Huggins <email address hidden>
Build-Depends: debhelper (>= 7), libcairo2-dev,
 libexo-0.3-dev (>= 0.3.100), cdbs, libxml-parser-perl, libgamin-dev,

to:
 libexo-0.3-dev (>= 0.3.100), cdbs, libxml-parser-perl, libgamin-dev | libfam-dev,

and this:
Package: thunar
Section: xfce
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, desktop-file-utils,
 shared-mime-info, thunar-data (= ${source:Version}), exo-utils
Recommends: hal, dbus-x11, gamin, ${shlibs:Recommends}, thunar-volman,
 xdg-user-dirs

to:
Recommends: hal, dbus-x11, gamin | fam, ${shlibs:Recommends}, thunar-volman,
 xdg-user-dirs

I can then install all the build dependancies and start a proper build using libfam-dev instead of gamin. At the end of the build the ${shlibs:Depends} of thunar gets translated to this (from file libthunar-vfs-1-2.substvars at deb creation time):
shlibs:Depends=libatk1.0-0 (>= 1.29.3), libc6 (>= 2.11), libcairo2 (>= 1.2.4), libdbus-1-3 (>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libexif12, libexo-0.3-0 (>= 0.3.100), libfam0, libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.23.5), libgtk2.0-0 (>= 2.10.1), libhal-storage1 (>= 0.5.8.1), libhal1 (>= 0.5.8.1), libjpeg62, libpango1.0-0 (>= 1.14.0), libpcre3 (>= 7.7), libpng12-0 (>= 1.2.13-4), libxfce4util4 (>= 4.6.0), zlib1g (>= 1:1.1.4)
misc:Depends=

Where it becomes linked to libfam0 instead of libgamin0 and declared as is in the debian package.

Now, since package libgamin0 provides an equivalent to libfam0 this should allow to use gamin OR fam with thunar...

Package: libgamin0
Section: libs
Architecture: any
Depends: ${misc:Depends},
         ${shlibs:Depends},
         gamin
Conflicts: libfam0c102, libfam0
Provides: libfam0c102, libfam0
Replaces: libfam0c102, libfam0

Package: libgamin-dev
Section: libdevel
Architecture: any
Depends: ${misc:Depends},
         ${shlibs:Depends},
         libgamin0 (= ${binary:Version})
Conflicts: libfam-dev
Provides: libfam-dev
Replaces: libfam-dev

Now the questions becomes:
1) Should fam declare that it can provide gamin? (libfam0 provides libgamin0)... Having libfam0 would then work properly what ever the dependancies are...
-- OR --
2) Should thunar be mentionning in it's build-deb that it links to libfam-dev by default? And thus use "fam | gamin" instead of the reverse so that fam becomes the default... I have a strong feeling that it will always libgamin0 anyway since most probably build on a system running gamin and not fam.
-- OR --
3) Having the deb making sure it change the automatic translation of ${shlibs:Depends} in libthunar-vfs-1-2.substvars so that it stipulates "libgamin0 | libfam0" ...
-- OR --
4) Perhaps simply manually adding the "libgamin0 | libfam0" into the Depends: of thunar so it does'nt get superseeded by the ${shlibs:Depends} translation at build creation time?

Personally I'd try the option 4) ... (with perhaps with the order ${shlibs:Depends} should be in the Depends:)