aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Ferrell <major@homeonderanged.org>2014-01-28 07:02:01 -0800
committerMark Ferrell <major@homeonderanged.org>2014-01-28 07:05:27 -0800
commit4a2c52aa7548b918b07628201c99b7a147dcbb3c (patch)
tree50531bea05e43c59e6183d3a68b918a2e92d190e
parent3b8e66b1511fb64e17965c07c84c0f62b202e8a9 (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-xbuilder/build-query54
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}";;