]> git.ipfire.org Git - ipfire-3.x.git/commitdiff
Added functions to buildscripts that can display dependencies.
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 21 Jun 2009 16:28:33 +0000 (18:28 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 21 Jun 2009 16:28:33 +0000 (18:28 +0200)
tools/make-interactive
tools/make-packages

index 4bb4f2efd835776b8156175da593aecf20bb910f..f5312b6877a59d90082620445d191891f1c707fc 100644 (file)
@@ -280,6 +280,12 @@ package*|pkg)
                list|show|ls)
                        pkg_list_packages
                        ;;
+               depedencies|deps)
+                       shift 2
+                       for pkg in $@; do
+                               printf "%-26s: %s\n" "${pkg}" "$(pkg_deps_solve ${pkg})"
+                       done
+                       ;;
                file*)
                        for i in $BASEDIR/lfs/*; do
                                pkg_files $i
@@ -350,6 +356,19 @@ rootfiles|rf)
        esac
        ;;
 
+tree)
+       shift
+       for pkg in $(for i in $BASEDIR/lfs/*; do echo ${i##*/}; done); do
+               to_build="${to_build} $(pkg_deps_solve ${pkg}) ${pkg}"
+       done
+       old_to_build=${to_build}
+       to_build=
+       for pkg in ${old_to_build}; do
+               grep -qw "${pkg}" <<<${to_build} || to_build="${to_build} ${pkg}"
+       done
+       echo $to_build
+       ;;
+
 vm|qemu)
        case "$2" in
                boot|start|run)
index c8cd4112a0c439cf3a91b6f38a3276dfcd79eda6..7344484f412d48907a5badb9378c0c9cc7b25b45 100644 (file)
@@ -147,6 +147,31 @@ pkg_deps() {
        )
 }
 
+pkg_build_deps() {
+       (
+               eval $(pkg_info ${1})
+               echo $PKG_BUILD_DEPS
+       )
+}
+
+pkg_deps_solve() {
+       local pkg=${1}
+       local dep
+       local deps
+       local old_deps
+
+       for dep in $(pkg_deps ${pkg}) $(pkg_build_deps ${pkg}); do
+               deps="$(pkg_deps_solve ${dep}) ${dep} ${deps}"
+       done
+
+       old_deps=${deps}
+       deps=
+       for dep in ${old_deps}; do
+               grep -qw "${dep}" <<<${deps} || deps="${deps} ${dep}"
+       done
+       echo ${deps}
+}
+
 pkg_files() {
        (
                eval $(pkg_info ${1})