[pacman-dev] [PATCH 2/2] makepkg: fix false error with multiple libdeps

Florian Pritz bluewind at xinu.at
Sun Mar 4 15:19:44 EST 2012


With multiple items in $libdepends this check only worked for the first
one, everything after this returned an error. This was probably an issue
with \s being treated wrong.

Fix-by: Dave Reisner <dreisner at archlinux.org>
Signed-off-by: Florian Pritz <bluewind at xinu.at>
---
This should be applied to both master and maint.

 scripts/makepkg.sh.in |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 9301730..0ca7513 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1189,7 +1189,8 @@ write_pkginfo() {
 		if [[ $it = *.so ]]; then
 			# check if the entry has been found by find_libdepends
 			# if not, it's unneeded; tell the user so he can remove it
-			if [[ ! $libdepends =~ (^|\s)${it}=.* ]]; then
+			printf -v re '(^|\s)%s=.*' "$it"
+			if [[ ! $libdepends =~ $re ]]; then
 				error "$(gettext "Cannot find library listed in %s: %s")" "'depends'" "$it"
 				return 1
 			fi
-- 
1.7.9.2


More information about the pacman-dev mailing list