tazpkg diff modules/find-depends @ rev 898

Module 'get': fix temp dir; module 'find-depends': faster search, add debug messages
author Aleksej Bobylev <al.bobylev@gmail.com>
date Tue Dec 29 22:00:47 2015 +0200 (2015-12-29)
parents d6cbd0c5f273
children 50421cb50644
line diff
     1.1 --- a/modules/find-depends	Mon Oct 05 03:53:47 2015 +0300
     1.2 +++ b/modules/find-depends	Tue Dec 29 22:00:47 2015 +0200
     1.3 @@ -13,7 +13,9 @@
     1.4  
     1.5  	for i in "$PKGS_DB/files.list.lzma" \
     1.6  		"$PKGS_DB/undigest/"*"/files.list.lzma"; do
     1.7 -		[ -f "$i" ] && lzma d "$i" -so >> "$TMP_DIR/files.list"
     1.8 +		# Extract files.list.lzma to find dependencies
     1.9 +		# only lines with .so libs produces much faster search
    1.10 +		[ -f "$i" ] && lzma d "$i" -so | fgrep '.so' | fgrep '/lib/' >> "$TMP_DIR/files.list"
    1.11  	done
    1.12  
    1.13  	_ 'Find depends...' 1>&2
    1.14 @@ -27,6 +29,7 @@
    1.15  		esac
    1.16  
    1.17  		for lib in $(LD_TRACE_LOADED_OBJECTS=1 /lib/ld*.so "$chkfile" 2>/dev/null | sed '/=>/!d;s/ =>.*//'); do
    1.18 +			debug "lib='$lib'"
    1.19  			case " $libs_found " in
    1.20  				*\ $lib\ *) continue;;
    1.21  			esac
    1.22 @@ -40,6 +43,7 @@
    1.23  			echo -ne '                   \r' 1>&2
    1.24  
    1.25  			for dep in $(fgrep "$lib" "$TMP_DIR/files.list" | cut -d: -f1); do
    1.26 +				debug "  dep='$dep'"
    1.27  				case " $DEFAULT_DEPENDS " in
    1.28  					*\ $dep\ *) continue 2;;
    1.29  				esac
    1.30 @@ -47,8 +51,10 @@
    1.31  			done
    1.32  
    1.33  			if [ -n "$dep" ]; then
    1.34 +				debug "  add '$dep' to depends"
    1.35  				echo "$dep" >> "$TMP_DIR/depends"
    1.36  			else
    1.37 +				debug "  add '$lib' to unresolved"
    1.38  				grep -qs ^$lib$ "$TMP_DIR/unresolved" ||
    1.39  					echo "$lib" >> "$TMP_DIR/unresolved"
    1.40  			fi