There's some leftover cruft at the tail end of the halt script: HALTARGS="-i -d" if [ -f /poweroff -o ! -f /halt ]; then HALTARGS="$HALTARGS -p" fi The halt command does not have the -p option. This is superceeded by the poweroff command. Additionally, there's nothing that creates /poweroff. This should be an option to shutdown.
The halt command certainly claims to have a -p option. As for something that creates /poweroff, look at the SysVinit source. :)