[PATCH 1/8] Rename some dnf items to match yum
Brian C. Lane
bcl at redhat.com
Thu Jul 10 00:06:06 UTC 2014
We want to be able to have common routines in the PackagePayload class
so there needs to be a addRepo method that also adds to the kickstart
repo list and the requiredPackages and requiredGroups lists should be
named the same as well.
---
pyanaconda/packaging/__init__.py | 3 +++
pyanaconda/packaging/dnfpayload.py | 33 +++++++++++++++++++++------------
pyanaconda/packaging/yumpayload.py | 11 ++++-------
3 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/pyanaconda/packaging/__init__.py b/pyanaconda/packaging/__init__.py
index c101fba..ac2aeb2 100644
--- a/pyanaconda/packaging/__init__.py
+++ b/pyanaconda/packaging/__init__.py
@@ -690,6 +690,9 @@ class PackagePayload(Payload):
self.install_device = None
self._rpm_macros = []
+ self.requiredPackages = []
+ self.requiredGroups = []
+
# Used to determine which add-ons to display for each environment.
# The dictionary keys are environment IDs. The dictionary values are two-tuples
# consisting of lists of add-on group IDs. The first list is the add-ons specific
diff --git a/pyanaconda/packaging/dnfpayload.py b/pyanaconda/packaging/dnfpayload.py
index a5cd3d6..aaf59cb 100644
--- a/pyanaconda/packaging/dnfpayload.py
+++ b/pyanaconda/packaging/dnfpayload.py
@@ -189,11 +189,15 @@ class DNFPayload(packaging.PackagePayload):
raise packaging.PayloadError("unsupported payload type")
self._base = None
- self._required_groups = []
- self._required_pkgs = []
self._configure()
def _add_repo(self, ksrepo):
+ """Add a repo to the dnf repo object
+
+ :param ksrepo: Kickstart Repository to add
+ :type ksrepo: Kickstart RepoData object.
+ :returns: None
+ """
repo = dnf.repo.Repo(ksrepo.name, DNF_CACHE_DIR)
url = ksrepo.baseurl
mirrorlist = ksrepo.mirrorlist
@@ -206,6 +210,16 @@ class DNFPayload(packaging.PackagePayload):
self._base.repos.add(repo)
log.info("added repo: '%s'", ksrepo.name)
+ def addRepo(self, ksrepo):
+ """Add a repo to dnf and kickstart repo lists
+
+ :param ksrepo: Kickstart Repository to add
+ :type ksrepo: Kickstart RepoData object.
+ :returns: None
+ """
+ self._add_repo(ksrepo)
+ super(DNFPayload, self).addRepo(ksrepo)
+
def _apply_selections(self):
if self.data.packages.nocore:
log.info("skipping core group due to %%packages --nocore; system may not be complete")
@@ -230,10 +244,10 @@ class DNFPayload(packaging.PackagePayload):
except packaging.NoSuchGroup as e:
self._miss(e)
- for package in self._required_pkgs:
+ for package in self.requiredPackages:
self._install_package(package, required=True)
- for group in self._required_groups:
+ for group in self.requiredGroups:
self._select_group(group, required=True)
self._select_kernel_package()
@@ -344,11 +358,6 @@ class DNFPayload(packaging.PackagePayload):
self.disableRepo(id_)
@property
- def addOns(self):
- # addon repos via kickstart
- return [r.name for r in self.data.repo.dataList()]
-
- @property
def baseRepo(self):
# is any locking needed here as in the yumpayload?
repo_names = [constants.BASE_REPO_NAME] + self.DEFAULT_REPOS
@@ -543,8 +552,8 @@ class DNFPayload(packaging.PackagePayload):
def preInstall(self, packages=None, groups=None):
super(DNFPayload, self).preInstall()
- self._required_pkgs = packages
- self._required_groups = groups
+ self.requiredPackages = packages
+ self.requiredGroups = groups
def release(self):
pass
@@ -576,7 +585,7 @@ class DNFPayload(packaging.PackagePayload):
base_ksrepo = self.data.RepoData(
name=constants.BASE_REPO_NAME, baseurl=url,
mirrorlist=mirrorlist, noverifyssl=not sslverify)
- self._add_repo(base_ksrepo)
+ self.addRepo(base_ksrepo)
else:
log.debug("disabling ksdata method, doesn't provide a valid repo")
method.method = None
diff --git a/pyanaconda/packaging/yumpayload.py b/pyanaconda/packaging/yumpayload.py
index 9b75ffd..8080e71 100644
--- a/pyanaconda/packaging/yumpayload.py
+++ b/pyanaconda/packaging/yumpayload.py
@@ -171,9 +171,6 @@ class YumPayload(PackagePayload):
self._yum = None
self._setup = False
- self._requiredPackages = []
- self._requiredGroups = []
-
# base repo caching
self._base_repo = None
self._base_repo_lock = threading.RLock()
@@ -1373,10 +1370,10 @@ reposdir=%s
def selectRequiredPackages(self):
try:
- for package in self._requiredPackages:
+ for package in self.requiredPackages:
self._selectYumPackage(package, required=True)
- for group in self._requiredGroups:
+ for group in self.requiredGroups:
self._selectYumGroup(group, required=True)
except (NoSuchPackage, NoSuchGroup) as e:
self._handleMissing(e)
@@ -1386,8 +1383,8 @@ reposdir=%s
super(YumPayload, self).preInstall()
progressQ.send_message(_("Starting package installation process"))
- self._requiredPackages = packages
- self._requiredGroups = groups
+ self.requiredPackages = packages
+ self.requiredGroups = groups
self._addDriverRepos()
--
1.9.3
More information about the anaconda-patches
mailing list