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:
parent
8ff13db17c
commit
378cc9668c
2 changed files with 12 additions and 10 deletions
3
changelogs/fragments/dnf-fix-plugin-loading.yaml
Normal file
3
changelogs/fragments/dnf-fix-plugin-loading.yaml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
minor_changes:
|
||||||
|
- "dnf module properly load and initialize dnf package manager plugins"
|
|
@ -495,15 +495,11 @@ class DnfModule(YumDnf):
|
||||||
def _configure_base(self, base, conf_file, disable_gpg_check, installroot='/'):
|
def _configure_base(self, base, conf_file, disable_gpg_check, installroot='/'):
|
||||||
"""Configure the dnf Base object."""
|
"""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
|
conf = base.conf
|
||||||
|
|
||||||
|
# Read the configuration file
|
||||||
|
conf.read()
|
||||||
|
|
||||||
# Turn off debug messages in the output
|
# Turn off debug messages in the output
|
||||||
conf.debuglevel = 0
|
conf.debuglevel = 0
|
||||||
|
|
||||||
|
@ -563,9 +559,6 @@ class DnfModule(YumDnf):
|
||||||
# Default in dnf upstream is true
|
# Default in dnf upstream is true
|
||||||
conf.clean_requirements_on_remove = self.autoremove
|
conf.clean_requirements_on_remove = self.autoremove
|
||||||
|
|
||||||
# Read the configuration file
|
|
||||||
conf.read()
|
|
||||||
|
|
||||||
def _specify_repositories(self, base, disablerepo, enablerepo):
|
def _specify_repositories(self, base, disablerepo, enablerepo):
|
||||||
"""Enable and disable repositories matching the provided patterns."""
|
"""Enable and disable repositories matching the provided patterns."""
|
||||||
base.read_all_repos()
|
base.read_all_repos()
|
||||||
|
@ -588,6 +581,12 @@ class DnfModule(YumDnf):
|
||||||
base = dnf.Base()
|
base = dnf.Base()
|
||||||
self._configure_base(base, conf_file, disable_gpg_check, installroot)
|
self._configure_base(base, conf_file, disable_gpg_check, installroot)
|
||||||
self._specify_repositories(base, disablerepo, enablerepo)
|
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:
|
try:
|
||||||
base.fill_sack(load_system_repo='auto')
|
base.fill_sack(load_system_repo='auto')
|
||||||
except dnf.exceptions.RepoError as e:
|
except dnf.exceptions.RepoError as e:
|
||||||
|
|
Loading…
Reference in a new issue