tazpkg annotate modules/info @ rev 828

Add modules "info", "list" with extended functions; update documentations and translations
author Aleksej Bobylev <al.bobylev@gmail.com>
date Tue Aug 11 01:09:15 2015 +0300 (2015-08-11)
parents
children 7acf0290bdb2
rev   line source
al@828 1 #!/bin/sh
al@828 2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
al@828 3 # info - TazPkg module
al@828 4 # Information about package (both installed, mirrored, or local)
al@828 5
al@828 6
al@828 7 # Connect function libraries
al@828 8 . /lib/libtaz.sh
al@828 9 # Get TazPkg configuration variables
al@828 10 . /etc/slitaz/slitaz.conf
al@828 11 . /etc/slitaz/tazpkg.conf
al@828 12
al@828 13
al@828 14 # Interactive mode
al@828 15
al@828 16 im() { tty -s; }
al@828 17
al@828 18
al@828 19 # Unset variables that may absent in the receipt
al@828 20 unset EXTRAVERSION TAGS DEPENDS PROVIDE SIZES
al@828 21
al@828 22 if [ -e "$1" ]; then
al@828 23 # Local package given
al@828 24
al@828 25 # Extract receipt from package
al@828 26 PKG="$(realpath "$1")"
al@828 27 TMP_DIR=$(mktemp -d); cd $TMP_DIR
al@828 28 cpio -F "$PKG" -i receipt >/dev/null 2>&1
al@828 29
al@828 30 . receipt; rm -r $TMP_DIR
al@828 31 STATE="$(_ 'local package')"
al@828 32
al@828 33 elif [ -d "$INSTALLED/$1" ]; then
al@828 34 # Installed package given
al@828 35
al@828 36 . "$INSTALLED/$1/receipt"
al@828 37 STATE="$(_ 'installed package')"
al@828 38
al@828 39 elif [ -n "$(awk -F$'\t' -vp="$1" '$1==p{print $1}' "$PKGS_DB/packages.info")" ]; then
al@828 40 # Mirrored package given
al@828 41
al@828 42 TMP_RECEIPT=$(mktemp)
al@828 43 awk -F$'\t' -vp="$1" '$1==p{
al@828 44 printf "PACKAGE=\"%s\"\n", $1
al@828 45 printf "VERSION=\"%s\"\n", $2
al@828 46 printf "CATEGORY=\"%s\"\n", $3
al@828 47 printf "SHORT_DESC=\"%s\"\n", $4
al@828 48 printf "WEB_SITE=\"%s\"\n", $5
al@828 49 printf "TAGS=\"%s\"\n", $6
al@828 50 printf "SIZES=\"%s\"\n", $7
al@828 51 printf "DEPENDS=\"%s\"\n", $8
al@828 52 }' "$PKGS_DB/packages.info" > $TMP_RECEIPT
al@828 53
al@828 54 . $TMP_RECEIPT; rm $TMP_RECEIPT
al@828 55 SIZES="$(echo $SIZES | tr ' ' '/')"
al@828 56 STATE="$(_ 'mirrored package')"
al@828 57
al@828 58 else
al@828 59 newline
al@828 60 _ 'Package "%s" not available.' "$1"
al@828 61 newline
al@828 62 exit 1
al@828 63 fi
al@828 64
al@828 65
al@828 66 im && title 'TazPkg information'
al@828 67
al@828 68 # Display localized short description
al@828 69 for LC in $LANG ${LANG%_*}; do
al@828 70 PDL="$PKGS_DB/packages-desc.$LC"
al@828 71 if [ -e "$PDL" ]; then
al@828 72 LOCDESC=$(awk -F$'\t' -vp="$PACKAGE" '$1==p{print $2}' $PDL)
al@828 73 [ -n "$LOCDESC" ] && SHORT_DESC="$LOCDESC"
al@828 74 fi
al@828 75 done
al@828 76
al@828 77 [ -z "$SIZES" ] && SIZES=$(echo $PACKED_SIZE/$UNPACKED_SIZE | sed 's|\.0||g' | sed 's|^/$||')
al@828 78
al@828 79 emsg "$(
al@828 80 {
al@828 81 _ 'Package : %s' "$PACKAGE"
al@828 82 _ 'State : %s' "$STATE"
al@828 83 _ 'Version : %s' "$VERSION$EXTRAVERSION"
al@828 84 _ 'Category : %s' "$(_ $CATEGORY)"
al@828 85 itemize "$(_ 'Short desc : %s' "$SHORT_DESC")"
al@828 86 _ 'Maintainer : %s' "$MAINTAINER"
al@828 87 _ 'License : %s' "$LICENSE"
al@828 88 itemize "$(_ 'Depends : %s' "$DEPENDS")"
al@828 89 itemize "$(_ 'Suggested : %s' "$SUGGESTED")"
al@828 90 itemize "$(_ 'Build deps : %s' "$BUILD_DEPENDS")"
al@828 91 itemize "$(_ 'Wanted src : %s' "$WANTED")"
al@828 92 _ 'Web site : %s' "$WEB_SITE"
al@828 93 itemize "$(_ 'Conf. files: %s' "$CONFIG_FILES")"
al@828 94 itemize "$(_ 'Provide : %s' "$PROVIDE")"
al@828 95 _ 'Size : %s' "$SIZES"
al@828 96 itemize "$(_ 'Tags : %s' "$TAGS")"
al@828 97 } | sed '/: $/d; s|^\([^:]*\):|<b>\1:</b>|')"
al@828 98 im && footer
al@828 99