#!/bin/bash package_list=$(apt-cache policy "php-horde-*" | grep "^[a-z]" | cut -d: -f1) seen_file=$(mktemp) level=0 while [ -n "${package_list}" ]; do echo "### Dependency Level ${level} ###" remaining_packages= for pkg in ${package_list}; do depends=$(apt-cache rdepends "${pkg}" \ --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances \ | grep "^ php-horde-" | sort | uniq \ | grep -vwFf "${seen_file}") if [ -z "${depends}" ]; then echo "${pkg}" echo "${pkg}" >> "${seen_file}" else remaining_packages="${remaining_packages} ${pkg}" fi done if [ "${package_list}" = "${remaining_packages}" ]; then echo echo "### Error - Could not untangle dependencies: ###" echo "${remaining_packages}" exit 1 fi package_list="${remaining_packages}" level=$(( level + 1 )) echo echo done