X-Git-Url: https://hackdaworld.org/gitweb/?p=hdw-linux%2Fhdw-linux.git;a=blobdiff_plain;f=scripts%2FBuild;h=1dbe2fe74f5b5e0622d7381ef5878f934aa79adf;hp=4d1bb3cda45478032c91409e8569eafd39cde53b;hb=b756476d01e1ff39de954cc625e4e4744ff30841;hpb=f28c6fbadbb1f980d29df5db0875c188f34db102 diff --git a/scripts/Build b/scripts/Build index 4d1bb3c..1dbe2fe 100755 --- a/scripts/Build +++ b/scripts/Build @@ -351,7 +351,7 @@ echo "found $package config file ..." # build/runtime dependencies (just libs >= stage 3, # default is 'hardcoded') # still in development !! - if [ "$hdw_status" -ge "2" ] ; then + if [ "$hdw_status" -ge "3" ] ; then # build deps rm -f $root/var/adm/deps/build/$package echo -n "calculating build dependencies ... " @@ -375,6 +375,7 @@ echo "found $package config file ..." for dep in $alldeps; do echo "$dep" >> $root/var/adm/deps/build/$package done + touch $root/var/adm/deps/build/$package echo "done" # runtime deps rm -f $root/var/adm/deps/run/$package @@ -383,32 +384,47 @@ echo "found $package config file ..." for binary in `grep 'bin\/' \ $root/var/adm/flists/${package}${append} | \ awk '{ print $2 }'`; do - for rdep in `ldd $root/$binary | awk '{ print $3 }' | \ - sed 's$/$$'i | grep -v stage | \ - awk -F: '{ print $2 }'`; do - add=1 - for cmp in $alldeps; do - [ "$cmp" = "rdep" ] && add=0 + for rdep in `ldd $root/$binary 2>&1 | \ + awk '{ print $3 }' | \ + sed 's$/$$' | grep -v 'dynamic' | \ + grep -v '^ldd'`; do + for rpkg in `grep $rdep -r \ + $root/var/adm/flists | \ + grep -v $s1_prefix | \ + awk -F: '{ print $2 }'`; do + add=1 + for cmp in $alldeps; do + [ "$cmp" = "$rpkg" ] && add=0 + done + [ "$add" = "1" ] && \ + alldeps="$rpkg $alldeps" done - [ "$add" = "1" ] && alldeps="$rdep $alldeps" done done for library in `grep 'lib\/.*.so.*' \ $root/var/adm/flists/${package}${append} | \ awk '{ print $2 }'`; do - for rdep in `ldd $root/$binary | awk '{ print $3 }' | \ - sed 's$/$$'i | grep -v stage | \ - awk -F: '{ print $2 }'`; do - add=1 - for cmp in $alldeps; do - [ "$cmp" = "rdep" ] && add=0 + for rdep in `ldd $root/$library 2>&1 | \ + awk '{ print $3 }' | \ + sed 's$/$$' | grep -v 'dynamic' | \ + grep -v '^ldd'`; do + for rpkg in `grep $rdep -r \ + $root/var/adm/flists | \ + grep -v $s1_prefix | \ + awk -F: '{ print $2 }'`; do + add=1 + for cmp in $alldeps; do + [ "$cmp" = "$rpkg" ] && add=0 + done + [ "$add" = "1" ] && \ + alldeps="$rpkg $alldeps" done - [ "$add" = "1" ] && alldeps="$rdep $alldeps" done done for dep in $alldeps; do echo "$dep" >> $root/var/adm/deps/run/$package done + touch $root/var/adm/deps/run/$package echo "done" fi