CRUX-ARM : Home

Home :: Documentation :: Download :: Development :: Community :: Ports :: Packages :: Bugs :: Links :: About :: Donors
buildAllPackages.sh: Updates and fixes:
[devtools.git] / getBuildOrder.sh
index 89ca093496ae1e0569f8e99b29a228ea854700ad..8cf3d1c0467595dd4ec7058fb0871048689edf9e 100755 (executable)
@@ -31,10 +31,20 @@ getRecursiveDeps() {
   fi
 }
 
-# global var to store all final deps order
-BUILD_ORDER="libgmp libmpfr libmpc binutils glibc zlib gcc"
+ALT_START=0
 
-for i in $(find . -type f -name 'Pkgfile' -exec dirname {} \;); do
+# check for passed arguments
+if [ $# -ne 0 ]; then
+  # use package as starting point
+  ALT_START=1
+  START_PKG=$1
+  BUILD_ORDER=""
+else
+  # global var to store all final deps order
+  BUILD_ORDER="libgmp libmpfr libmpc binutils glibc zlib gcc"
+fi
+
+for i in $(find . -type f -name 'Pkgfile' -exec dirname {} \; | sort); do
   PKG="$(basename $i)"
   case $PKG in
     # toolchain ports must be in order
@@ -43,7 +53,10 @@ for i in $(find . -type f -name 'Pkgfile' -exec dirname {} \;); do
   getRecursiveDeps "$PKG"
 done
 
-echo $BUILD_ORDER | tr ' ' '\n'
-echo
+if [ $ALT_START -eq 0 ]; then
+  echo $BUILD_ORDER | tr ' ' '\n'
+else
+  echo $BUILD_ORDER | sed "s|.* $START_PKG|$START_PKG|" | tr ' ' '\n'
+fi
 
 # End fo file