NetBSD-Bugs archive

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

install/45335: postinstall: obsolete libs: use distribution sets



>Number:         45335
>Category:       install
>Synopsis:       postinstall: obsolete libs: use distribution sets
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    install-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 06 14:30:01 +0000 2011
>Originator:     Martin S. Weber
>Release:        NetBSD 5.1_STABLE
>Organization:
        
>Environment:
        
        
System: NetBSD agamemnon.entropie.local 5.1_STABLE NetBSD 5.1_STABLE 
(AGAMEMNON5) #1: Sat Jul 16 16:22:03 EDT 2011 
root@agamemnon.entropie.local:/space/obj/sys/arch/i386/compile/AGAMEMNON5 i386
Architecture: i386
Machine: i386
>Description:
        Please fix postinstall to use the distribution sets to determine
        obsolete files (especially libraries!!!) instead of nuking older
        minor/teeny versions.

        Why is that a problem?

        Do the following:

        1 install a release
        2 try a -current (run postinstall during installation)
        e run into a problem in -current
        3 go back down to a release (run postinstall during installation).
        pi your release now is unusable.

        How so? Basically the newest version survives, so if you have a
        new libc or libm (both of which is true currently on -current
        vs. release), the following happens:

        1 version old of lib x gets installed
        2 version new > old of lib x gets installed. postinstall nukes version 
old
        3 version old < new of lib x gets installed. postinstall STILL nukes 
version old
        pi the userland of release is linked against old, not new. All your 
binaries
           fail. You curse and reach unhealthy blood pressure levels.

        Imho this could be fixed by looking at the libraries, looking which
        ones are mentioned in the distribution sets, and nuke the other ones.
        this would result in:

        1 version old of lib x gets installed
        2 version new of lib x gets installed. only new is in the distribution 
sets. old gets nuked
        3 version old gets installed. Only old is in the distribution sets. new 
gets nuked
        pi happyness, joy, unicorns everywhere

>How-To-Repeat:
        See description, 1,2,e,3,pi.
>Fix:
        No patch, sorry. 

>Unformatted:
        
        


Home | Main Index | Thread Index | Old Index