From: "Brian C. Lane" bcl@redhat.com
Previously the 'halt' command resulted in KS_SHUTDOWN being set instead of KS_WAIT. --- pykickstart/commands/reboot.py | 23 +++++++++++++++++++++++ pykickstart/handlers/control.py | 8 ++++---- 2 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py index 391af14..ef246fd 100644 --- a/pykickstart/commands/reboot.py +++ b/pykickstart/commands/reboot.py @@ -77,3 +77,26 @@ class FC6_Reboot(FC3_Reboot): (opts, extra) = self.op.parse_args(args=args, lineno=self.lineno) self._setToSelf(self.op, opts) return self + +class F18_Reboot(FC6_Reboot): + removedKeywords = FC6_Reboot.removedKeywords + removedAttrs = FC6_Reboot.removedAttrs + + def __init__(self, writePriority=0, *args, **kwargs): + FC6_Reboot.__init__(self, writePriority, *args, **kwargs) + self.op = self._getParser() + + def __str__(self): + retval = FC6_Reboot.__str__(self).rstrip() + + if self.action == KS_WAIT: + retval += "# Halt after installation\nhalt\n" + + return retval + + def parse(self, args): + FC6_Reboot.parse(self, args) + if self.currentCmd == "halt": + self.action = KS_WAIT + return self + diff --git a/pykickstart/handlers/control.py b/pykickstart/handlers/control.py index bda3a5e..a24c8b7 100644 --- a/pykickstart/handlers/control.py +++ b/pykickstart/handlers/control.py @@ -904,7 +904,7 @@ commandMap = { "firstboot": firstboot.FC3_Firstboot, "graphical": displaymode.FC3_DisplayMode, "group": group.F12_Group, - "halt": reboot.FC6_Reboot, + "halt": reboot.F18_Reboot, "harddrive": method.F14_Method, "ignoredisk": ignoredisk.F14_IgnoreDisk, "install": upgrade.F11_Upgrade, @@ -920,15 +920,15 @@ commandMap = { "nfs": method.F14_Method, "part": partition.F18_Partition, "partition": partition.F18_Partition, - "poweroff": reboot.FC6_Reboot, + "poweroff": reboot.F18_Reboot, "raid": raid.F15_Raid, - "reboot": reboot.FC6_Reboot, + "reboot": reboot.F18_Reboot, "repo": repo.F15_Repo, "rescue": rescue.F10_Rescue, "rootpw": rootpw.F8_RootPw, "selinux": selinux.FC3_SELinux, "services": services.FC6_Services, - "shutdown": reboot.FC6_Reboot, + "shutdown": reboot.F18_Reboot, "skipx": skipx.FC3_SkipX, "sshpw": sshpw.F13_SshPw, "text": displaymode.FC3_DisplayMode,