tazpkg rev 820

tazpkg: display summary by default
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Jul 24 17:07:56 2015 +0300 (2015-07-24)
parents 3f3db6d5be82
children e1399e7ca7ff
files tazpkg
line diff
     1.1 --- a/tazpkg	Fri Jul 24 15:11:32 2015 +0300
     1.2 +++ b/tazpkg	Fri Jul 24 17:07:56 2015 +0300
     1.3 @@ -3119,6 +3119,71 @@
     1.4  		shift; tazpkg-help $@ ;;
     1.5  
     1.6  
     1.7 +	'')
     1.8 +		# Default to summary
     1.9 +		title "$(_ 'SliTaz package manager - Version: %s' $(colorize 34 $VERSION))"
    1.10 +
    1.11 +		optlist "\
    1.12 +$(_ 'Installed packages:')		$(wc -l < $PKGS_DB/installed.info)
    1.13 +$(_ 'Installed files:')			$(cat $INSTALLED/*/files.list | wc -l)
    1.14 +$(_ 'Blocked packages:')		$(wc -l < $PKGS_DB/blocked-packages.list)
    1.15 +$(_ 'Upgradeable packages:')	$(wc -l < $PKGS_DB/packages.up)
    1.16 +$(
    1.17 +	# Per-repository stuff
    1.18 +
    1.19 +	if [ -h "$PKGS_DB/fslink" ]; then
    1.20 +		if [ -e "$PKGS_DB/fslink/etc/slitaz/slitaz.conf" ]; then
    1.21 +			PKGS_DB_LINK="$PKGS_DB/fslink/$(. "$PKGS_DB/fslink/etc/slitaz/slitaz.conf"; echo "$PKGS_DB")"
    1.22 +		fi
    1.23 +	fi
    1.24 +
    1.25 +	for path in $PKGS_DB $PKGS_DB/undigest/* $PKGS_DB_LINK; do
    1.26 +		[ ! -e "$path" ] && continue
    1.27 +		case "$path" in
    1.28 +			$PKGS_DB) repo_name='Main';;
    1.29 +			*/fslink/*) repo_name=$(readlink $PKGS_DB/fslink);;
    1.30 +			*) repo_name="$(_n 'Undigest %s' "$(basename "$path")")";;
    1.31 +		esac
    1.32 +
    1.33 +		newline; colorize 33 "$(_n 'Repository:'; echo -e "\t$repo_name")"
    1.34 +
    1.35 +		_n 'Last recharge:'; echo -en '\t'
    1.36 +		IDs="$path/IDs"
    1.37 +		if [ -e "$IDs" ]; then
    1.38 +			# Timezone offset as string, ex. '+0200' for EET (+2 hours)
    1.39 +			ohhmm="$(date +%z)"
    1.40 +			# Timezone offset in the seconds
    1.41 +			offset=$(( 60 * (60 * ${ohhmm:0:3} + ${ohhmm:3:2}) ))
    1.42 +			daynow=$(( ($(date         +%s) + $offset) / 86400 ))
    1.43 +			dayupd=$(( ($(date -r $IDs +%s) + $offset) / 86400 ))
    1.44 +			days=$(( $daynow - $dayupd ))
    1.45 +			time=$(date -r $IDs +%R)
    1.46 +			case $days in
    1.47 +				0) _ 'Today at %s.' $time;;
    1.48 +				1) _ 'Yesterday at %s.' $time;;
    1.49 +				*) _p '%d day ago.' '%d days ago.' $days $days; newline;;
    1.50 +			esac
    1.51 +
    1.52 +			_n 'Database timestamp:'; echo -en '\t'
    1.53 +			date -d "@$(awk '{print $2}' "$IDs")" "+%x %R"
    1.54 +		else
    1.55 +			_ 'never.'
    1.56 +		fi
    1.57 +
    1.58 +		if [ -e "$path/packages.info" ]; then
    1.59 +			_n 'Mirrored packages:'; echo -en '\t'; wc -l < "$path/packages.info"
    1.60 +		fi
    1.61 +
    1.62 +		if [ "${path/fslink/}" != "$path" ]; then
    1.63 +			_n 'Linked packages:'; echo -en '\t'
    1.64 +			find $INSTALLED -type l | wc -l
    1.65 +		fi
    1.66 +	done
    1.67 +)"
    1.68 +		footer
    1.69 +		;;
    1.70 +
    1.71 +
    1.72  	usage|*)
    1.73  		# Print a short help or give usage for an unknown or empty command.
    1.74  		usage ;;