[release-branch.r58] build: use awk instead of giant egrep regexp
««« CL 4603056 / 655a4be3968f
build: use awk instead of giant egrep regexp
Avoids buggy version of egrep on some Macs.
R=r, dsymonds
CC=golang-dev
https://golang.org/cl/4603056
»»»
R=adg
CC=golang-dev
https://golang.org/cl/4695042
diff --git a/src/pkg/deps.bash b/src/pkg/deps.bash
index a8e3dfc..2095ec1 100755
--- a/src/pkg/deps.bash
+++ b/src/pkg/deps.bash
@@ -15,7 +15,13 @@
# Get list of directories from Makefile
dirs=$(gomake --no-print-directory echo-dirs)
-dirpat=$(echo $dirs C | sed 's/ /|/g; s/.*/^(&)$/')
+dirpat=$(echo $dirs C | awk '{
+ for(i=1;i<=NF;i++){
+ x=$i
+ gsub("/", "\\/", x)
+ printf("/^(%s)$/\n", x)
+ }
+}')
for dir in $dirs; do (
cd $dir || exit 1
@@ -30,7 +36,7 @@
deps=$(
sed -n '/^import.*"/p; /^import[ \t]*(/,/^)/p' $sources /dev/null |
cut -d '"' -f2 |
- egrep "$dirpat" |
+ awk "$dirpat" |
grep -v "^$dir\$" |
sed 's/$/.install/' |
sed 's;^C\.install;runtime/cgo.install;' |