Following patch changes pkg_add to return a error code, if a package name is wrong.
diff --git a/usr.sbin/pkg_add/OpenBSD/AddDelete.pm b/usr.sbin/pkg_add/OpenBSD/AddDelete.pm
index 7a968cbf05d..39bee874ff1 100644 --- a/usr.sbin/pkg_add/OpenBSD/AddDelete.pm +++ b/usr.sbin/pkg_add/OpenBSD/AddDelete.pm @@ -403,12 +403,13 @@ sub check_root sub choose_location { my ($state, $name, $list, $is_quirks) = @_; if (@$list == 0) { if (!$is_quirks) { $state->errsay("Can't find #1", $name); + $state->{bad}++; $state->run_quirks( sub { my $quirks = shift; $quirks->filter_obsolete([$name], $state); }); } Is it OK? On 10/18/21 16:53, Yuichiro NAITO wrote:
Hi, I have a question about exit status of pkg_add command. When I wrote a package install script which included typo in a package name (of course it's my fault), the script didn't stop in spite of `set -e`. Because pkg_add command returns 0 even if a package name is wrong. Is this exit status intended or design policy of pkg_add command? If not, I want a error status getting returned. It will save my time to look for a typo or similar bug. I can't see 'EXIT STATUS' section in the pkg_add manual of OpenBSD 7.0. So, I e-mailed this question.
-- Yuichiro NAITO (naito.yuich...@gmail.com)