tazpkg view modules/info @ rev 846
Remove "busybox" "prefixes" (thanks llev)
We used "busybox wget", etc. to be sure we called Busybox's "wget", not any other "wget". Workaround already done in "getenv" module.
We used "busybox wget", etc. to be sure we called Busybox's "wget", not any other "wget". Workaround already done in "getenv" module.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Oct 09 13:14:01 2015 +0300 (2015-10-09) |
parents | 7acf0290bdb2 |
children | 45d90da42ede |
line source
1 #!/bin/sh
2 # TazPkg - Tiny autonomous zone packages manager, hg.slitaz.org/tazpkg
3 # info - TazPkg module
4 # Information about package (both installed, mirrored, or local)
7 # Connect function libraries
8 . /lib/libtaz.sh
10 # Get TazPkg working environment
11 . @@MODULES@@/getenv
16 # Interactive mode
18 im() { tty -s; }
21 # Unset variables that may absent in the receipt
22 unset EXTRAVERSION TAGS DEPENDS PROVIDE SIZES
24 if [ -e "$1" -a "${1%.tazpkg}" != "$1" ]; then
25 # Local package given
27 # Extract receipt from package
28 PKG=$(realpath "$1")
29 TMP_DIR=$(mktemp -d); cd "$TMP_DIR"
30 cpio -F "$PKG" -i receipt >/dev/null 2>&1
32 . receipt; rm -r "$TMP_DIR"
33 STATE=$(_ 'local package')
35 elif [ -d "$INSTALLED/$1" ]; then
36 # Installed package given
38 . "$INSTALLED/$1/receipt"
39 STATE=$(_ 'installed package')
41 if [ -e "$PKGS_DB/packages.info" ]; then
42 # Check if upgrade available
43 NEWVER=$(awk -F$'\t' -vp="$1" '$1==p{print $2}' "$PKGS_DB/packages.info")
44 if [ "$VERSION" != "$NEWVER" ]; then
45 VERSION="$VERSION $(_n '(new version "%s" available)' "$NEWVER")"
46 else
47 OLDMD5=$(awk -F$'\t' -vp="$1" '$1==p{print $9}' "$PKGS_DB/installed.info")
48 NEWMD5=$(awk -F$'\t' -vp="$1" '$1==p{print $9}' "$PKGS_DB/packages.info")
49 if [ "$OLDMD5" != "$NEWMD5" ]; then
50 VERSION="$VERSION $(_n '(new build available)')"
51 fi
52 fi
53 fi
55 elif [ -e "$PKGS_DB/packages.info" ]; then
56 # Mirrored packages DB is available
57 if [ -n "$(awk -F$'\t' -vp="$1" '$1==p{print $1}' "$PKGS_DB/packages.info")" ]; then
58 # Mirrored package given
60 TMP_RECEIPT=$(mktemp)
61 awk -F$'\t' -vp="$1" '$1==p{
62 printf "PACKAGE=\"%s\"\n", $1
63 printf "VERSION=\"%s\"\n", $2
64 printf "CATEGORY=\"%s\"\n", $3
65 printf "SHORT_DESC=\"%s\"\n", $4
66 printf "WEB_SITE=\"%s\"\n", $5
67 printf "TAGS=\"%s\"\n", $6
68 printf "SIZES=\"%s\"\n", $7
69 printf "DEPENDS=\"%s\"\n", $8
70 }' "$PKGS_DB/packages.info" > "$TMP_RECEIPT"
72 . "$TMP_RECEIPT"; rm "$TMP_RECEIPT"
73 SIZES=$(echo $SIZES | tr ' ' '/')
74 STATE=$(_ 'mirrored package')
75 else
76 newline
77 _ 'Package "%s" not available.' "$1"
78 newline
79 exit 1
80 fi
81 else
82 # Mirrored packages DB isn't available
83 newline
84 longline "$(_ "No \"%s\" found to check for mirrored packages. For more \
85 results, please run \"%s\" once as root before searching." 'packages.info' \
86 'tazpkg recharge')"
87 newline
88 exit 1
89 fi
92 im && title 'TazPkg information' >&2
94 # Display localized short description
95 for LC in $LANG ${LANG%_*}; do
96 PDL="$PKGS_DB/packages-desc.$LC"
97 if [ -e "$PDL" ]; then
98 LOCDESC=$(awk -F$'\t' -vp="$PACKAGE" '$1==p{print $2}' $PDL)
99 [ -n "$LOCDESC" ] && SHORT_DESC="$LOCDESC"
100 fi
101 done
103 [ -z "$SIZES" ] && SIZES=$(echo $PACKED_SIZE/$UNPACKED_SIZE | sed 's|\.0||g' | sed 's|^/$||')
105 emsg "$(
106 {
107 _ 'Package : %s' "$PACKAGE"
108 _ 'State : %s' "$STATE"
109 _ 'Version : %s' "$VERSION$EXTRAVERSION"
110 _ 'Category : %s' "$(_ $CATEGORY)"
111 itemize "$(_ 'Short desc : %s' "$SHORT_DESC")"
112 _ 'Maintainer : %s' "$MAINTAINER"
113 _ 'License : %s' "$LICENSE"
114 itemize "$(_ 'Depends : %s' "$DEPENDS")"
115 itemize "$(_ 'Suggested : %s' "$SUGGESTED")"
116 itemize "$(_ 'Build deps : %s' "$BUILD_DEPENDS")"
117 itemize "$(_ 'Wanted src : %s' "$WANTED")"
118 _ 'Web site : %s' "$WEB_SITE"
119 itemize "$(_ 'Conf. files: %s' "$CONFIG_FILES")"
120 itemize "$(_ 'Provide : %s' "$PROVIDE")"
121 _ 'Size : %s' "$SIZES"
122 itemize "$(_ 'Tags : %s' "$TAGS")"
123 } | sed '/: $/d; s|^\([^:]*\):|<b>\1:</b>|')"
124 im && footer >&2