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