[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 Lun 10 Avril 2006 19:41, Aurelien Jarno a écrit :
>> Anthony Towns a écrit :
>> > Hi,
>> >
>> > This is a reject of the new -bin packages (both of them).
>> >
>> > The issues with the -bin package are that it may cause upgrade
>> > problems, both in that upgrading from existing libc's may result in
>> > a broken system between the new libc6 being unpacked and the new
>> > libc-bin being installed (ldconfig not being available), and that
>> > when you have a new glibc from upstream, you may have problems with
>> > the new ldconfig (etc) requiring symbols from the new glibc, and
>> > ensuring they're installed correctly.
>
> I hardly see how that's possible, given that ldconfig is a static 
> binary. and given the fact that libc6 Depends upon libc-bin, the later 
> will be unpacked, and the new ldconfig will overwrite the older one, 
> and *just work*.
>
> The only current problem is that libc-bin depends upon libc6, which is 
> fixeable (making it Essential, or using apropriate dh_slibdeps exclude, 
> to avoid that dependency). With that, libc-bin is assured to be 
> unpacked first, and a valid ldconfig will always exist on the sytem. 
> libc-bin beeing configured or not.

Why should it matter in what oder libc6 and libc-bin are unpackagd?
All cases should work fine:

Case 1:

libc6 (old) exists
libc6 new is unpacked
libc-bin is unpacked
libc6 postinst runs ldconfig
libc-bin postinst runs


Case 2:

libc6 (old) exists
libc-bin in unpacked
libc6 new in unpacked
libc-bin postinst runs
libc6 postinst runs ldconfig


Case 3: (debootstrap run)

libc6 is unpacked with dpkg -x
libc-bin is unpacked with dpkg -x
debootstrap chroots into the system
ldconfig is run


Case 4:

libc6 and libc-bin exist
libc6 is unpacked
libc6 postinst runs (static) ldconfig
libc-bin is unpacked
libc-bin postinst runs


Case 5:

libc6 and libc-bin exist 
libc-bin is unpacked 
libc-bin postinst runs 
libc6 is unpacked 
libc6 postinst runs (static) ldconfig 


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.


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?

MfG
        Goswin



Reply to: