Description of problem:
When '@ansible-node' is listed in kickstart %packages section, the libselinux-python package is not installed. However, if 'dnf groupinstall ansible-node' is run on the installed system, the package is installed.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. install a new system using kickstart with '@ansible-node' in %packages
2. do 'dnf groupinstall ansible-node' on an installed system
1. doesn't install the libselinux-python packages, 2. does.
libselinux-python installed because ansible doesn't work without it on systems where SELinux is enabled.
This is what 'dnf groupinfo ansible-node' says:
Group: Ansible node
Description: This group contains packages necessary for the system to be controlled by Ansible.
<packagereq type="conditional" requires="selinux-policy">libselinux-python</packagereq>
So it should work this way: if selinux-policy is getting installed, install libselinux-python.
Either selinux-policy is not getting installed at all and there's bug in `groupinstall` which ignores this requirement or selinux-policy is not referenced by any other comps group and there's bug in code which tells
We would need to get debugdata from you (see dnf.conf.Conf.debug_sover).
The latter bug is not trivial to fix, this would require to completely eliminate dependency on libcomps and use libsolv for that (actually, this is best approach anyway).
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.
Vratislav, can you please either upload debugdata as mentioned in comment 1 or report whether `selinux-policy` was already on the system?
(In reply to Honza Silhan from comment #3)
> Vratislav, can you please either upload debugdata as mentioned in comment 1
> or report whether `selinux-policy` was already on the system?
I can confirm that `selinux-policy` was installed during the installation, but `libselinux-python` wasn't while `@ansible-node` was.
I'm sorry, but I don't have enough time to get the debugdata now.
DNF should consider packages within transaction when dealing with "conditional" packages (the same as rich dependencies works). The best way to do this is replace group.xmls with metapackages.
I created a patch that could solve the issue (https://github.com/rpm-software-management/dnf/pull/928), but it needs to be tested first by people that use kickstart. I can provide a copr repo according to your request (distro). I have to point out that it works only if multilib_policy=best (default dnf setting). The patch does not change the behavior with multilib_policy=all . Please can anyone test the patch?
dnf-2.7.3-1.fc27 dnf-plugins-core-2.1.5-1.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2017-bb3b9775cc
dnf-2.7.3-1.fc26 dnf-plugins-core-2.1.5-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-0f2730a8c2
dnf-2.7.3-1.fc27, dnf-plugins-core-2.1.5-1.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-bb3b9775cc
dnf-2.7.3-1.fc26, dnf-plugins-core-2.1.5-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
dnf-2.7.3-1.fc27, dnf-plugins-core-2.1.5-1.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.