[master/f21/rhel7] Add authconfig and firewalld packages when used in ks (#1147687)

Brian C. Lane bcl at redhat.com
Mon Oct 13 23:00:13 UTC 2014


Only include the packages in the packageset if the commands are seen in
the kickstart.
---
 pyanaconda/install.py   |  6 ++++++
 pyanaconda/kickstart.py | 16 ++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/pyanaconda/install.py b/pyanaconda/install.py
index 0393204..e179b99 100644
--- a/pyanaconda/install.py
+++ b/pyanaconda/install.py
@@ -206,6 +206,10 @@ def doInstall(storage, payload, ksdata, instClass):
         with progress_report(_("Discovering realm to join")):
             ksdata.realm.setup()
 
+    # Check for additional packages
+    ksdata.authconfig.setup()
+    ksdata.firewall.setup()
+
     # make name resolution work for rpm scripts in chroot
     if flags.can_touch_runtime_system("copy /etc/resolv.conf to sysroot"):
         network.copyFileToPath("/etc/resolv.conf", iutil.getSysroot())
@@ -214,6 +218,8 @@ def doInstall(storage, payload, ksdata, instClass):
     # system is bootable and configurable, and some other packages in order
     # to finish setting up the system.
     packages = storage.packages + ksdata.realm.packages
+    packages += ksdata.authconfig.packages + ksdata.firewall.packages
+
     if not ksdata.bootloader.disabled:
         packages += storage.bootloader.packages
 
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index f1cde9a..b2f47a2 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -240,6 +240,14 @@ def refreshAutoSwapSize(storage):
 ###
 
 class Authconfig(commands.authconfig.FC3_Authconfig):
+    def __init__(self, *args, **kwargs):
+        commands.authconfig.FC3_Authconfig.__init__(self, *args, **kwargs)
+        self.packages = []
+
+    def setup(self):
+        if self.seen:
+            self.packages = ["authconfig"]
+
     def execute(self, *args):
         cmd = "/usr/sbin/authconfig"
         if not os.path.lexists(iutil.getSysroot()+cmd):
@@ -605,6 +613,14 @@ class Fcoe(commands.fcoe.RHEL7_Fcoe):
         return fc
 
 class Firewall(commands.firewall.F20_Firewall):
+    def __init__(self, *args, **kwargs):
+        commands.firewall.F20_Firewall.__init__(self, *args, **kwargs)
+        self.packages = []
+
+    def setup(self):
+        if self.seen:
+            self.packages = ["firewalld"]
+
     def execute(self, storage, ksdata, instClass):
         args = []
         # enabled is None if neither --enable or --disable is passed
-- 
1.9.3



More information about the anaconda-patches mailing list