Bug 303491 - yum --skip-broken update does not skip packages with broken dependencies
yum --skip-broken update does not skip packages with broken dependencies
Status: CLOSED CANTFIX
Product: Fedora
Classification: Fedora
Component: yum-utils (Show other bugs)
7
x86_64 Linux
low Severity medium
: ---
: ---
Assigned To: Tim Lauridsen
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-09-24 12:18 EDT by Roderick Johnstone
Modified: 2014-01-21 17:59 EST (History)
5 users (show)

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


Attachments (Terms of Use)
output of yum -d 6 --skip-broken update (140.61 KB, text/plain)
2007-09-24 12:18 EDT, 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 07:42 EDT, Jeremy Sanders
no flags Details | Diff
Output of yum -d3 --disableplugin=kmdl update (66.98 KB, text/plain)
2007-09-25 10:19 EDT, Roderick Johnstone
no flags Details

  None (edit)
Description Roderick Johnstone 2007-09-24 12:18:19 EDT
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 12:18:19 EDT
Created attachment 204291 [details]
output of yum -d 6 --skip-broken update
Comment 2 Tim Lauridsen 2007-09-25 02:07:03 EDT
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 07:41:23 EDT
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 07:42:15 EDT
Created attachment 205351 [details]
Patch to allow run_priority attribute of plugins to get run order correct
Comment 5 Tim Lauridsen 2007-09-25 08:36:17 EDT
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 09:31:11 EDT
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 09:47:16 EDT
 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 09:51:05 EDT
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 09:53:21 EDT
(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 10:19:00 EDT
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.