Bug 1292915
Summary: | Incorrect handling of Requires(pre) | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Ville Skyttä <ville.skytta> | ||||||
Component: | libsolv | Assignee: | rpm-software-management | ||||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 23 | CC: | ignatenko, jsilhan, justas.zemgulys94, luya, mluscon, packaging-team-maint, pnemade, samuel.rakitnican, sergio, ville.skytta, vmukhame | ||||||
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: | 2016-07-21 09:36:53 UTC | Type: | Bug | ||||||
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
Ville Skyttä
2015-12-18 17:52:40 UTC
Thanks for the report. Please, provide debugdata [1]. Have you noticed this regression in previous DNF version too? [1] https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#dependency-resolution-problem Created attachment 1108985 [details]
debugdata
This is the first version that I've noticed the problem with. But I cannot say for sure it hasn't been there in some older versions versions.
The problem is : rpm -q libsmbclient --requires | grep samba-common samba-common = 2:4.3.4-1.fc23 rpm -q samba --requires | grep samba-common samba-common = 2:4.3.4-1.fc23 That is the difference between dnf and rpm . when libsmbclient and samba does not require samba-common etc should have the same results . 1- Of course, libsmbclient and samba shouldn't require samba-common . 2- if packages have the requires , rpm should obey , but don't , so for me is a bug in rpm . (In reply to Sergio Monteiro Basto from comment #3) > The problem is : I don't see any problem in that comment. But anyway: 1) I don't have samba installed so that's not relevant to my scenario. 2) The dependency on samba-common in libsmbclient is a "Requires(pre)", so it should not prevent removal of samba-common because the %pre scriptlet of libsmbclient has obviously been run as both packages are already installed. And it doesn't prevent removal with rpm, but apparently does with dnf, hence it's an issue with dnf (but not sure if it's a generic one or just clean_requirements_on_remove thing). (In reply to Ville Skyttä from comment #4) > (In reply to Sergio Monteiro Basto from comment #3) > > The problem is : > I don't see any problem in that comment. But anyway: > 1) I don't have samba installed so that's not relevant to my scenario. > > 2) The dependency on samba-common in libsmbclient is a "Requires(pre)", That is the problem/bug the rpm --requires of libsmbclient have samba-common included, should be that, that confuses dnf . How do you know that is a "Requires(pre)" ? have you any command that show that or you watch on spec file ? > so > it should not prevent removal of samba-common because the %pre scriptlet of > libsmbclient has obviously been run as both packages are already installed. Correct > And it doesn't prevent removal with rpm, but apparently does with dnf, hence > it's an issue with dnf (but not sure if it's a generic one or just > clean_requirements_on_remove thing). Seems to me that dnf difference to yum is just when we got "Requires(pre)" . (In reply to Sergio Monteiro Basto from comment #5) > How do you know that is a "Requires(pre)" ? have you any command that show > that or you watch on spec file ? I suppose a command or some rpm query formatting to getfor that exists as well, but I'm not aware of it, I'm just looking at the specfile. So, maybe we're looking at two bugs here: 1) The incorrect behavior with Requires(pre) and friends, and 2) The debug output which says "--> Finding unneeded leftover dependencies" even when clean_requirements_on_remove is False and it in fact is not (or should not) be finding those in that case. Maybe it's not actually doing that and just the confusing message should be removed. reported in libsolv: https://github.com/openSUSE/libsolv/issues/126 *** Bug 1310840 has been marked as a duplicate of this bug. *** Meaning of Requires(pre) in email https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/NGPJMDUVEW65TQSD262G6OQF6P6LWWRM/ it emphasizes that this is a bug: Any package that is specified in `Requires(pre)` could be freely removed after installation. *** Bug 1239322 has been marked as a duplicate of this bug. *** This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component. Created attachment 1180540 [details] dnf remove gstreamer1-plugins-base Were there any changes in this regard? Current list taken from rawhide regarding bug #1310840 seems a bit different (different packages involved) but still quite big. commit 6afc1750d97d0297cb397278c20b962bc3b24209 Author: Michael Schroeder <mls> Date: Thu Apr 7 17:09:14 2016 +0200 Implement filtering of Requires(pre,post) for installed packages Should fix issue#126. Except that we need to support it in the testcases as well. Looks like this has been fixed. If not - reopen please. (In reply to Igor Gnatenko from comment #14) > commit 6afc1750d97d0297cb397278c20b962bc3b24209 > Author: Michael Schroeder <mls> > Date: Thu Apr 7 17:09:14 2016 +0200 > > Implement filtering of Requires(pre,post) for installed packages > > Should fix issue#126. Except that we need to support it in > the testcases as well. > > > Looks like this has been fixed. If not - reopen please. This patch landed in libsolv 0.6.20, right? Previous report was made with libsolv-0.6.22-1.fc25.x86_64. (In reply to srakitnican from comment #15) > (In reply to Igor Gnatenko from comment #14) > > commit 6afc1750d97d0297cb397278c20b962bc3b24209 > > Author: Michael Schroeder <mls> > > Date: Thu Apr 7 17:09:14 2016 +0200 > > > > Implement filtering of Requires(pre,post) for installed packages > > > > Should fix issue#126. Except that we need to support it in > > the testcases as well. > > > > > > Looks like this has been fixed. If not - reopen please. > > This patch landed in libsolv 0.6.20, right? > > Previous report was made with libsolv-0.6.22-1.fc25.x86_64. it's different issue - open new bug. rpm -q libsmbclient --requires | grep samba-common samba-common = 2:4.4.5-1.fc23 dnf remove samba-common no libsmbclient on list to be removed , test successful :-) (In reply to Sergio Monteiro Basto from comment #17) > rpm -q libsmbclient --requires | grep samba-common > samba-common = 2:4.4.5-1.fc23 > > dnf remove samba-common > > no libsmbclient on list to be removed , test successful :-) this is not something what this bug is about. Please, if you found bug - open new one instead of writing here 5 random bugs/notabugs. (In reply to Igor Gnatenko from comment #18) > (In reply to Sergio Monteiro Basto from comment #17) > > rpm -q libsmbclient --requires | grep samba-common > > samba-common = 2:4.4.5-1.fc23 > > > > dnf remove samba-common > > > > no libsmbclient on list to be removed , test successful :-) > > this is not something what this bug is about. > > Please, if you found bug - open new one instead of writing here 5 random > bugs/notabugs. The opposite , we find this bug with the example above and now it is fixed , ( test successful ) Thanks, |