[PATCH 09/10] Enable DNFPayload on specific triggers.

akozumpl at redhat.com akozumpl at redhat.com
Mon Aug 19 13:19:43 UTC 2013


From: Ales Kozumplik <ales at redhat.com>

DNFPayload is only enabled if 'dnf' is in /proc/cmdline or if '--dnf' is
passed to the Anaconda main executable.

Once DNFPayload is instantiated based on installclasses this commit can be
reverted.
---
 anaconda               | 4 ++++
 pyanaconda/__init__.py | 2 ++
 pyanaconda/flags.py    | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/anaconda b/anaconda
index be0a5d8..fd6c68c 100755
--- a/anaconda
+++ b/anaconda
@@ -302,6 +302,7 @@ def parseOptions(argv=None, cmdline=None):
     op.add_option("--leavebootorder", action="store_true", default=False)
     op.add_option("--noeject", action="store_false", dest="eject", default=True)
     op.add_option("--extlinux", action="store_true", default=False)
+    op.add_option("--dnf", action="store_true", default=False)
 
     # some defaults change based on cmdline flags
     if cmdline is not None:
@@ -839,6 +840,9 @@ if __name__ == "__main__":
     if opts.extlinux:
         flags.extlinux = opts.extlinux
 
+    if opts.dnf:
+        flags.dnf = opts.dnf
+
     # set flags
     flags.dmraid = opts.dmraid
     flags.mpath = opts.mpath
diff --git a/pyanaconda/__init__.py b/pyanaconda/__init__.py
index 9102d17..2e29329 100644
--- a/pyanaconda/__init__.py
+++ b/pyanaconda/__init__.py
@@ -120,6 +120,8 @@ class Anaconda(object):
                 elif self.ksdata.method.method == "liveimg":
                     from pyanaconda.packaging.livepayload import LiveImageKSPayload
                     klass = LiveImageKSPayload
+                elif flags.dnf:
+                    from pyanaconda.packaging.dnfpayload import DNFPayload as klass
                 else:
                     from pyanaconda.packaging.yumpayload import YumPayload
                     klass = YumPayload
diff --git a/pyanaconda/flags.py b/pyanaconda/flags.py
index 3c21de3..b119dad 100644
--- a/pyanaconda/flags.py
+++ b/pyanaconda/flags.py
@@ -69,6 +69,7 @@ class Flags(object):
         self.gpt = False
         self.leavebootorder = False
         self.testing = False
+        self.dnf = False
         # ksprompt is whether or not to prompt for missing ksdata
         self.ksprompt = True
         # parse the boot commandline
@@ -94,6 +95,9 @@ class Flags(object):
         if "gpt" in self.cmdline:
             self.gpt = True
 
+        if "dnf" in self.cmdline:
+            self.dnf = True
+
 cmdline_files = ['/proc/cmdline', '/run/install/cmdline',
                  '/run/install/cmdline.d/*.conf', '/etc/cmdline']
 class BootArgs(OrderedDict):
-- 
1.8.3.1



More information about the anaconda-patches mailing list