[Yum] Weird yum obsoletes scenario
seth vidal
skvidal at phy.duke.edu
Thu Nov 18 13:56:27 UTC 2004
On Thu, 2004-11-18 at 13:46 +0000, Michael A. Peters wrote:
> Here's an illustration of my problem:
>
> [root at devel ~]# rpm --test -ih /home/buildmaster/yum/fedora/3/i386/
> RPMS.bleed/gi
> flib-4.1.3-0.0.yjl.1.i386.rpm
> ########################################### [100%]
> file /usr/lib/libgif.so.4.1.3 from install of
> giflib-4.1.3-0.0.yjl.1 con
> flicts with file from package libungif-4.1.3-1
> file /usr/lib/libungif.so.4.1.3 from install of
> giflib-4.1.3-0.0.yjl.1 c
> onflicts with file from package libungif-4.1.3-1
> [root at devel ~]# yum localinstall /home/buildmaster/yum/fedora/3/i386/
> RPMS.bleed/giflib-4.1.3-0.0.yjl.1.i386.rpm
> Setting up Local Package Process
> Examining /home/buildmaster/yum/fedora/3/i386/RPMS.bleed/
> giflib-4.1.3-0.0.yjl.1.i386.rpm: giflib - 4.1.3-0.0.yjl.1.i386
> Marking /home/buildmaster/yum/fedora/3/i386/RPMS.bleed/
> giflib-4.1.3-0.0.yjl.1.i386.rpm to be installed
> Resolving Dependencies
> --> Populating transaction set with selected packages. Please wait.
> ---> Package giflib.i386 0:4.1.3-0.0.yjl.1 set to be installed
> --> Running transaction check
>
> Dependencies Resolved
> Transaction Listing:
> Install: giflib.i386 0:4.1.3-0.0.yjl.1
> Is this ok [y/N]: y
> Downloading Packages:
> Running Transaction Test
> Finished Transaction Test
> Transaction Test Succeeded
> Running Transaction
> Installing: giflib 100 % done 1/1
>
> Installed: giflib.i386 0:4.1.3-0.0.yjl.1
> Complete!
> [root at devel ~]# rpm -q libungif
> libungif-4.1.3-1
> [root at devel ~]# rpm -qf /usr/lib/libgif.so.4.1.3
> libungif-4.1.3-1
> giflib-4.1.3-0.0.yjl.1
> [root at devel ~]#
>
> -=-
> If as you can see they conflict with rpm --test -ih - then why does the
> rpm database retain libungif when yum installs giflib?
>
> -=-
> When I use just rpm and not yum, ih reports conflict, Uh installs
> giflib and removes libungif. yum won't update though if you just
> specify update giflib, since giflib isn't installed. The only way yum
> does it right is if "yum update" is run with no arguements, and yum
> discovers on its own (from the headers) that giflib obsoletes libungif.
>
When you install a package the obsolete erasure isn't handled.
when you update a package the obsolete erasure is.
It has to do with how I marked installs going into the transaction set.
I'll have a fix for it but not this week, I'm going on vacation.
The fix is best handled by the changes I'm making to how I setup the
transaction info. This means we get better logging, too.
-sv
More information about the Yum
mailing list