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]