mirror of
https://github.com/xcat2/xcat-core.git
synced 2026-09-04 20:17:55 +00:00
42e4c160d4
Both builders defined their own sh() and usage(). The usage() copies differed only in spelling, but the sh() copies disagreed about what they return: buildrpms.pl shifted system()'s result into an exit code, builddebs.pl returned the raw wait status. The same command therefore reported 1 from one builder and 256 from the other, and a caller comparing sh() against a particular code was correct in only one of them. Both current call sites only test for zero, so nothing was broken yet. BuildUtils.pm now provides both, shifting the status as buildrpms.pl did. pod2usage reads the POD of the running program, so each builder keeps its own help text while sharing how it is printed and the status it exits with. sh() echoed the command under the builder's own --verbose flag, which a shared function cannot see. $BuildUtils::VERBOSE is set once after option parsing instead of threading the flag through every call site. Covered by tests: that sh() returns the exit code rather than the wait status it is packed into, and that a verbose run still echoes the command. Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>