Hello Antoine, Antoine Jacoutot wrote on Mon, Dec 07, 2020 at 01:01:27PM +0100:
> I just tested this change and it seems to work: I did not repeat my testing, but here is some quick feedback purely from code inspection: The proposed code change makes sense to me. The proposed manual page text might allow the misconception that the tool will always exit 2 if no additional patch was installed, including when -c, -l, or -r was specified. I think a slightly more explicit wording might make such a misunderstanding less likely, for example: .Sh EXIT STATUS .Ex -std syspatch In particular, 2 indicates that applying patches was requested but no additional patch was installed. With non-standard meanings of exit codes, i think it is worthwhile to be as precise as possible. Yours, Ingo > Index: syspatch.8 > =================================================================== > RCS file: /cvs/src/usr.sbin/syspatch/syspatch.8,v > retrieving revision 1.21 > diff -u -p -r1.21 syspatch.8 > --- syspatch.8 25 Jul 2020 15:45:44 -0000 1.21 > +++ syspatch.8 7 Dec 2020 11:58:06 -0000 > @@ -64,6 +64,7 @@ of installed patches. > .El > .Sh EXIT STATUS > .Ex -std syspatch > +2 indicates that no additional patch was installed. > .Sh SEE ALSO > .Xr signify 1 , > .Xr installurl 5 , > Index: syspatch.sh > =================================================================== > RCS file: /cvs/src/usr.sbin/syspatch/syspatch.sh,v > retrieving revision 1.166 > diff -u -p -r1.166 syspatch.sh > --- syspatch.sh 27 Oct 2020 17:42:05 -0000 1.166 > +++ syspatch.sh 7 Dec 2020 11:58:06 -0000 > @@ -320,6 +320,7 @@ if ((OPTIND == 1)); then > [[ -f ${_D}/rollback.tgz ]] || rm -r ${_D} > done > _PATCHES=$(ls_missing) # can't use errexit in a for loop > + [[ -n ${_PATCHES} ]] || exit 2 > for _PATCH in ${_PATCHES}; do > apply_patch ${_OSrev}-${_PATCH} > _PATCH_APPLIED=true