[PATCH] add --extlinux option

mattdm at fedoraproject.org mattdm at fedoraproject.org
Wed May 8 15:04:40 UTC 2013


From: Matthew Miller <mattdm at mattdm.org>

---
 pykickstart/commands/bootloader.py | 23 +++++++++++++++++++++++
 pykickstart/handlers/control.py    |  2 +-
 tests/commands/bootloader.py       |  9 +++++++++
 3 files changed, 33 insertions(+), 1 deletion(-)

diff --git a/pykickstart/commands/bootloader.py b/pykickstart/commands/bootloader.py
index 0eb2a1b..32035cf 100644
--- a/pykickstart/commands/bootloader.py
+++ b/pykickstart/commands/bootloader.py
@@ -307,3 +307,26 @@ class RHEL6_Bootloader(F12_Bootloader):
         op.add_option("--iscrypted", dest="isCrypted", action="store_true", default=False)
         op.add_option("--md5pass", action="callback", callback=password_cb, nargs=1, type="string")
         return op
+
+class F19_Bootloader(F18_Bootloader):
+    removedKeywords = F18_Bootloader.removedKeywords
+    removedAttrs = F18_Bootloader.removedAttrs
+
+    def __init__(self, writePriority=10, *args, **kwargs):
+        F18_Bootloader.__init__(self, writePriority, *args, **kwargs)
+
+        self.extlinux = kwargs.get("extlinux", False)
+
+    def _getArgsAsStr(self):
+        ret = F18_Bootloader._getArgsAsStr(self)
+
+        if self.extlinux:
+            ret += " --extlinux"
+
+        return ret
+
+    def _getParser(self):
+        op = F18_Bootloader._getParser(self)
+        op.add_option("--extlinux", dest="extlinux", action="store_true",
+                      default=False)
+        return op
diff --git a/pykickstart/handlers/control.py b/pykickstart/handlers/control.py
index 1993478..e77e7e4 100644
--- a/pykickstart/handlers/control.py
+++ b/pykickstart/handlers/control.py
@@ -950,7 +950,7 @@ commandMap = {
         "authconfig": authconfig.FC3_Authconfig,
         "autopart": autopart.F18_AutoPart,
         "autostep": autostep.FC3_AutoStep,
-        "bootloader": bootloader.F18_Bootloader,
+        "bootloader": bootloader.F19_Bootloader,
         "btrfs": btrfs.F17_BTRFS,
         "cdrom": method.F18_Method,
         "clearpart": clearpart.F17_ClearPart,
diff --git a/tests/commands/bootloader.py b/tests/commands/bootloader.py
index 8e916a6..0ffa10c 100644
--- a/tests/commands/bootloader.py
+++ b/tests/commands/bootloader.py
@@ -148,5 +148,14 @@ class RHEL6_TestCase(F12_TestCase):
         self.assert_parse("bootloader --password=blahblah --iscrypted", "bootloader --location=mbr --password=\"blahblah\" --iscrypted\n")
         self.assert_parse("bootloader --md5pass=blahblah", "bootloader --location=mbr --password=\"blahblah\" --iscrypted\n")
 
+class F19_TestCase(F18_TestCase):
+    def runTest(self, iscrypted=False):
+        # run parent tests
+        F18_TestCase.runTest(self, iscrypted=iscrypted)
+
+        self.assert_parse("bootloader --location=mbr --timeout=5 --append=\"rhgb quiet\"")
+        self.assert_parse("bootloader --location=mbr --timeout=5 --extlinux --append=\"rhgb quiet\"")
+
+
 if __name__ == "__main__":
     unittest.main()
-- 
1.8.2.1



More information about the anaconda-patches mailing list