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