aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Victorovich <yuri@FreeBSD.org>2023-06-02 06:40:46 +0000
committerYuri Victorovich <yuri@FreeBSD.org>2023-06-02 06:45:29 +0000
commit67ce8cec004c85caeee5a6e965bd10f872e1b895 (patch)
tree6a469bfa5bf153a24f63c670e9598a949511c1ba
parent497d44d493a6da072892b187d2091bedcc99eb3b (diff)
downloadports-67ce8cec004c85caeee5a6e965bd10f872e1b895.tar.gz
ports-67ce8cec004c85caeee5a6e965bd10f872e1b895.zip
Mk/Scripts: Fix the 'stripped' check from 'make check-plist' to report all unstripped files
Prior to this patch, the 'stripped' check always skipped the first unstripped file. It uses the "find [...] -exec sh -c 'readelf -S -- /dev/null $0 "$@" || :' -- {} +" command. When arguments are passed to shell like this: "sh -c 'script' arg1 arg2 arg3" - $@ within the script is assigned to 'arg2 arg3', and $0 is assigned to arg1. This is a quirk in how shells handle arguments in case when the script is passed using -c. This patch adds $0 to account for the first passed file. PR: 270398 Approved by: portmgr-lurkers (garga)
-rw-r--r--Mk/Scripts/qa.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/Mk/Scripts/qa.sh b/Mk/Scripts/qa.sh
index dd0f3440c299..a65d9475840e 100644
--- a/Mk/Scripts/qa.sh
+++ b/Mk/Scripts/qa.sh
@@ -211,7 +211,7 @@ stripped() {
# files with spaces are kept intact.
# Using readelf -h ... /ELF Header:/ will match on all ELF files.
find ${STAGEDIR} -type f ! -name '*.a' ! -name '*.o' \
- -exec sh -c 'readelf -S -- /dev/null "$@" || :' -- {} + 2>/dev/null | awk '
+ -exec sh -c 'readelf -S -- /dev/null $0 "$@" || :' -- {} + 2>/dev/null | awk '
/File:/ {sub(/File: /, "", $0); file=$0}
/[[:space:]]\.debug_info[[:space:]]*PROGBITS/ {print file}' |
while read -r f; do