RFC: best way to fix the regular yum dependency problems with add-on packages from 3rd party repositories

John Ellson john.ellson at comcast.net
Sat Aug 2 14:34:12 UTC 2008

Thorsten Leemhuis wrote:
> On 02.08.2008 15:41, John Ellson wrote:
>> Thorsten Leemhuis wrote:
>>> About one or two times a month a lot of people run into decency 
>>> problems like this:
>>>> Error: Missing Dependency: kernel-uname-r = 
>>>> is needed by
>>>> package kmod-nvidia- 
>>>> (livna)
>> Every day I run into dependency problems like this, just with Rawhide 
>> rpms, not even third part ones:
> Well, the two problems you mention are of a different kind.
> Reply out of order:
> > Neither of these dependency issues is flagged in: "rawhide report:
> > 20080802 changes"
> >
> > It would really help if yum would automatically skip any rpm that
>> conflicted with any *installed* rpm.  Both for Rawhide and 
>> third-party rpms.
> >
>>     $ yum update phonon*
>>     Error: Missing Dependency: phonon = 4.2.0-1.fc10 is needed by 
>> package phonon-backend-gstreamer-4.2.0-1.fc10.x86_64 (installed)
> Look closer! It says "[...] (installed)" there -- the scripts that 
> generates the rawhide report can't know what you have one your 
> harddisk and thus it can't detect this broken dep.

But (1) the rawhide reports do know what is in the rawhide repository 
that might be installed, and which shouldn't conflict if they are.

But (2) I suggested that yum, on the client, should automatically skip 
over new rpms (and and new rpms that depend on the new rpm)
that conflict with an installed rpm. 
> It seems phonon-backend-gstreamer is not in rawhide anymore. I would 
> assume phonon-backend-gst should obsolete it, but doesn't. That's a 
> bug that needs to be reported and fixed, so it's good that yum boils 
> out here.
I'd generate a BZ report, but BZ is down.

There seems to be some kind of circular dependency.
     $ rpm -e phonon-backend-gstreamer.x86_64
      error: Failed dependencies:
        phonon-backend is needed by (installed) phonon-4.2.0-1.fc10.x86_64

Can anyone tell me how to a remove of one rpm, and an upgrade or install 
of another, as an atomic operation?
Something like:
    rpm -e XXX -i YYY

> Further: I'm not familiar with the skip-broken plugin, but this might 
> be a case where skipping updates due to broken deps might do the wrong 
> thing to do. At least I have a few old packages(¹) on my disk now and 
> then and I would not want to skip updates just because those old 8and 
> most of the time unneeded) cruft requires things that are not 
> available anymore.
> (¹) -- packages that were dropped from Fedora or a 3rd party repo; 
> packages that have been installed manually. Yes, I clean those up now 
> and then ("package-cleanup --orphans"), but there are new ones every 
> few months.
>>     $ yum update digikam*
>>     Transaction Check Error:
>>   file /usr/share/icons/oxygen/128x128/apps/digikam.png from install 
>> of digikam-0.10.0-0.1.beta2.fc10.x86_64 conflicts with file from 
>> package oxygen-icon-theme-4.1.0-1.fc10.noarch
> A bug as well. It's good that yum boils out, because then someone will 
> actually report it sooner or later; then someone else will fix it 
> sooner or later.
Once BZ is resurrected..
> Further: Looking for file conflicts in all packages is a very 
> time-consuming task -- it takes many hours iirc and thus to long to do 
> it for each rawhide push. In the old Fedora Extras days mschwendt iirc 
> had a script that did such checks that; he started it now and then 
> manually. But this script just like a lot of other (semi-)automatic 
> check scripts from Extras afaics one got lost/forgotten during the 
> Core and Extras merge. :-((

Fine.  Don't check it on the server.  Just have yum on the client 
recover gracefully from these and skip over them.

That would also solve the livna problem.


More information about the fedora-devel-list mailing list