From: Michael Tremer Date: Sun, 21 Jun 2009 16:28:33 +0000 (+0200) Subject: Added functions to buildscripts that can display dependencies. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=116cb76df86959a68685db8e37158f94f4e321bc;p=ipfire-3.x.git Added functions to buildscripts that can display dependencies. --- diff --git a/tools/make-interactive b/tools/make-interactive index 4bb4f2efd..f5312b687 100644 --- a/tools/make-interactive +++ b/tools/make-interactive @@ -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) diff --git a/tools/make-packages b/tools/make-packages index c8cd4112a..7344484f4 100644 --- a/tools/make-packages +++ b/tools/make-packages @@ -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})