diff options
author | Mark Ferrell <major@homeonderanged.org> | 2014-01-28 07:02:01 -0800 |
---|---|---|
committer | Mark Ferrell <major@homeonderanged.org> | 2014-01-28 07:05:27 -0800 |
commit | 4a2c52aa7548b918b07628201c99b7a147dcbb3c (patch) | |
tree | 50531bea05e43c59e6183d3a68b918a2e92d190e | |
parent | 3b8e66b1511fb64e17965c07c84c0f62b202e8a9 (diff) |
Added new dependancy options to build-query
* Changed --depends to --rdepends
* Changed --build-deps to --bdepends
* Added recursive (transitive closure?) dependancy resolution of packages,
these are queriable via --rdeps-all and --bdeps-all
-rwxr-xr-x | builder/build-query | 54 |
1 files changed, 48 insertions, 6 deletions
diff --git a/builder/build-query b/builder/build-query index cf4a7e4..6003c1f 100755 --- a/builder/build-query +++ b/builder/build-query @@ -34,12 +34,50 @@ parse_category() printf '%s' "${1%/*}" } +RECURSE_RDEPENDS='false' +recurse_bdeps() +{ + if ${RECURSE_RDEPENDS}; then + set -- "${@}" $(build query -R "${1}") + else + set -- "${@}" $(build query -B "${1}") + fi + + eval query_recursive_var="$(echo "${1}"|sed -e 's,[_-/],_,g')" + eval query_recursive_val="\$${query_recursive_var}" + if ! test -z "${query_recursive_val}"; then + unset query_recursive_val + unset query_recursive_var + return + fi + unset query_recursive_val + + echo "${1}" + eval "${query_recursive_var}='${*}'" + unset query_recursive_var + + shift + for query_recursive_pkg; do + recurse_bdeps "${query_recursive_pkg}" + done + unset + unset query_recursive_pkg +} +recurse_rdeps() +{ + RECURSE_RDEPENDS='true' + recurse_bdeps "${@}" +} + + QUERY_ACTION="summary" while [ "$#" -gt "0" ]; do case "${1}" in - (-B|-build-deps|--build-deps) - QUERY_ACTION="bdeps";; + (-B|-bdepends|--bdepends) + QUERY_ACTION="bdepends";; + (-bdeps-all|--bdeps-all) + QUERY_ACTION="bdeps_all";; (-c|-category|--category) QUERY_ACTION="category";; (-d|-description|--description) @@ -66,8 +104,10 @@ while [ "$#" -gt "0" ]; do QUERY_ACTION="pkgdir";; (-r|-rulefile|--rulesfile) QUERY_ACTION="rulesfile";; - (-R|-depends|--depends) - QUERY_ACTION="rdeps";; + (-R|-rdepends|--rdepends) + QUERY_ACTION="rdepends";; + (-rdeps-all|--rdeps-all) + QUERY_ACTION="rdeps_all";; (-s|-srcdir|--srcdir) QUERY_ACTION="srcdir";; (-S|-summary|--summary) @@ -212,8 +252,10 @@ export S case "${QUERY_ACTION}" in (srcdir) echo "${S}";; -(bdeps) echo "$(echo ${BDEPENDS})";; -(rdeps) echo "$(echo ${RDEPENDS})";; +(bdepends) echo "$(echo ${BDEPENDS})";; +(bdeps_all) recurse_bdeps ${BDEPENDS};; +(rdepends) echo "$(echo ${RDEPENDS})";; +(rdeps_all) recurse_rdeps ${RDEPENDS};; (descr) echo "${DESCRIPTION}";; (version) echo "${VERSION}";; (patches) echo "${PATCHES}";; |