[pacman-dev] [PATCH 4/7] libmakepkg: lint disallowed architecture specific variables
morganamilo
morganamilo at gmail.com
Fri Jun 8 18:18:56 UTC 2018
Variables such as 'pkgdesc_x86_64' are invalid, instead of ignoring them
raise an error.
Signed-off-by: morganamilo <morganamilo at gmail.com>
---
.../libmakepkg/lint_pkgbuild/variable.sh.in | 24 ++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
index 68512a62..b9264768 100644
--- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
@@ -69,6 +69,15 @@ lint_variable() {
fi
fi
done
+
+ for i in ${array[@]} ${string[@]}; do
+ v="${i}_${a}"
+ eval "keys=(\"\${!${v}[@]}\")"
+ if (( ${#keys[*]} > 0 )); then
+ error "$(gettext "%s_%s can not be architecture specific")" "$i" "$a"
+ ret=1
+ fi
+ done
done
for i in ${string[@]}; do
@@ -93,6 +102,20 @@ lint_variable() {
for a in ${arch[@]}; do
[[ $a == "any" ]] && continue
+ for i in ${string[@]}; do
+ if extract_function_variable "package_$pkg" "${i}_${a}" 0 out; then
+ error "$(gettext "%s_%s can not be architecture specific")" "$i" "$a"
+ ret=1
+ fi
+ done
+
+ for i in ${array[@]}; do
+ if extract_function_variable "package_$pkg" "${i}_${a}" 1 out; then
+ error "$(gettext "%s_%s can not be architecture specific")" "$i" "$a"
+ ret=1
+ fi
+ done
+
for i in ${no_overide_string[@]}; do
if extract_function_variable "package_$pkg" "${i}_${a}" 0 out; then
error "$(gettext "%s_%s can not be overridden in package function")" "$i" "$a"
@@ -108,7 +131,6 @@ lint_variable() {
done
-
for i in ${arch_array[@]}; do
if extract_function_variable "package_$pkg" "${i}_${a}" 0 out; then
error "$(gettext "%s_%s should be an array")" "$i" "$a"
--
2.17.1
More information about the pacman-dev
mailing list