Bug 728147
Summary: | --skip-broken on x86_64 causes installation of i686 packages | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Mads Kiilerich <mads> | ||||||||||
Component: | yum | Assignee: | Fedora Packaging Toolset Team <packaging-team> | ||||||||||
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||
Severity: | unspecified | Docs Contact: | |||||||||||
Priority: | unspecified | ||||||||||||
Version: | 16 | CC: | ffesti, james.antill, maxamillion, notting, pmatilai, robatino, tim.lauridsen, zpavlas | ||||||||||
Target Milestone: | --- | ||||||||||||
Target Release: | --- | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Whiteboard: | |||||||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
Doc Text: | Story Points: | --- | |||||||||||
Clone Of: | Environment: | ||||||||||||
Last Closed: | 2013-02-14 02:09:15 UTC | Type: | --- | ||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||
Documentation: | --- | CRM: | |||||||||||
Verified Versions: | Category: | --- | |||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||
Embargoed: | |||||||||||||
Attachments: |
|
Description
Mads Kiilerich
2011-08-04 08:14:27 UTC
Could you please post the output from 'yum update -d5 --skip-broken sssd-client' Created attachment 516866 [details]
yum update --skip-broken -d5 > d5 2>&1
Created attachment 516867 [details]
yum update --skip-broken -d9 > d9 2>&1
-d9 seems to show some relevant information in addition to what -d5 says:
archdist compared libipa_hbac-1.6.0-2.fc16.i686 to libipa_hbac-1.6.0-2.fc16.x86_64 on ia32e
Winner: libipa_hbac-1.6.0-2.fc16.x86_64
common sourcerpm libipa_hbac-1.6.0-2.fc16.i686 and sssd-1.6.0-2.fc16.x86_64
base package sssd is installed for libipa_hbac-1.6.0-2.fc16.i686
(As you can see I hacked my yum config to avoid getting any repo changes that could hide this issue)
Naaah. I guess the issue is caused by SKIPBROKEN: removing sssd-1.6.0-2.fc16.x86_64 from pkgSack & updates which removes the x86_64 package but doesn't remove the corresponding i686 package. Perhaps --skip-broken could blacklist a whole source rpm instead of the individual packages? Created attachment 518509 [details]
yum unittest to simulate the issue
OK, now I have made a unit test to reproduce the issue. The issue is that sssd.x86_64 is upgraded to sssd+1.x86_64 sssd-client.x86_64 is upgraded to sssd-client+1.x86_64 sssd+1.x86_64 has a broken dependency and is rollback to sssd.x86_64 sssd.x86_64 require sssd-client, but it has been replaced by sssd-client+1.x86_64 so sssd-client.i686 is marked to be installed. Skip-broken does not fail, it is the only way to not break the requirements the installed sssd.x86_64. Created attachment 518833 [details]
another yum update -d9 --skip-broken
I had another issue that seemed similar. Is it the same? Or is it (also) a bug that the gnome-panel requirements don't specify arch?
# rpm -q --requires gnome-panel-3.0.2-3.fc16.x86_64 | grep panel-libs
gnome-panel-libs = 3.0.2-3.fc16
yum-3.4.3-4.fc16.noarch
rpm-libs-4.9.1.1-2.fc16.x86_64
same issue with gnome-panel & gnome-panel-libs, one is updated and the other one is skipped and then skipped installed package is missing some deps and pull in a whole lot of i686 packages. gnome-panel-libs should have a arch specific require to the base package. https://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage But this is a rather new guideline, AFAIK I not sure how --skip-broken should handle it, it find a solution, but not the best one :) (In reply to comment #4) > Naaah. I guess the issue is caused by > > SKIPBROKEN: removing sssd-1.6.0-2.fc16.x86_64 from pkgSack & updates > > which removes the x86_64 package but doesn't remove the corresponding i686 > package. > > Perhaps --skip-broken could blacklist a whole source rpm instead of the > individual packages? Blacklist all arches, not the whole source rpm. That I believe would solve it for the vast majority of cases. (In reply to comment #9) > (In reply to comment #4) > > Naaah. I guess the issue is caused by > > > > SKIPBROKEN: removing sssd-1.6.0-2.fc16.x86_64 from pkgSack & updates > > > > which removes the x86_64 package but doesn't remove the corresponding i686 > > package. > > > > Perhaps --skip-broken could blacklist a whole source rpm instead of the > > individual packages? > > Blacklist all arches, not the whole source rpm. That I believe would solve it > for the vast majority of cases. The current skip-broken will remove all archs for foo-2.0, if foo-2.0.x86_64 is skipped, but it will not remove foo-1.0.i686. The problem here is that foobar-1.0.x86_64 require foo-1.0 that is provided by both foo-1.0.i686 & foo-1.0.x86_64 and foo-1.0.x86_64 is updated to foo-2.0.x86_64 in same transaction, but foobar-1.0.x86_64 can't be update to foobar-2.0.x86_64 because some other dep problem and the currently installed foobar-1.0.x86_64 is now missing the foo-1.0 dependency and drags in foo-1.0.i686 instead. If foobar-1.0.x86_64 had required required foo-1.0.x86_64, then skip broken would have skipped the foo-2.0.x86_64 update Skipping all packages from the same srpm, would solve this issues, but in other cases it would skip to may good updates. Ex. yum-utils srpm contains the base yum-utils package and a lot of plugins sub packages. So if you have installed yum-utils & 5 plugins and there is a update where one of the plugins has a broken dep, then the yum-utils and the 4 other plugins would be skipped to, even that they don't have any issues at all. (In reply to comment #11) > Skipping all packages from the same srpm, would solve this issues, but in other > cases it would skip to may good updates. But ... as you said, the guidelines says that subpackages should have an arch [and nvr] specific require to the base package anyway, so that shouldn't make much difference. Bodhi will push all subpackages at once, so I think it will be OK if yum (by default) did the same when installing. This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. |