git: 0aa4a9fc859f - main - bootstrap-packages.sh escape ++
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 16 Oct 2024 16:27:14 UTC
The branch main has been updated by sjg: URL: https://cgit.FreeBSD.org/src/commit/?id=0aa4a9fc859fd43343e2d7b5094a50d1ca0948eb commit 0aa4a9fc859fd43343e2d7b5094a50d1ca0948eb Author: Simon J. Gerraty <sjg@FreeBSD.org> AuthorDate: 2024-10-16 16:26:19 +0000 Commit: Simon J. Gerraty <sjg@FreeBSD.org> CommitDate: 2024-10-16 16:26:29 +0000 bootstrap-packages.sh escape ++ We need to escape + when egreping parent makefile too. Reviewed by: stevek --- targets/pseudo/bootstrap-packages/bootstrap-packages.sh | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/targets/pseudo/bootstrap-packages/bootstrap-packages.sh b/targets/pseudo/bootstrap-packages/bootstrap-packages.sh index 58b2843a9422..fa87b069f6da 100755 --- a/targets/pseudo/bootstrap-packages/bootstrap-packages.sh +++ b/targets/pseudo/bootstrap-packages/bootstrap-packages.sh @@ -118,13 +118,17 @@ end_options() { EOF } +no_plus() { + case "$1" in + *+*) echo "$1" | sed 's,+,\\\\+,g';; + *) echo "$1";; + esac +} + find_opt() { mf=$1 - sub=$2 + sub="`no_plus $2`" shift 2 - case "$sub" in - *+*) sub=`echo "$sub" | sed 's,+,\\\\+,g'`;; - esac egrep "$@" "^[^#].*[[:space:]]$sub([[:space:]]|\$)" $mf | tr '{' '\n' | sed -n 's,^MK_\([^}]*\).*,\1,p' | @@ -142,8 +146,9 @@ sort -t= -k2 "$@" | sed 's,/Makefile:PACKAGE=, ,' | bname=${reldir##*/} # check parent does not have it commented out # otherwise we should ignore it. + # if the parent makefile does not exist, we will skip it. pmf=$SRCTOP/$dname/Makefile - egrep -q "^[^#].*[[:space:]]$bname([[:space:]]|\$)" $pmf || continue + egrep -q "^[^#].*[[:space:]]`no_plus $bname`([[:space:]]|\$)" $pmf 2> /dev/null || continue : reldir=$reldir case "$reldir" in *lib/*) sub=${reldir#*lib/};;