# HG changeset patch # User Aleksej Bobylev # Date 1451419247 -7200 # Node ID 3af642cd5e69466deecc3739eb56b52825133906 # Parent d034a2d99e3a4ed744b8d517cf2844df2af66320 Module 'get': fix temp dir; module 'find-depends': faster search, add debug messages diff -r d034a2d99e3a -r 3af642cd5e69 modules/find-depends --- a/modules/find-depends Sat Dec 26 16:05:46 2015 +0200 +++ b/modules/find-depends Tue Dec 29 22:00:47 2015 +0200 @@ -13,7 +13,9 @@ for i in "$PKGS_DB/files.list.lzma" \ "$PKGS_DB/undigest/"*"/files.list.lzma"; do - [ -f "$i" ] && lzma d "$i" -so >> "$TMP_DIR/files.list" + # Extract files.list.lzma to find dependencies + # only lines with .so libs produces much faster search + [ -f "$i" ] && lzma d "$i" -so | fgrep '.so' | fgrep '/lib/' >> "$TMP_DIR/files.list" done _ 'Find depends...' 1>&2 @@ -27,6 +29,7 @@ esac for lib in $(LD_TRACE_LOADED_OBJECTS=1 /lib/ld*.so "$chkfile" 2>/dev/null | sed '/=>/!d;s/ =>.*//'); do + debug "lib='$lib'" case " $libs_found " in *\ $lib\ *) continue;; esac @@ -40,6 +43,7 @@ echo -ne ' \r' 1>&2 for dep in $(fgrep "$lib" "$TMP_DIR/files.list" | cut -d: -f1); do + debug " dep='$dep'" case " $DEFAULT_DEPENDS " in *\ $dep\ *) continue 2;; esac @@ -47,8 +51,10 @@ done if [ -n "$dep" ]; then + debug " add '$dep' to depends" echo "$dep" >> "$TMP_DIR/depends" else + debug " add '$lib' to unresolved" grep -qs ^$lib$ "$TMP_DIR/unresolved" || echo "$lib" >> "$TMP_DIR/unresolved" fi diff -r d034a2d99e3a -r 3af642cd5e69 modules/get --- a/modules/get Sat Dec 26 16:05:46 2015 +0200 +++ b/modules/get Tue Dec 29 22:00:47 2015 +0200 @@ -251,6 +251,7 @@ # Add dependencies which was found to already defined dependencies DEPENDS="$(unset DEPENDS; . "$PACKAGE-$VERSION/receipt"; echo $DEPENDS)" + TMP_DIR="$tmp_dir" for i in $(find_depends "$PACKAGE-$VERSION/fs"); do case " $DEPENDS " in *\ $i\ *) continue;;