tazpkg diff modules/list @ 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 48496086d8c9
children 45d90da42ede
line diff
     1.1 --- a/modules/list	Fri Aug 14 03:07:11 2015 +0300
     1.2 +++ b/modules/list	Tue Dec 29 22:00:47 2015 +0200
     1.3 @@ -23,10 +23,11 @@
     1.4  
     1.5  # Connect function libraries
     1.6  . /lib/libtaz.sh
     1.7 -# Get TazPkg configuration variables
     1.8 -. /etc/slitaz/slitaz.conf
     1.9 -. /etc/slitaz/tazpkg.conf
    1.10 -BLOCKED="$PKGS_DB/blocked-packages.list"
    1.11 +
    1.12 +# Get TazPkg working environment
    1.13 +. @@MODULES@@/getenv
    1.14 +
    1.15 +
    1.16  
    1.17  
    1.18  # Interactive mode
    1.19 @@ -81,8 +82,8 @@
    1.20  		title 'Blocked packages'
    1.21  
    1.22  		if [ -s "$BLOCKED" ];then
    1.23 -			cat $BLOCKED
    1.24 -			num=$(wc -l < $BLOCKED)
    1.25 +			cat "$BLOCKED"
    1.26 +			num=$(wc -l < "$BLOCKED")
    1.27  			footer "$(_p '%s package' '%s packages' "$num" \
    1.28  				"$(colorize 31 $num)")"
    1.29  		else
    1.30 @@ -109,12 +110,12 @@
    1.31  		# List of linked packages
    1.32  		title 'Linked packages'
    1.33  
    1.34 -		linked="$(find $INSTALLED -type l -maxdepth 1)"
    1.35 +		linked="$(find "$INSTALLED" -type l -maxdepth 1)"
    1.36  		if [ -n "$linked" ]; then
    1.37  			for pkg in $linked; do
    1.38  				awk -F$'\t' -vp="$(basename "$pkg")" \
    1.39 -					'($1==p){printf "%-34s %-17s %s\n", $1, $2, $3}' \
    1.40 -					$PKGS_DB/installed.info | translate_category
    1.41 +					'$1==p{printf "%-34s %-17s %s\n", $1, $2, $3}' \
    1.42 +					"$PKGS_DB/installed.info" | translate_category
    1.43  			done
    1.44  			num=$(echo "$linked" | wc -l)
    1.45  			footer "$(_p '%s package' '%s packages' "$num" \
    1.46 @@ -130,8 +131,8 @@
    1.47  		title 'List of all installed packages'
    1.48  
    1.49  		awk -F$'\t' '{printf "%-34s %-17s %s\n", $1, $2, $3}' \
    1.50 -			$PKGS_DB/installed.info | translate_category
    1.51 -		num=$(wc -l < $PKGS_DB/installed.info)
    1.52 +			"$PKGS_DB/installed.info" | translate_category
    1.53 +		num=$(wc -l < "$PKGS_DB/installed.info")
    1.54  
    1.55  		footer "$(_p '%s package installed.' '%s packages installed.' "$num" \
    1.56  			"$(colorize 32 $num)")"
    1.57 @@ -147,9 +148,9 @@
    1.58  
    1.59  		TMPLIST=$(mktemp)
    1.60  		awk -F$'\t' -vcat="$ASKED_CATEGORY" \
    1.61 -			'{ if ($3 == cat) printf "%-34s %s\n", $1, $2; }' \
    1.62 -			$PKGS_DB/installed.info | tee $TMPLIST | translate_category
    1.63 -		num=$(wc -l < $TMPLIST); rm $TMPLIST
    1.64 +			'$3==cat{printf "%-34s %s\n", $1, $2}' \
    1.65 +			"$PKGS_DB/installed.info" | tee "$TMPLIST" | translate_category
    1.66 +		num=$(wc -l < "$TMPLIST"); rm "$TMPLIST"
    1.67  
    1.68  		footer "$(emsg $(_p \
    1.69  			'%s package installed of category "%s".' \
    1.70 @@ -161,12 +162,11 @@
    1.71  	mirrored)
    1.72  		# List packages available on the mirror
    1.73  		# Option --diff displays last mirrored packages diff (see recharge).
    1.74 -		check_for_packages_info
    1.75  		if [ -n "$diff" ]; then
    1.76  			if [ -f "$PKGS_DB/packages.diff" ]; then
    1.77  				title 'Mirrored packages diff'
    1.78 -				cat $PKGS_DB/packages.diff
    1.79 -				num=$(wc -l < $PKGS_DB/packages.diff)
    1.80 +				cat "$PKGS_DB/packages.diff"
    1.81 +				num=$(wc -l < "$PKGS_DB/packages.diff")
    1.82  				footer "$(_p \
    1.83  					'%s new package listed on the mirror.' \
    1.84  					'%s new packages listed on the mirror.' "$num" \
    1.85 @@ -182,8 +182,8 @@
    1.86  			awk -F$'\t' '{
    1.87  				split($7, s, " ");
    1.88  				printf "%s\n%s\n%s\n%s (%s installed)\n\n", $1, $2, $4, s[1], s[2];
    1.89 -				}' $PKGS_DB/packages.info
    1.90 -			num=$(wc -l < $PKGS_DB/packages.info)
    1.91 +				}' "$PKGS_DB/packages.info"
    1.92 +			num=$(wc -l < "$PKGS_DB/packages.info")
    1.93  			footer "$(_p \
    1.94  				'%s package in the last recharged list.' \
    1.95  				'%s packages in the last recharged list.' "$num" \
    1.96 @@ -202,13 +202,13 @@
    1.97  			num=$(wc -l < "$INSTALLED/$PACKAGE/files.list")
    1.98  			footer "$(_p '%s file' '%s files' $num \
    1.99  				"$(colorize 32 $num)")"
   1.100 -		elif [ -n "$(grep "^$PACKAGE"$'\t' $PKGS_DB/packages.info)" ]; then
   1.101 +		elif [ -n "$(grep "^$PACKAGE"$'\t' "$PKGS_DB/packages.info")" ]; then
   1.102  			# available package
   1.103  			title 'Installed files by "%s"' "$PACKAGE"
   1.104  
   1.105  			TMPLIST=$(mktemp)
   1.106 -			lzcat $PKGS_DB/files.list.lzma | sed -n "/^$PACKAGE: / s|^[^:]*: ||p" | tee $TMPLIST
   1.107 -			num=$(wc -l < $TMPLIST); rm $TMPLIST
   1.108 +			lzcat "$PKGS_DB/files.list.lzma" | sed -n "/^$PACKAGE: / s|^[^:]*: ||p" | tee "$TMPLIST"
   1.109 +			num=$(wc -l < "$TMPLIST"); rm "$TMPLIST"
   1.110  
   1.111  			footer "$(_p '%s file' '%s files' $num \
   1.112  				"$(colorize 32 $num)")"
   1.113 @@ -222,10 +222,10 @@
   1.114  
   1.115  	activity)
   1.116  		# Show activity log
   1.117 -		[ -z "$nb" ] && nb='18'
   1.118 +		: ${nb=18}
   1.119  		title 'TazPkg Activity'
   1.120  		IFS=' '
   1.121 -		tail -n $nb $LOG | tac | \
   1.122 +		tail -n $nb "$LOG" | tac | \
   1.123  		while read date hour none action none pkg vers none; do
   1.124  			case $action in
   1.125  				Installed)
   1.126 @@ -246,39 +246,34 @@
   1.127  	config_files)
   1.128  		# List configuration files installed
   1.129  		# Option --box displays list formatted for Yad-based TazPkg boxes
   1.130 -		if [ -n "$2" ]; then
   1.131 -			FILES="$INSTALLED/$2/volatile.cpio.gz"
   1.132 -		else
   1.133 -			FILES="$INSTALLED/*/volatile.cpio.gz"
   1.134 -		fi
   1.135 +		FILES="$INSTALLED/${2:-*}/volatile.cpio.gz"
   1.136  
   1.137  		if [ -n "$box" ]; then
   1.138  			TMP_DIR=$(mktemp -d)
   1.139  
   1.140  			for i in $FILES; do
   1.141 -				mkdir -p $TMP_DIR/temp; cd $TMP_DIR/temp
   1.142 +				mkdir -p "$TMP_DIR/temp"; cd "$TMP_DIR/temp"
   1.143  
   1.144  				zcat $i | cpio -idm --quiet >/dev/null
   1.145  
   1.146  				find . -type f 2>/dev/null | while read file; do
   1.147 -					if [ ! -e /$file ]; then
   1.148 +					if [ ! -e "/$file" ]; then
   1.149  						echo -n "----------|----|----|$(_n 'File lost')"
   1.150  					else
   1.151 -						echo -n "$(stat -c "%A|%U|%G|%s|" /$file)"
   1.152 -						cmp $file /$file >/dev/null 2>&1 || \
   1.153 -						echo -n "$(stat -c "%.16y" /$file)"
   1.154 +						echo -n "$(stat -c "%A|%U|%G|%s|" "/$file")"
   1.155 +						cmp "$file" "/$file" >/dev/null 2>&1 || \
   1.156 +						echo -n "$(stat -c "%.16y" "/$file")"
   1.157  					fi
   1.158  					echo "|/$file"
   1.159  				done
   1.160 -				rm -r $TMP_DIR/temp
   1.161 +				rm -r "$TMP_DIR/temp"
   1.162  			done
   1.163 -			cd "$TOP_DIR"
   1.164 -			rm -r $TMP_DIR
   1.165 +			rm -r "$TMP_DIR"
   1.166  		else
   1.167  			im && title 'Configuration files'
   1.168  			for i in $FILES; do
   1.169  				[ -f "$i" ] || continue
   1.170 -				zcat $i | cpio -t --quiet
   1.171 +				zcat "$i" | cpio -t --quiet
   1.172  			done | sed 's|^|/|' | sort
   1.173  			im && footer
   1.174  		fi
   1.175 @@ -289,7 +284,7 @@
   1.176  		# List of suggested packages
   1.177  		# By default list only not installed suggested packages
   1.178  		# Option --all displays all (installed and not installed) suggested packages
   1.179 -		for i in $(ls -d $INSTALLED/*/receipt); do
   1.180 +		for i in $(ls -d "$INSTALLED"/*/receipt); do
   1.181  			unset SUGGESTED
   1.182  			. $i
   1.183  			if [ -n "$SUGGESTED" ]; then