summaryrefslogtreecommitdiff
path: root/targets
diff options
context:
space:
mode:
authorSimon J. Gerraty <sjg@FreeBSD.org>2024-10-16 09:26:19 -0700
committerSimon J. Gerraty <sjg@FreeBSD.org>2024-10-16 09:26:29 -0700
commit0aa4a9fc859fd43343e2d7b5094a50d1ca0948eb (patch)
treec7704aecfe7a4986bc9d1f891588e714ac5be341 /targets
parentc5c0e79bb0ad0a1b9b9688aaf919826c4c386411 (diff)
bootstrap-packages.sh escape ++
We need to escape + when egreping parent makefile too. Reviewed by: stevek
Diffstat (limited to 'targets')
-rwxr-xr-xtargets/pseudo/bootstrap-packages/bootstrap-packages.sh15
1 files 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/};;