Bug#374289: libbonoboui2-dev: uninstallable: conflicting depends.

Loïc Minier lool at dooz.org
Sun Jun 18 17:06:53 UTC 2006


        Hi,

On Sun, Jun 18, 2006, Kurt Roeckx wrote:
> > > >     grep /usr/lib/libtasn1.la /usr/lib/libbonoboui-2.la
> > > If I rebuild it now, it's actually not there anymore.  So you can
> > > just remove it.
> >  I disagree, you've rebuilt it on your arch but the change you requested
> >  impacts all arches.  The depends I added manually also affected all
> >  arches.
> I have no idea why you think you need to add depends on this
> package for it.  There is nothing in your package making direct
> use of it.  The only reason it ends up in your .la file is that
> some other indirect dependency of you needs it.  That package
> should get fixed instead, and you covering it up doesn't help.

 There is something in my package doing direct use of it: the *.la
 files...  Didn't you learn anything from Xcursor.la?  How many packages
 FTBFSed because of the missing .la?

 If I don't depend on packages providing the *.la files referenced by my
 *.la files, anything building against my *.la files will FTBFS if
 anything is missing.  (but please see below)

> >  The clean solution is to compute *.la files Depends, which I've just
> >  done in SVN.
> I hope you're not going to add a Depends for all the .la files
> mentioned in the .la file?  This will make transitions alot
> harder than they should be.  I hope that you don't do this, and
> if you really think you should, then atleast make sure your
> package is binNMU'able, which it currently isn't.

 This was *already* the case.  The Depends were hardcoded manually.  I
 started doing this when I was fedup of receiving bug reports due to
 missing deps (because of packages using *.la files).

 Yes this über-sucks, but it's the only correct thing to do with *.la
 files.

 (I would also appreciate a more respectful tone, we made all our package
 bin NMU able in our SVN but didn't upload all of them just for the sake
 of bin NMU ability: )
  [ Josselin Mouette ]
  * Make the package binNMU-safe.
    + Build-depend on dpkg-dev 1.13.19.
    + Use ${source:Version} and ${binary:Version}

 Now we're in a way better shape because this *.la files dependency
 generation will be automatic (and updatable via bin NMUs).


 Just to finish convincing you that there's no other way to deal with
 *.la files:
 - libfoo-dev ships libfoo.la
 - libbar links against libfoo
 - libbaz-dev links against libbar, hence libbaz.la references libfoo.la
 now imagine libbar stops linking against libfoo.  Or libfoo renames to
 libfoo2: the hardcoded libfoo.la reference in libbaz.la will break and
 no one will notice.

 *.la files are pure evil, and we should get rid of them.  I wish I
 wouldn't have to resort to awful dependencies like I have to right now,
 but the removal process is long when done properly (ie not like
 Xcursor).

> There is a reason why Debian's libtool has been patched, and that
> is to reduce the number of Depends a package has it shouldn't
> have.  And now you want to do the reverse with the -dev packages?

 My changes only affect packages shipping *.la files, and we don't want
 to continue doing that in the long term.  However, this is needed in
 the interim.

 I suggest you start a more public discussion so that everyone benefits
 from it.

   Bye,
-- 
Loïc Minier <lool at dooz.org>





More information about the Pkg-gnome-maintainers mailing list