[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: glibc_2.3.6-6_i386.changes REJECTED

Pierre Habouzit <pierre.habouzit@m4x.org> writes:

> Le Mar 11 Avril 2006 11:05, Goswin von Brederlow a écrit :
>> I'm assuming libc6 depends on libc-bin and libc-bin depends on libc6
>> here. The former is needed to always pull in libc-bin on upgrades and
>> the later is needed to ensure the minimum version requirements as
>> sepcified in libc6.shlibs. We don't want a new libc-bin with a too
>> old libc6.
> riiiiight, but that makes a nasty circular dependency I thought we 
> should avoid at any rate ? Shouldn't libc-bin rather conflicts with bad 
> version of the libc ?

I think that circle is unavoidable.

>> Also consider what would happen if ldconfig does go missing. Wouldn't
>> that just mean the new libc6 isn't in ld.so.cache and ld.so will
>> search the library pathmanualy and still find it?
> libc6 preinst calls /usr/bin/ldd to know which ld_so is used on the 
> system. that means that libc-bin has to be extracted *before* libc6 is. 
> Though, that part seems to be quite brittle, and I assume we could use 
> another tool than 

That wasn't mentioned in the mail, only ldconfig. I can't see why
preinst would need to call ldd, after all the ld.so should be the same
accross the arch and is hardcoded into every binary, including libc6
itself. Why isn't that probed during build time? Might be tricky on
cross compiles but otherwise it is trivial.

Will dpkg run both libc6.preinst and libc-bin.preinst before unpacking
either of them or run preinst and unpack each of them in turn?

Worst case it needs a /usr/lib/libc6/ldd.arch-os in libc6.deb and call
that directly.

> else, you are right, the only thing we have to be sure, is that *a* 
> libc-bin is extracted before libc6 postinst runs, and that should 
> always be OK, since libc6 depends upon libc-bin.

When doing a full upgrade (stable->unstable) could it happen that apt
breaks the libc6<->libc-bin depends cycle and put them into seperate
dpkg calls? I don't remember how smart/stupid libapt was there. It
might be best to add "apt-get install libc6 libc-bin" to the upgrade


Reply to: