util/checklibs.sh script doesn't work
It looks like the automatic formatting of shell scripts broke util/checklibs.sh on MacOS at least.
The script now has a case statement inside a $() and the shell doesn't cope with this. It doesn't find the correct ')' to end the $(). Converting the case to a if/elif/fi series addresses this.
% sh util/checklibs.sh
util/checklibs.sh: line 90: syntax error near unexpected token `;;'
util/checklibs.sh: line 90: ` isc_ntsecurity_getaccountgroups) continue ;; # internal'
%
diff --git a/util/checklibs.sh b/util/checklibs.sh
index ef96a9519b9..c30bb8be3b1 100755
--- a/util/checklibs.sh
+++ b/util/checklibs.sh
@@ -86,10 +86,11 @@ for lib in $(git ls-files -c lib \
| xargs grep "$pat" \
| sed -e 's/.*://' -e 's/(.*//' \
| while read p; do
- case $p in
- isc_ntsecurity_getaccountgroups) continue ;; # internal
- isc_socketmgr_getmaxsockets) p=isc__socketmgr_getmaxsockets ;;
- esac
+ if test "$p" = isc_ntsecurity_getaccountgroups; then
+ continue
+ elif test "$p" = isc_socketmgr_getmaxsockets; then
+ p=isc__socketmgr_getmaxsockets
+ fi
grep -q "^${p}"'$' $def && continue
test $lib = isc -a -f lib/isc/win32/libisc.def.exclude \
&& grep -q "^${p}"'$' lib/isc/win32/libisc.def.exclude \
Edited by Mark Andrews