tazpkg rev 295
tazpkg convert: filter depends & unresolved
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Sat Aug 29 15:27:00 2009 +0200 (2009-08-29) |
parents | eb1ba28dbea7 |
children | 72a0ac8780a0 |
files | tazpkg |
line diff
1.1 --- a/tazpkg Tue Aug 25 22:04:07 2009 +0200 1.2 +++ b/tazpkg Sat Aug 29 15:27:00 2009 +0200 1.3 @@ -959,38 +959,47 @@ 1.4 /var/lib/tazpkg/undigest/*/files.list.lzma ; do 1.5 [ -f $i ] && lzma d $i -so >> $TMP_DIR/files.list 1.6 done 1.7 - find $TMP_DIR/$file/fs -type f | while read file ; do 1.8 - is_elf $file || continue 1.9 - case "$file" in 1.10 + find $TMP_DIR/$file/fs -type f | while read chkfile ; do 1.11 + is_elf $chkfile || continue 1.12 + case "$chkfile" in 1.13 *.o|*.ko|*.ko.gz) continue;; 1.14 esac 1.15 - ldd $file | while read lib rem; do 1.16 + ldd $chkfile | while read lib rem; do 1.17 case "$lib" in 1.18 statically|linux-gate.so*|ld-*.so|*/ld-*.so) 1.19 continue;; 1.20 esac 1.21 + find $TMP_DIR/$file/fs | grep -q /$lib$ && continue 1.22 for dep in $(grep $lib files.list | cut -d: -f1); do 1.23 - case " $DEFAULT_DEPENDS $ALL_DEPENDS " in 1.24 + case " $DEFAULT_DEPENDS " in 1.25 *\ $dep\ *) continue 2;; 1.26 esac 1.27 + grep -qs "^$dep$" $TMP_DIR/depends && continue 2 1.28 done 1.29 - ALL_DEPENDS="$ALL_DEPENDS $dep" 1.30 if [ -n "$dep" ]; then 1.31 - echo -n " $dep" 1.32 + echo "$dep" >> $TMP_DIR/depends 1.33 else 1.34 + grep -qs ^$lib$ $TMP_DIR/unresolved || 1.35 echo "$lib" >> $TMP_DIR/unresolved 1.36 fi 1.37 done 1.38 done 1.39 + spc="" 1.40 + cat $TMP_DIR/depends | sort | uniq | while read file; do 1.41 + echo -n "$spc$file" 1.42 + spc=" " 1.43 + done 1.44 } 1.45 1.46 show_unresolved_lib() 1.47 { 1.48 if [ -s $TMP_DIR/unresolved ]; then 1.49 - echo "BUGS=\"No dependency for $(cat $TMP_DIR/unresolved)\"" >> $1 1.50 - for lib in $(cat $TMP_DIR/unresolved) ; do 1.51 + echo "BUGS=\"No dependency for" >> $1 1.52 + cat $TMP_DIR/unresolved | sort | uniq | while read file; do 1.53 echo -e "$WARNING: unknown dependency for $lib" 1.54 + echo -n " $file" >> $1 1.55 done 1.56 + echo "\"" >> $1 1.57 fi 1.58 } 1.59