tazpkg annotate modules/summary @ rev 969

modules/get: continue fixing cookmode
author Aleksej Bobylev <al.bobylev@gmail.com>
date Mon Nov 26 14:59:03 2018 +0200 (2018-11-26)
parents a02e36d44d06
children
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@944 43 # offset sign (1; -1)
al@944 44 osign="${ohhmm:0:1}1"; osign=${osign#+}
al@944 45 # offset hours (without leading 0)
al@944 46 ohh=${ohhmm:1:2}; ohh=${ohh#0}
al@944 47 # offset minutes (without leading 0)
al@944 48 omm=${ohhmm:3:2}; omm=${omm#0}
al@840 49 # Timezone offset in the seconds
al@944 50 offset=$(( 60 * (60 * $osign * $ohh + $omm) ))
al@944 51
al@840 52 daynow=$(( ($(date +%s) + $offset) / 86400 ))
al@840 53 dayupd=$(( ($(date -r $IDs +%s) + $offset) / 86400 ))
al@840 54 days=$(( $daynow - $dayupd ))
al@840 55 time=$(date -r $IDs +%R)
al@840 56 case $days in
al@840 57 0) _ 'Today at %s.' "$time";;
al@840 58 1) _ 'Yesterday at %s.' "$time";;
al@840 59 *) _p '%d day ago.' '%d days ago.' "$days" "$days"; newline;;
al@840 60 esac
al@840 61
al@840 62 _n 'Database timestamp:'; echo -en '\t'
al@840 63 date -d "@$(awk '{print $2}' "$IDs")" "+%x %R"
al@840 64 else
al@840 65 _ 'never.'
al@840 66 fi
al@840 67
al@840 68 if [ -e "$path/packages.info" ]; then
al@840 69 _n 'Mirrored packages:'; echo -en '\t'; wc -l < "$path/packages.info"
al@840 70 fi
al@840 71
al@840 72 if [ "${path/fslink/}" != "$path" ]; then
al@840 73 _n 'Linked packages:'; echo -en '\t'
al@840 74 find "$INSTALLED" -type l | wc -l
al@840 75 fi
al@840 76 done >> "$STATE"
al@840 77
al@840 78 # Common stuff
al@840 79
al@840 80 optlist "\
al@840 81 $(_ 'Installed packages:') $(wc -l < "$PKGS_DB/installed.info")
al@840 82 $(_ 'Installed files:') $( (cat $INSTALLED/*/files.list | wc -l) 2>/dev/null || echo 0)
al@840 83 $(_ 'Blocked packages:') $(wc -l < "$BLOCKED")
al@840 84 $(_ 'Upgradeable packages:') $(wc -l < "$UP_LIST")
al@840 85 $(cat "$STATE")"
al@840 86 footer
al@840 87
al@840 88 rm "$STATE"