1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

dnf module load/init dnf pkg mgr plugins properly (#49278)

* dnf module load/init dnf pkg mgr plugins properly

Fixes #45940

Signed-off-by: Adam Miller <admiller@redhat.com>
This commit is contained in:
Adam Miller 2018-11-30 12:00:33 -06:00 committed by Toshio Kuratomi
parent 8ff13db17c
commit 378cc9668c
2 changed files with 12 additions and 10 deletions

View file

@ -0,0 +1,3 @@
---
minor_changes:
- "dnf module properly load and initialize dnf package manager plugins"

View file

@ -495,15 +495,11 @@ class DnfModule(YumDnf):
def _configure_base(self, base, conf_file, disable_gpg_check, installroot='/'):
"""Configure the dnf Base object."""
if self.enable_plugin and self.disable_plugin:
base.init_plugins(self.disable_plugin, self.enable_plugin)
elif self.enable_plugin:
base.init_plugins(enable_plugins=self.enable_plugin)
elif self.disable_plugin:
base.init_plugins(self.disable_plugin)
conf = base.conf
# Read the configuration file
conf.read()
# Turn off debug messages in the output
conf.debuglevel = 0
@ -563,9 +559,6 @@ class DnfModule(YumDnf):
# Default in dnf upstream is true
conf.clean_requirements_on_remove = self.autoremove
# Read the configuration file
conf.read()
def _specify_repositories(self, base, disablerepo, enablerepo):
"""Enable and disable repositories matching the provided patterns."""
base.read_all_repos()
@ -588,6 +581,12 @@ class DnfModule(YumDnf):
base = dnf.Base()
self._configure_base(base, conf_file, disable_gpg_check, installroot)
self._specify_repositories(base, disablerepo, enablerepo)
try:
base.init_plugins(set(self.disable_plugin), set(self.enable_plugin))
base.pre_configure_plugins()
base.configure_plugins()
except AttributeError:
pass # older versions of dnf didn't require this and don't have these methods
try:
base.fill_sack(load_system_repo='auto')
except dnf.exceptions.RepoError as e: