tazpkg diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/modules/info Tue Aug 11 01:09:15 2015 +0300 1.3 @@ -0,0 +1,99 @@ 1.4 +#!/bin/sh 1.5 +# TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg 1.6 +# info - TazPkg module 1.7 +# Information about package (both installed, mirrored, or local) 1.8 + 1.9 + 1.10 +# Connect function libraries 1.11 +. /lib/libtaz.sh 1.12 +# Get TazPkg configuration variables 1.13 +. /etc/slitaz/slitaz.conf 1.14 +. /etc/slitaz/tazpkg.conf 1.15 + 1.16 + 1.17 +# Interactive mode 1.18 + 1.19 +im() { tty -s; } 1.20 + 1.21 + 1.22 +# Unset variables that may absent in the receipt 1.23 +unset EXTRAVERSION TAGS DEPENDS PROVIDE SIZES 1.24 + 1.25 +if [ -e "$1" ]; then 1.26 + # Local package given 1.27 + 1.28 + # Extract receipt from package 1.29 + PKG="$(realpath "$1")" 1.30 + TMP_DIR=$(mktemp -d); cd $TMP_DIR 1.31 + cpio -F "$PKG" -i receipt >/dev/null 2>&1 1.32 + 1.33 + . receipt; rm -r $TMP_DIR 1.34 + STATE="$(_ 'local package')" 1.35 + 1.36 +elif [ -d "$INSTALLED/$1" ]; then 1.37 + # Installed package given 1.38 + 1.39 + . "$INSTALLED/$1/receipt" 1.40 + STATE="$(_ 'installed package')" 1.41 + 1.42 +elif [ -n "$(awk -F$'\t' -vp="$1" '$1==p{print $1}' "$PKGS_DB/packages.info")" ]; then 1.43 + # Mirrored package given 1.44 + 1.45 + TMP_RECEIPT=$(mktemp) 1.46 + awk -F$'\t' -vp="$1" '$1==p{ 1.47 + printf "PACKAGE=\"%s\"\n", $1 1.48 + printf "VERSION=\"%s\"\n", $2 1.49 + printf "CATEGORY=\"%s\"\n", $3 1.50 + printf "SHORT_DESC=\"%s\"\n", $4 1.51 + printf "WEB_SITE=\"%s\"\n", $5 1.52 + printf "TAGS=\"%s\"\n", $6 1.53 + printf "SIZES=\"%s\"\n", $7 1.54 + printf "DEPENDS=\"%s\"\n", $8 1.55 + }' "$PKGS_DB/packages.info" > $TMP_RECEIPT 1.56 + 1.57 + . $TMP_RECEIPT; rm $TMP_RECEIPT 1.58 + SIZES="$(echo $SIZES | tr ' ' '/')" 1.59 + STATE="$(_ 'mirrored package')" 1.60 + 1.61 +else 1.62 + newline 1.63 + _ 'Package "%s" not available.' "$1" 1.64 + newline 1.65 + exit 1 1.66 +fi 1.67 + 1.68 + 1.69 +im && title 'TazPkg information' 1.70 + 1.71 +# Display localized short description 1.72 +for LC in $LANG ${LANG%_*}; do 1.73 + PDL="$PKGS_DB/packages-desc.$LC" 1.74 + if [ -e "$PDL" ]; then 1.75 + LOCDESC=$(awk -F$'\t' -vp="$PACKAGE" '$1==p{print $2}' $PDL) 1.76 + [ -n "$LOCDESC" ] && SHORT_DESC="$LOCDESC" 1.77 + fi 1.78 +done 1.79 + 1.80 +[ -z "$SIZES" ] && SIZES=$(echo $PACKED_SIZE/$UNPACKED_SIZE | sed 's|\.0||g' | sed 's|^/$||') 1.81 + 1.82 +emsg "$( 1.83 +{ 1.84 + _ 'Package : %s' "$PACKAGE" 1.85 + _ 'State : %s' "$STATE" 1.86 + _ 'Version : %s' "$VERSION$EXTRAVERSION" 1.87 + _ 'Category : %s' "$(_ $CATEGORY)" 1.88 +itemize "$(_ 'Short desc : %s' "$SHORT_DESC")" 1.89 + _ 'Maintainer : %s' "$MAINTAINER" 1.90 + _ 'License : %s' "$LICENSE" 1.91 +itemize "$(_ 'Depends : %s' "$DEPENDS")" 1.92 +itemize "$(_ 'Suggested : %s' "$SUGGESTED")" 1.93 +itemize "$(_ 'Build deps : %s' "$BUILD_DEPENDS")" 1.94 +itemize "$(_ 'Wanted src : %s' "$WANTED")" 1.95 + _ 'Web site : %s' "$WEB_SITE" 1.96 +itemize "$(_ 'Conf. files: %s' "$CONFIG_FILES")" 1.97 +itemize "$(_ 'Provide : %s' "$PROVIDE")" 1.98 + _ 'Size : %s' "$SIZES" 1.99 +itemize "$(_ 'Tags : %s' "$TAGS")" 1.100 +} | sed '/: $/d; s|^\([^:]*\):|<b>\1:</b>|')" 1.101 +im && footer 1.102 +