Description of problem:
After switching on the --best option by default, I'm not able to install conditional package from group in case that the same package exists in higher version in a module. Module is not enabled and doesn't have any default stream.
On top of this, when the group package is not conditional but default or mandatory, group gets installed without any problem, the right ursine package is selected.
Setup:
there exists wget-0:1.19.5-5.fc29.x86_64 in enabled ursine repo
in modular repo:
comps:
<group>
<id>dnf-ci-testgroup</id>
<default>false</default>
<uservisible>true</uservisible>
<display_order>1024</display_order>
<name>DNF-CI-Testgroup</name>
<description>Testgroup for DNF CI testing</description>
<packagelist>
<packagereq type="conditional" requires="filesystem-content">wget</packagereq>
</packagelist>
</group>
modules.yaml goes like this, no defaults are defined:
---
data:
description: Testing module without defaults defined
name: DnfCiModuleNoDefaults
stream: development
summary: Testing module without defaults
version: 1
artifacts:
rpms:
- wget-0:1.20.5-5.module.x86_64
document: modulemd
version: 2
...
# dnf install filesystem-content
# dnf group install DNF-CI-Testgroup
Error:
Problem: problem with installed package filesystem-content-3.9-2.fc29.x86_64
- cannot install the best candidate for the job
- package wget-1.20.5-5.module.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
# dnf repoquery wget
Last metadata expiration check: 0:00:47 ago on Pá 8. února 2019, 10:45:20 CET.
wget-0:1.19.5-5.fc29.src
wget-0:1.19.5-5.fc29.x86_64
wget-0:1.20.5-5.module.src
Version-Release number of selected component (if applicable):
dnf stack from nightly copr repo:
$ rpm -q dnf libdnf
dnf-4.1.0-0.24g2594b59f.fc29.noarch
libdnf-0.26.0-0.27g9352e595.fc29.x86_64
How reproducible:
deterministic
Steps to Reproduce:
1. checkout "turbo" branch from ci-dnf-stack repo
2. cd dnf-behave-tests
3. ./run-tests -i group.feature -n 'Install condidional package if required package has been installed'
Actual results:
Error:
Problem: problem with installed package filesystem-content-3.9-2.fc29.x86_64
- cannot install the best candidate for the job
- package wget-1.20.5-5.module.x86_64 is excluded
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
Expected results:
Group gets installed without any error.