The change was first made in the SPARC tree since the notions of
"halt" and "power off" are very different. On a SPARC, "halt" returns
the system to monitor mode while "power off" shuts off the
system. Many other systems make the same distinction.
As a temporary fix, change the call to the reboot() system call in
your halt program to the following and recompile:
#include <linux/reboot.h>
...
reboot(LINUX_REBOOT_MAGIC1, LINUX_REBOOT_MAGIC2,
LINUX_REBOOT_CMD_POWER_OFF);
And name this new binary "poweroff" or something close.
What should really happen is that the SysVInit maintainer whoever he
is should add a "power down" runlevel just like most other Unix
systems like Solaris have.
Tom