From ec679e09b2d7b0a2bc84b2edb7dfa628b5295916 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Mon, 22 Dec 2014 10:34:53 +1000 Subject: Check architecture specific fields for VCS support Signed-off-by: Allan McRae --- scripts/makepkg.sh.in | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'scripts') diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 23e70cd3..60276f65 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -2896,7 +2896,7 @@ get_vcsclient() { } check_vcs_software() { - local ret=0 + local all_sources all_deps deps ret=0 if (( SOURCEONLY == 1 )); then # we will not download VCS sources @@ -2908,7 +2908,17 @@ check_vcs_software() { return $ret fi - for netfile in ${source[@]}; do + # we currently only use global depends/makedepends arrays for --syncdeps + for attr in depends makedepends; do + pkgbuild_get_attribute "$pkg" "$attr" 1 'deps' + all_deps+=("${deps[@]}") + + pkgbuild_get_attribute "$pkg" "${attr}_$CARCH" 1 'deps' + all_deps+=("${deps[@]}") + done + + get_all_sources_for_arch 'all_sources' + for netfile in ${all_sources[@]}; do local proto=$(get_protocol "$netfile") case $proto in @@ -2921,7 +2931,7 @@ check_vcs_software() { uninstalled="$(set +E; check_deps $client)" || exit 1 # if not installed, check presence in depends or makedepends if [[ -n "$uninstalled" ]] && (( ! NODEPS || ( VERIFYSOURCE && !DEP_BIN ) )); then - if ! in_array "$client" ${depends[@]} ${makedepends[@]}; then + if ! in_array "$client" ${alldeps[@]}; then error "$(gettext "Cannot find the %s package needed to handle %s sources.")" \ "$client" "${proto%%+*}" ret=1 -- cgit v1.2.3-70-g09d2