Bug 303491 - yum --skip-broken update does not skip packages with broken dependencies
Summary: yum --skip-broken update does not skip packages with broken dependencies
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: yum-utils   
(Show other bugs)
Version: 7
Hardware: x86_64
OS: Linux
low
medium
Target Milestone: ---
Assignee: Tim Lauridsen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-24 16:18 UTC by Roderick Johnstone
Modified: 2014-01-21 22:59 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-09-25 06:07:03 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
output of yum -d 6 --skip-broken update (140.61 KB, text/plain)
2007-09-24 16:18 UTC, Roderick Johnstone
no flags Details
Patch to allow run_priority attribute of plugins to get run order correct (1.22 KB, patch)
2007-09-25 11:42 UTC, Jeremy Sanders
no flags Details | Diff
Output of yum -d3 --disableplugin=kmdl update (66.98 KB, text/plain)
2007-09-25 14:19 UTC, Roderick Johnstone
no flags Details

Description Roderick Johnstone 2007-09-24 16:18:19 UTC
Description of problem:
yum-skip-broken plugin doesn't enable yum to skip installation of packages with
broken dependencies.

Version-Release number of selected component (if applicable):
Installed Packages
yum.noarch                               3.2.5-1.fc7            installed
yum-metadata-parser.x86_64               1.1.0-2.fc7            installed
yum-plugin-kmdl.noarch                   0.7-9.fc7              installed
yum-skip-broken.noarch                   1.1.7-1.fc7            installed
yum-utils.noarch                         1.1.7-1.fc7            installed


How reproducible:
Every time.

Steps to Reproduce:
1.yum --skip-broken update
2.
3.
Actual results:
Error: Missing Dependency: /boot/vmlinuz-2.6.22.4-65.fc7 is needed by package
nvidia-graphics100.14.09-kmdl-2.6.22.4-65.fc7
Error: Missing Dependency: /boot/vmlinuz-2.6.22.4-65.fc7 is needed by package
nvidia-graphics100.14.11-kmdl-2.6.22.4-65.fc7

and no updates are installed.


Expected results:
Installation of packages without dependency problems.

Additional info:
I noted this behaviour in comment #10 of BZ249194, but the use of
yum-skip-broken is only really there as a work around, so I'm opening this here
as a problem with yum-skip-broken in its own right.

Attaching output of yum -d 6 --skip-broken update

Comment 1 Roderick Johnstone 2007-09-24 16:18:19 UTC
Created attachment 204291 [details]
output of yum -d 6 --skip-broken update

Comment 2 Tim Lauridsen 2007-09-25 06:07:03 UTC
This error is caused by the kmdl plugin there adds extra packages to the
transcation after skip-broken has been run and removed the packages with bad
dependecies there was in the original transaction.
There is no way skip broken can handle that.

Dependency Process ending
Running "postresolve" handler for "kmdl" plugin
---> Package nvidia-graphics100.14.11-kmdl-2.6.22.5-76.fc7.x86_64
1:100.14.11-91.fc7 set to be installed
---> Package nvidia-graphics100.14.09-kmdl-2.6.22.5-76.fc7.x86_64
1:100.14.09-90.fc7 set to be installed
--> Running transaction check

Comment 3 Jeremy Sanders 2007-09-25 11:41:23 UTC
Yes - it appears that skip-broken runs as a preresolve_hook and kmdl as a
postresolve_hook.

I tried to add a run_priority patch to yum to allow modules to specify a
priority, but pre always runs before post (plugins are run in python dict order
which is arbitrary).



Comment 4 Jeremy Sanders 2007-09-25 11:42:15 UTC
Created attachment 205351 [details]
Patch to allow run_priority attribute of plugins to get run order correct

Comment 5 Tim Lauridsen 2007-09-25 12:36:17 UTC
Plugins is designed to run i different hooks, and pre will always run before
post, it is the whole idea :)
Your patch only works inside the same plugin hook.
I only think this issue can be solved, if some kind of skip broken is
implemented inside the yum depsolver.
Your patch look interesting by the way, i might be usefull in other cases.
I will mail it to the yum-devel list for comments.

Comment 6 Roderick Johnstone 2007-09-25 13:31:11 UTC
The curious thing is that I'm sure the --skip-broken plugin used to fix this
problem. Indeed, its suggested as a workaround in BZ 249194. I wonder what changed.

Comment 7 James Antill 2007-09-25 13:47:16 UTC
 That bug was about using yum-kernel-module, which works from the preresolve
hook. You are using yum-fedorakmod which runs from the postresolve hook.


Comment 8 Tim Lauridsen 2007-09-25 13:51:05 UTC
Maybe it is because the installonlyn is been intregrated in yum-cli, earlier it
was a plugin.
You can try to change the kmdl plugin to run as pre instead of post.

what is the output from
yum -d3 --disableplugin=kmdl update
 

Comment 9 Tim Lauridsen 2007-09-25 13:53:21 UTC
(In reply to comment #7)
>  That bug was about using yum-kernel-module, which works from the preresolve
> hook. You are using yum-fedorakmod which runs from the postresolve hook.
> 

it is the kmdl plugin from the ATrpms repo, but it is also running from the
postresolve hook

Comment 10 Roderick Johnstone 2007-09-25 14:19:00 UTC
Created attachment 205501 [details]
Output of yum -d3 --disableplugin=kmdl update

Attaching output of:
yum -d3 --disableplugin=kmdl update

This command works, except that it doesn't install the kmdl for the new kernel
which is what the kmdl plugin is designed to do.


Note You need to log in before you can comment on or make changes to this bug.