From bda5d2a45c8dcc9bbeb71cddeef930ffa6a47f23 Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Fri, 1 Jul 2022 08:33:16 +0100 Subject: [PATCH] installworld: improve portability of ldd use b3b462229f97 added a case statement to ignore lines containing strings in square brackets such as "[vdso]" and "[preloaded]". On MacOS Monterey where /bin/sh may be zsh, this fails with: /bin/sh: -c: line 0: syntax error near unexpected token `;;' Invoke grep in the pipeline to remove such lines instead. Reviewed by: emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D35618 --- Makefile.inc1 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index 20c537512273..12bb892dfd58 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1368,12 +1368,8 @@ distributeworld installworld stageworld: _installcheck_world .PHONY fi; \ done); \ if [ -z "${CROSSBUILD_HOST}" ] ; then \ - libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | \ + libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | grep -Ev '\[.*]' | \ while read line; do \ - case $$line in \ - "["*"]") \ - continue;; \ - esac; \ set -- $$line; \ if [ "$$2 $$3" != "not found" ]; then \ echo $$2; \