[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