mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 00:08:50 -05:00
makepkg: escape closing bash array paren for awk
The closing parenthesis of bash arrays needs to be escaped in the ending address of awk expressions in order to play nicely with implementations of awk other than gawk. This change provides compatibility with gawk, nawk and mawk. Signed-off-by: Dave Reisner <d@falconindy.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
eb93955477
commit
bd98b93a6e
@ -1223,7 +1223,7 @@ check_sanity() {
|
||||
fi
|
||||
|
||||
local provides_list
|
||||
eval $(awk '/^[[:space:]]*provides=/,/)/' "$BUILDFILE" | sed "s/provides=/provides_list+=/")
|
||||
eval $(awk '/^[[:space:]]*provides=/,/\)/' "$BUILDFILE" | sed "s/provides=/provides_list+=/")
|
||||
for i in ${provides_list[@]}; do
|
||||
if [[ $i != ${i//</} || $i != ${i//>/} ]]; then
|
||||
error "$(gettext "Provides array cannot contain comparison (< or >) operators.")"
|
||||
@ -1232,7 +1232,7 @@ check_sanity() {
|
||||
done
|
||||
|
||||
local backup_list
|
||||
eval $(awk '/^[[:space:]]*backup=/,/)/' "$BUILDFILE" | sed "s/backup=/backup_list+=/")
|
||||
eval $(awk '/^[[:space:]]*backup=/,/\)/' "$BUILDFILE" | sed "s/backup=/backup_list+=/")
|
||||
for i in "${backup_list[@]}"; do
|
||||
if [[ ${i:0:1} = "/" ]]; then
|
||||
error "$(gettext "Backup entry should not contain leading slash : %s")" "$i"
|
||||
@ -1241,7 +1241,7 @@ check_sanity() {
|
||||
done
|
||||
|
||||
local optdepends_list
|
||||
eval $(awk '/^[[:space:]]*optdepends=/,/)/' "$BUILDFILE" | sed "s/optdepends=/optdepends_list+=/")
|
||||
eval $(awk '/^[[:space:]]*optdepends=/,/\)/' "$BUILDFILE" | sed "s/optdepends=/optdepends_list+=/")
|
||||
for i in "${optdepends_list[@]}"; do
|
||||
local pkg=${i%%:*}
|
||||
if [[ ! $pkg =~ ^[[:alnum:]\>\<\=\.\+\_\-]+$ ]]; then
|
||||
@ -1264,7 +1264,7 @@ check_sanity() {
|
||||
|
||||
local valid_options=1
|
||||
local known kopt options_list
|
||||
eval $(awk '/^[[:space:]]*options=/,/)/' "$BUILDFILE" | sed "s/options=/options_list+=/")
|
||||
eval $(awk '/^[[:space:]]*options=/,/\)/' "$BUILDFILE" | sed "s/options=/options_list+=/")
|
||||
for i in ${options_list[@]}; do
|
||||
known=0
|
||||
# check if option matches a known option or its inverse
|
||||
|
Loading…
Reference in New Issue
Block a user