tazpkg diff modules/summary @ 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
children 24e5d2229a91
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/modules/summary	Tue Dec 29 22:00:47 2015 +0200
     1.3 @@ -0,0 +1,81 @@
     1.4 +#!/bin/sh
     1.5 +# TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
     1.6 +# summary - TazPkg module
     1.7 +# Show TazPkg summary
     1.8 +
     1.9 +
    1.10 +# Connect function libraries
    1.11 +. /lib/libtaz.sh
    1.12 +
    1.13 +# Get TazPkg working environment
    1.14 +. @@MODULES@@/getenv
    1.15 +
    1.16 +
    1.17 +
    1.18 +
    1.19 +STATE=$(mktemp)
    1.20 +
    1.21 +title "$(_ 'SliTaz package manager - Version: %s' $(colorize 34 $VERSION))"
    1.22 +
    1.23 +# Per-repository stuff
    1.24 +
    1.25 +if [ -h "$PKGS_DB/fslink" ]; then
    1.26 +	if [ -e "$PKGS_DB/fslink/etc/slitaz/slitaz.conf" ]; then
    1.27 +		PKGS_DB_LINK="$PKGS_DB/fslink/$(. "$PKGS_DB/fslink/etc/slitaz/slitaz.conf"; echo "$PKGS_DB")"
    1.28 +	fi
    1.29 +fi
    1.30 +
    1.31 +for path in $PKGS_DB $PKGS_DB/undigest/* $PKGS_DB_LINK; do
    1.32 +	[ ! -e "$path" ] && continue
    1.33 +	case "$path" in
    1.34 +		$PKGS_DB) repo_name='Main';;
    1.35 +		*/fslink/*) repo_name=$(readlink "$PKGS_DB/fslink");;
    1.36 +		*) repo_name=$(_n 'Undigest %s' "$(basename "$path")");;
    1.37 +	esac
    1.38 +
    1.39 +	newline; colorize 33 "$(_n 'Repository:'; echo -e "\t$repo_name")"
    1.40 +
    1.41 +	_n 'Last recharge:'; echo -en '\t'
    1.42 +	IDs="$path/IDs"
    1.43 +	if [ -e "$IDs" ]; then
    1.44 +		# Timezone offset as string, ex. '+0200' for EET (+2 hours)
    1.45 +		ohhmm=$(date +%z)
    1.46 +		# Timezone offset in the seconds
    1.47 +		offset=$(( 60 * (60 * ${ohhmm:0:3} + ${ohhmm:3:2}) ))
    1.48 +		daynow=$(( ($(date         +%s) + $offset) / 86400 ))
    1.49 +		dayupd=$(( ($(date -r $IDs +%s) + $offset) / 86400 ))
    1.50 +		days=$(( $daynow - $dayupd ))
    1.51 +		time=$(date -r $IDs +%R)
    1.52 +		case $days in
    1.53 +			0) _ 'Today at %s.' "$time";;
    1.54 +			1) _ 'Yesterday at %s.' "$time";;
    1.55 +			*) _p '%d day ago.' '%d days ago.' "$days" "$days"; newline;;
    1.56 +		esac
    1.57 +
    1.58 +		_n 'Database timestamp:'; echo -en '\t'
    1.59 +		date -d "@$(awk '{print $2}' "$IDs")" "+%x %R"
    1.60 +	else
    1.61 +		_ 'never.'
    1.62 +	fi
    1.63 +
    1.64 +	if [ -e "$path/packages.info" ]; then
    1.65 +		_n 'Mirrored packages:'; echo -en '\t'; wc -l < "$path/packages.info"
    1.66 +	fi
    1.67 +
    1.68 +	if [ "${path/fslink/}" != "$path" ]; then
    1.69 +		_n 'Linked packages:'; echo -en '\t'
    1.70 +		find "$INSTALLED" -type l | wc -l
    1.71 +	fi
    1.72 +done >> "$STATE"
    1.73 +
    1.74 +# Common stuff
    1.75 +
    1.76 +optlist "\
    1.77 +$(_ 'Installed packages:')		$(wc -l < "$PKGS_DB/installed.info")
    1.78 +$(_ 'Installed files:')			$( (cat $INSTALLED/*/files.list | wc -l) 2>/dev/null || echo 0)
    1.79 +$(_ 'Blocked packages:')		$(wc -l < "$BLOCKED")
    1.80 +$(_ 'Upgradeable packages:')	$(wc -l < "$UP_LIST")
    1.81 +$(cat "$STATE")"
    1.82 +footer
    1.83 +
    1.84 +rm "$STATE"