diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2018-10-06 00:42:09 +0300 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2018-10-19 15:18:13 +0300 |
commit | 152bab8eb855ac20cb4cc7cde88985f6b8574242 (patch) | |
tree | ee7de13003a1cc117df4617ea40a39cf4990503a | |
parent | cf976c90ae418db9e708747bfdd9fd125bb910ee (diff) | |
download | abuild-152bab8eb855ac20cb4cc7cde88985f6b8574242.tar.bz2 abuild-152bab8eb855ac20cb4cc7cde88985f6b8574242.tar.xz |
abuild: filter_deps function
-rw-r--r-- | abuild.in | 30 |
1 files changed, 13 insertions, 17 deletions
@@ -1966,28 +1966,24 @@ trace_makedepends() { ' } -calcdeps() { - builddeps= - hostdeps= +filter_deps() { + local d= i + for i in $*; do + [ "$pkgname" = "${i%%[<>=]*}" ] && continue + list_has $i $d && continue + subpackages_has ${i%%[<>=]*} || d="$d $i" + done + echo $d +} +calcdeps() { if cross_compiling && [ -n "$makedepends_build" -o -n "$makedepends_host" ]; then - for i in $EXTRADEPENDS_BUILD $1 $makedepends_build; do - list_has $i $hostdeps && continue - builddeps="$builddeps $i" - done - for i in $EXTRADEPENDS_HOST $EXTRADEPENDS_TARGET $makedepends_host; do - [ "$pkgname" = "${i%%[<>=]*}" ] && continue - list_has $i $hostdeps && continue - subpackages_has ${i%%[<>=]*} || hostdeps="$hostdeps $i" - done + builddeps=$(filter_deps $EXTRADEPENDS_BUILD $1 $makedepends_build) + hostdeps=$(filter_deps $EXTRADEPENDS_HOST $EXTRADEPENDS_TARGET $makedepends_host) else [ -z "$makedepends" ] && makedepends="$makedepends_build $makedepends_host" want_check && makedepends="$makedepends $checkdepends" - for i in $EXTRADEPENDS_BUILD $EXTRADEPENDS_HOST $1 $depends $makedepends; do - [ "$pkgname" = "${i%%[<>=]*}" ] && continue - list_has $i $builddeps && continue - subpackages_has ${i%%[<>=]*} || builddeps="$builddeps $i" - done + builddeps=$(filter_deps $EXTRADEPENDS_BUILD $EXTRADEPENDS_HOST $1 $depends $makedepends) hostdeps="$EXTRADEPENDS_TARGET" fi } |