tazpkg annotate modules/summary @ rev 840

Add a bunch of modules with new-style support of 'root' (not all commands are modules yet); strip and compress resources.
author Aleksej Bobylev <al.bobylev@gmail.com>
date Fri Aug 28 16:10:34 2015 +0300 (2015-08-28)
parents
children 24e5d2229a91
rev   line source
al@840 1 #!/bin/sh
al@840 2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
al@840 3 # summary - TazPkg module
al@840 4 # Show TazPkg summary
al@840 5
al@840 6
al@840 7 # Connect function libraries
al@840 8 . /lib/libtaz.sh
al@840 9
al@840 10 # Get TazPkg working environment
al@840 11 . @@MODULES@@/getenv
al@840 12
al@840 13
al@840 14
al@840 15
al@840 16 STATE=$(mktemp)
al@840 17
al@840 18 title "$(_ 'SliTaz package manager - Version: %s' $(colorize 34 $VERSION))"
al@840 19
al@840 20 # Per-repository stuff
al@840 21
al@840 22 if [ -h "$PKGS_DB/fslink" ]; then
al@840 23 if [ -e "$PKGS_DB/fslink/etc/slitaz/slitaz.conf" ]; then
al@840 24 PKGS_DB_LINK="$PKGS_DB/fslink/$(. "$PKGS_DB/fslink/etc/slitaz/slitaz.conf"; echo "$PKGS_DB")"
al@840 25 fi
al@840 26 fi
al@840 27
al@840 28 for path in $PKGS_DB $PKGS_DB/undigest/* $PKGS_DB_LINK; do
al@840 29 [ ! -e "$path" ] && continue
al@840 30 case "$path" in
al@840 31 $PKGS_DB) repo_name='Main';;
al@840 32 */fslink/*) repo_name=$(readlink "$PKGS_DB/fslink");;
al@840 33 *) repo_name=$(_n 'Undigest %s' "$(basename "$path")");;
al@840 34 esac
al@840 35
al@840 36 newline; colorize 33 "$(_n 'Repository:'; echo -e "\t$repo_name")"
al@840 37
al@840 38 _n 'Last recharge:'; echo -en '\t'
al@840 39 IDs="$path/IDs"
al@840 40 if [ -e "$IDs" ]; then
al@840 41 # Timezone offset as string, ex. '+0200' for EET (+2 hours)
al@840 42 ohhmm=$(date +%z)
al@840 43 # Timezone offset in the seconds
al@840 44 offset=$(( 60 * (60 * ${ohhmm:0:3} + ${ohhmm:3:2}) ))
al@840 45 daynow=$(( ($(date +%s) + $offset) / 86400 ))
al@840 46 dayupd=$(( ($(date -r $IDs +%s) + $offset) / 86400 ))
al@840 47 days=$(( $daynow - $dayupd ))
al@840 48 time=$(date -r $IDs +%R)
al@840 49 case $days in
al@840 50 0) _ 'Today at %s.' "$time";;
al@840 51 1) _ 'Yesterday at %s.' "$time";;
al@840 52 *) _p '%d day ago.' '%d days ago.' "$days" "$days"; newline;;
al@840 53 esac
al@840 54
al@840 55 _n 'Database timestamp:'; echo -en '\t'
al@840 56 date -d "@$(awk '{print $2}' "$IDs")" "+%x %R"
al@840 57 else
al@840 58 _ 'never.'
al@840 59 fi
al@840 60
al@840 61 if [ -e "$path/packages.info" ]; then
al@840 62 _n 'Mirrored packages:'; echo -en '\t'; wc -l < "$path/packages.info"
al@840 63 fi
al@840 64
al@840 65 if [ "${path/fslink/}" != "$path" ]; then
al@840 66 _n 'Linked packages:'; echo -en '\t'
al@840 67 find "$INSTALLED" -type l | wc -l
al@840 68 fi
al@840 69 done >> "$STATE"
al@840 70
al@840 71 # Common stuff
al@840 72
al@840 73 optlist "\
al@840 74 $(_ 'Installed packages:') $(wc -l < "$PKGS_DB/installed.info")
al@840 75 $(_ 'Installed files:') $( (cat $INSTALLED/*/files.list | wc -l) 2>/dev/null || echo 0)
al@840 76 $(_ 'Blocked packages:') $(wc -l < "$BLOCKED")
al@840 77 $(_ 'Upgradeable packages:') $(wc -l < "$UP_LIST")
al@840 78 $(cat "$STATE")"
al@840 79 footer
al@840 80
al@840 81 rm "$STATE"