On Wed, Aug 01, 2007 at 09:01:23AM +0100, Neil Williams wrote:
> On Wed, 1 Aug 2007 01:35:55 +0200
> ? The original bug report was a failure to build gpe-contacts. I don't
> see how that is not an accurate summary of this bug. gpe-contacts does
> not build because of the SONAME transition, not because of any problem
> with the pc file.

There might be 2 problems here:
- The one I reported, missing Depends on the -dev packages.  This
  happens to be noticed building something during a transition, but it's
  a real problem that should get fixed in any case.
- That gpe-contacts just doesn't work with the new version of
  libgpevtype-dev, wether the depends are right or not.

> gpe-contacts built correctly before the transition and it will build
> correctly when the new version is uploaded with changes to use the
> library AFTER transition.

The question is why it isn't a problem anymore.  Did you add the
libeventdb-dev to the Build-Depends of gpe-contacts?  In that case,
it's probably wrong.

gpe-contacts had this:
Package requirements (gtk+-2.0 >= 2.6 glib-2.0 >= 2.2 libgpewidget libgpepimc 
libgpevtype libcontactsdb sqlite mimedir-1.0 dbus-glib-1)

So it basicly says you need to Build-Depend on the packages providing
those .pc files.  I don't know how correct that is.  This list of
packages mentioned there should be the packages the software _directly_
makes use of, and so should your build-depends.  It shouldn't list
packages it indirectly makes use of, and neither should your
build-dependencies.

Does the new gpe-contacts have any include on a header file provided by
the libeventdb-dev package?  If it doesn't, it probably shouldn't be
having a Build-Depends on it.

> > In libgpevtype-dev 0.50-1 you have an file
> > /usr/lib/pkgconfig/libgpevtype.pc which has:
> > Requires: glib-2.0, mimedir-1.0, libeventdb
> 
> See
> http://lists.debian.org/debian-devel-announce/2005/11/msg00016.html

I perfectly know that post.  This is about reducing the Depends on the
library package (libgpevtype1).  It says to use Requires.private
instead of Requires.  This is not about trying to reduce Depends in -dev
packages.

For instance:
Package: libeventdb1
Depends: libatk1.0-0 (>= 1.13.2), libc6 (>= 2.5), libcairo2 (>= 1.4.0),
libfontconfig1 (>= 2.4.0), libglib2.0-0 (>= 2.12.9), libgpewidget1,
libgtk2.0-0 (>= 2.10.3), libpango1.0-0 (>= 1.16.2), libsqlite0 (>=
2.8.17), libx11-6, libxcursor1 (>> 1.1.2), libxext6, libxfixes3 (>=
1:4.0.1), libxi6, libxinerama1, libxrandr2 (>= 2:1.2.0), libxrender1

And the following dependencies are unneeded:
libx11-6, libxrandr2, libxinerama1, libxext6, libxrender1, libxi6,
libxcursor1, libcairo2, libpango1.0-0, libgtk2.0-0, libatk1.0-0,
libfontconfig1

(According to
http://rerun.lefant.net/checklib/log.libeventdb0_0.21-1.html, at first
sight this still seems to be valid.)

> > This means that libgpevtype-dev should Depend on packages providing the
> > .pc files for glib-2.0, mimedir-1.0 and libeventdb.
> 
> No. libgpevtype1 DOES depend on the relevant shared libraries:
> Depends: libc6 (>= 2.6-1), libeventdb2, libglib2.0-0 (>= 2.12.9),
> libmimedir-gnome0.3, libsqlite0 (>= 2.8.17), libtododb0 (>= 0.08)
> 
> This does NOT mean that the -dev should automatically depend on the -dev
> versions of those packages.

No, but there are several reasons why -dev packages should depend on
each other.  The most important of those is header files.  In
libgpevtype-dev, the header files include things like:
#include <glib.h>
#include <gpe/event-db.h>
#include <gpe/tag-db.h>
#include <gpe/vcal.h>
#include <gpe/vcard.h>
#include <gpe/vevent.h>
#include <gpe/vtodo.h>
#include <mimedir/mimedir-vcard.h>
#include <mimedir/mimedir-vevent.h>
#include <mimedir/mimedir-vtodo.h>

This means that someone using libgpevtype-dev will also need those
headers, so libgpevtype-dev needs to Depend on -dev packages providing
those header files.  This is one of the reasons the .pc files mentions
the packages that are required.

Other reasons are the .pc files, and the same is true for libtool's .la
files.

> gpe-contacts 0.47 *does* need to build-depend on libeventdb-dev (>=
> 0.90) but with that small change, gpe-contacts 0.47 completes the
> pbuilder autobuild successfully. (Just tested it.)

Why does it need to?

> gpe-contacts v0.46:
> Build-Depends: cdbs (>= 0.4.5.1), debhelper (>> 4.0.0),
> libgpewidget-dev (>= 0.114), libgtk2.0-dev, libxml2-dev,
> libsqlite0-dev, libdbus-glib-1-dev, libdisplaymigration0-dev (>= 0.28),
> intltool, libgpepimc-dev (>= 0.8-4), libgpevtype-dev (>= 0.17-5),
> libmimedir-gnome0-dev, libcontactsdb-dev
> 
> v0.47:
> Build-Depends: cdbs (>= 0.4.5.1), debhelper (>> 4.0.0),
> libgpewidget-dev (>= 0.114), libgtk2.0-dev, libxml2-dev,
> libsqlite0-dev, libdbus-glib-1-dev, libdisplaymigration0-dev (>= 0.28),
> intltool, libgpepimc-dev (>= 0.8-4), libgpevtype-dev (>= 0.50),
> libmimedir-gnome0-dev, libcontactsdb-dev, libeventdb-dev (>= 0.90)

So maybe libgpevtype-dev needs to Depend on libeventdb-dev (>= 0.90)?
(And the .pc file maybe should also reflect that version requirement.)
Or does gpe-contacts really make use of libeventdb-dev now?

In any case, libgpevtype-dev is missing atleast 3 packages in it's
Depends line.


Kurt



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to