tazpkg 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 d034a2d99e3a
children 54ebb19d4cc6
files modules/find-depends modules/get
line diff
     1.1 --- a/modules/find-depends	Sat Dec 26 16:05:46 2015 +0200
     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
     2.1 --- a/modules/get	Sat Dec 26 16:05:46 2015 +0200
     2.2 +++ b/modules/get	Tue Dec 29 22:00:47 2015 +0200
     2.3 @@ -251,6 +251,7 @@
     2.4  
     2.5  	# Add dependencies which was found to already defined dependencies
     2.6  	DEPENDS="$(unset DEPENDS; . "$PACKAGE-$VERSION/receipt"; echo $DEPENDS)"
     2.7 +	TMP_DIR="$tmp_dir"
     2.8  	for i in $(find_depends "$PACKAGE-$VERSION/fs"); do
     2.9  		case " $DEPENDS " in
    2.10  			*\ $i\ *) continue;;