diff --git a/apt-depend-check b/apt-depend-check new file mode 100755 index 0000000..f406429 --- /dev/null +++ b/apt-depend-check @@ -0,0 +1,33 @@ +#!/bin/bash + +parent_package="$1" +target_package="$2" # so far, this is unused + +function list_depends() { + package_name="$1" + prepend_string="$2" + + if [[ "$prepend_string" == '' ]]; then + prepend_string="$package_name" + fi + + depends_list="$(apt-cache depends "$package_name" | grep Depends | cut -d ' ' -f 4)" + if [[ $depends_list != '' ]]; then + for depend in $depends_list; do + if [[ "$depend" == "$target_package" ]]; then + echo "${prepend_string}>${depend}" + exit 0 + fi + done + for depend in $depends_list; do + if ! echo "$prepend_string" | grep -q "$depend"; then + list_depends "$depend" "${prepend_string}>${depend}" + fi + done + fi +} + +list_depends "$parent_package" + +# Output should look like this. +# package_name->dep_name->dep2_name