[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



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 = 2.6.25.11-97.fc9.i686 is needed by package kmod-nvidia-2.6.25.11-97.fc9.i686-173.14.09-5.lvn9.i686 (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.

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]