From bd62ff8580fce869c760a03b6d183da7bb916038 Mon Sep 17 00:00:00 2001 From: Đoàn Trần Công Danh Date: Mon, 7 Dec 2020 20:02:47 +0700 Subject: 99-pkglint-subpkgs: replace grep with case..esac On experience with 100 subpkgs, this change reduces execution time from 284ms to 4ms Closes: #27137 [via git-merge-pr] --- common/hooks/pre-pkg/99-pkglint-subpkgs.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/common/hooks/pre-pkg/99-pkglint-subpkgs.sh b/common/hooks/pre-pkg/99-pkglint-subpkgs.sh index fd1fee6c445..240d5ef0bc4 100644 --- a/common/hooks/pre-pkg/99-pkglint-subpkgs.sh +++ b/common/hooks/pre-pkg/99-pkglint-subpkgs.sh @@ -38,13 +38,17 @@ hook() { /subpackages/s/.*"//p s/".*//p }' $XBPS_SRCPKGDIR/$pkgname/template | - tr ' ' '\n' | sort)" + tr '\v\t\r\n' ' ')" for s in $subpkgs; do - grep -q "^$s$" <<< "$matches" || - msg_warn "${s}_package() defined but will never be built.\n" + case " $matches " in + *" $s "*) ;; + *) msg_warn "${s}_package() defined but will never be built.\n" ;; + esac done - grep -q "^$pkgname$" <<< "$matches" && - msg_warn "$pkgname is sourcepkg but is in subpackages=.\n" || : + case " $matches " in + *" $pkgname "*) + msg_warn "$pkgname is sourcepkg but is in subpackages=.\n" ;; + esac } -- cgit v1.2.3