# HG changeset patch # User Aleksej Bobylev # Date 1437746876 -10800 # Node ID 5c4634856840af6e9aff784273e81151addd94ab # Parent 3f3db6d5be82fe7ef285dbba770c1fa165cc9f10 tazpkg: display summary by default diff -r 3f3db6d5be82 -r 5c4634856840 tazpkg --- a/tazpkg Fri Jul 24 15:11:32 2015 +0300 +++ b/tazpkg Fri Jul 24 17:07:56 2015 +0300 @@ -3119,6 +3119,71 @@ shift; tazpkg-help $@ ;; + '') + # Default to summary + title "$(_ 'SliTaz package manager - Version: %s' $(colorize 34 $VERSION))" + + optlist "\ +$(_ 'Installed packages:') $(wc -l < $PKGS_DB/installed.info) +$(_ 'Installed files:') $(cat $INSTALLED/*/files.list | wc -l) +$(_ 'Blocked packages:') $(wc -l < $PKGS_DB/blocked-packages.list) +$(_ 'Upgradeable packages:') $(wc -l < $PKGS_DB/packages.up) +$( + # Per-repository stuff + + if [ -h "$PKGS_DB/fslink" ]; then + if [ -e "$PKGS_DB/fslink/etc/slitaz/slitaz.conf" ]; then + PKGS_DB_LINK="$PKGS_DB/fslink/$(. "$PKGS_DB/fslink/etc/slitaz/slitaz.conf"; echo "$PKGS_DB")" + fi + fi + + for path in $PKGS_DB $PKGS_DB/undigest/* $PKGS_DB_LINK; do + [ ! -e "$path" ] && continue + case "$path" in + $PKGS_DB) repo_name='Main';; + */fslink/*) repo_name=$(readlink $PKGS_DB/fslink);; + *) repo_name="$(_n 'Undigest %s' "$(basename "$path")")";; + esac + + newline; colorize 33 "$(_n 'Repository:'; echo -e "\t$repo_name")" + + _n 'Last recharge:'; echo -en '\t' + IDs="$path/IDs" + if [ -e "$IDs" ]; then + # Timezone offset as string, ex. '+0200' for EET (+2 hours) + ohhmm="$(date +%z)" + # Timezone offset in the seconds + offset=$(( 60 * (60 * ${ohhmm:0:3} + ${ohhmm:3:2}) )) + daynow=$(( ($(date +%s) + $offset) / 86400 )) + dayupd=$(( ($(date -r $IDs +%s) + $offset) / 86400 )) + days=$(( $daynow - $dayupd )) + time=$(date -r $IDs +%R) + case $days in + 0) _ 'Today at %s.' $time;; + 1) _ 'Yesterday at %s.' $time;; + *) _p '%d day ago.' '%d days ago.' $days $days; newline;; + esac + + _n 'Database timestamp:'; echo -en '\t' + date -d "@$(awk '{print $2}' "$IDs")" "+%x %R" + else + _ 'never.' + fi + + if [ -e "$path/packages.info" ]; then + _n 'Mirrored packages:'; echo -en '\t'; wc -l < "$path/packages.info" + fi + + if [ "${path/fslink/}" != "$path" ]; then + _n 'Linked packages:'; echo -en '\t' + find $INSTALLED -type l | wc -l + fi + done +)" + footer + ;; + + usage|*) # Print a short help or give usage for an unknown or empty command. usage ;;