#!/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
