| Summary: | Bug in dependency resolution | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Patrick Uiterwijk <puiterwijk> | ||||||
| Component: | rpm-ostree | Assignee: | Colin Walters <walters> | ||||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
| Severity: | unspecified | Docs Contact: | |||||||
| Priority: | unspecified | ||||||||
| Version: | 25 | CC: | awilliam, mattdm, walters | ||||||
| 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: | 2017-11-03 15:45:54 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: | |||||||
| Attachments: |
|
||||||||
|
Description
Patrick Uiterwijk
2016-04-16 02:12:32 UTC
firewalld `Requires: iptables`, so I'm not sure what's going on offhand. Although I don't see firewalld in your input set? Created attachment 1148230 [details]
Generated treefile for 2016-04-15
firewalld is in the "core" comps group. The attached treefile is the full treefile that's passed on to rpm-ostree compose after being run through https://github.com/puiterwijk/puiterwijk-Atomic/blob/a5dbcd1121f836119f7ba4b20ed303af4247544b/treefile-expander.py Ah...you could have mentioned you have a large partial reimplementation of the frontend of rpm-ostree running before it =) So it's hard to say, but e.g. the depsolver seems to ignore broken packages? Needs debugging. "large partial reimplementation of the frontend"? All this script does is expand the @-groups in the treefile, something that rpm-ostree explicitly doesn't do, and other than removing lines that start with # is the only thing that the script does :-) That last attachment is the final treefile that I fed directly into rpm-ostree compose, resulting to the compose log in the first comment. Do you need any more information from me at this point? puiterwijk mentioned this to me, and we noticed there's some...oddness in the iptables spec. It has an 'iptables-services' subpackage, with these lines:
%package services
Summary: iptables and ip6tables services for iptables
Group: System Environment/Base
Requires: %{name} = %{version}-%{release}
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
# provide and obsolete old main package
Provides: %{name} = 1.4.16.1
Obsoletes: %{name} < 1.4.16.1
I think that "Provides: %{name} = 1.4.16.1" is clearly bunk and should go. If the intent is to make sure that updates from older versions install both iptables and iptables-services but newer installs do not require iptables-services , the correct way to do this is just to have *both* the main package and services do:
Obsoletes: %{name} < 1.4.16.1
however, ultimately, the services package's "Requires: %{name} = %{version}-%{release}" should be honored - even though it itself provides "iptables", it doesn't provide it in the correct version-release, so it should still pull in the real 'iptables' packages. I can see this mess confusing some dependency solver or other, though.
Might be related to #1327786 This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle. Changing version to '25'. I think this one is fixed, or at least...not a bug in rpm-ostree. Since this was reported though we now correctly handle Provides etc: https://github.com/projectatomic/rpm-ostree/pull/513 |