Bug 7363

Summary: Package wrong!
Product: [Retired] Red Hat Raw Hide Reporter: osman
Component: ncursesAssignee: Bernhard Rosenkraenzer <bero>
Status: CLOSED RAWHIDE QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 1.0CC: pbrown
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-01-17 11:39:35 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description osman 1999-11-27 02:53:08 UTC
This package of this new release of ncurses is breaking lots of other
programs wich depend on the 4.2 release!
Those other programs (to many to list) expect for example "libncurses.so.4"
to be present...
Because of that I had to IMIDIATLY downgrade to the 4.2 version again.
Isn't there a way to do the same as you did with ncurses3 ?

Comment 1 Bernhard Rosenkraenzer 1999-11-28 11:54:59 UTC
Working on it. The problem is that the new package symlinks libncurses.so.5
to libncurses.so.4 (they're 100% compatible), then the old package gets removed
and removes the links because they're identical with files that used to be in
the old package.
A workaround is to do
rpm -U ncurses-5.0-2.src.rpm
rpm -U --force ncurses-5.0-2.src.rpm
in a row.

Comment 2 Riley H Williams 1999-11-28 22:30:59 UTC
Surely RPM is intelligent enough to know not to delete files in the old
installation that are replaced by files from the new installation?

In pseudocode, its logic should be something like this:

 1. Create list of files in the old installation. Mark these all as
    "To be deleted".

 2. For each file to be installed or updated by the new installation
        If this file is already in the list of files then
            Mark it as "To be updated"
        else
            Add it to the list of files, marked "To be installed".
        End If
    End For

 3. For each file in the list
        Case "To be flag" of
            "Installed" : Install the file.
            "Updated"   : Replace the file.
            "Deleted"   : Do nothing.
        End Case
    End For

 4. For each file in the list
        If the file is marked "To be deleted"
            Delete the file.
        End if
    End For

 5. End of this procedure.

Note that step (2) includes files created by any post-install scripts.

Comment 3 osman 2000-01-06 07:33:59 UTC
It seems that the "*.so.5" files are now completely missing in the version
"ncurses-5.0-3.i386.rpm"
That can't be your solution because the symbolic links in the package link to
"/usr/lib/*.so.5", but as I mentioned those files are not there!...

Comment 4 Preston Brown 2000-01-13 22:37:59 UTC
bero, any update on this?  you may have to use triggers.  Talk to jbj about it.

Comment 5 Bernhard Rosenkraenzer 2000-01-17 11:39:59 UTC
It's been fixed by renaming the .so.5 packages back to .so.4 a while ago; sorry,
forgot to put it in bugzilla. The additional plus is that packages compiled with
ncurses >= 5.0-5 will again work with systems using ncurses 4.x