tazpkg annotate oldstuff/libtazpkgbox @ rev 949
modules/get, modules/install: use "release checksum" too, as defined in packages.info field #9.
Checksum from packages.md5 used in verifying downloaded package file, while checksum in packages.info[$9] used in updates checking.
Checksum from packages.md5 used in verifying downloaded package file, while checksum in packages.info[$9] used in updates checking.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Thu Jul 20 22:40:46 2017 +0300 (2017-07-20) |
parents | f1d05bd96d7f |
children | 03544b89ac81 |
rev | line source |
---|---|
pankso@350 | 1 #!/bin/sh |
pankso@351 | 2 # The libtazpkgbox - Libraries used by tazpkg GUI box. |
pankso@350 | 3 # |
paul@366 | 4 # These are functions to list installed packages in a suitable format for a |
paul@366 | 5 # GTK tree and list mirrored packages using the packages.desc file. The libs |
paul@367 | 6 # also provide functions to search packages and files, and the GUI box for |
pankso@351 | 7 # package information. |
pankso@351 | 8 # |
pankso@351 | 9 # (C) 2010 SliTaz - GNU General Public License v3. |
pankso@350 | 10 # |
pankso@350 | 11 |
pankso@351 | 12 # Include gettext helper script. |
pankso@351 | 13 . /usr/bin/gettext.sh |
pankso@351 | 14 |
pankso@351 | 15 # Export package name for gettext. |
pankso@351 | 16 TEXTDOMAIN='libtazpkgbox' |
pankso@351 | 17 export TEXTDOMAIN |
pankso@351 | 18 |
pankso@351 | 19 # Dont hardcore path, use $LIB |
pankso@350 | 20 export LIB=/usr/lib/slitaz/libtazpkgbox |
pankso@350 | 21 |
pankso@350 | 22 usage() |
pankso@350 | 23 { |
gokhlayeh@405 | 24 [ "$1" ] && echo "??? $0 $@" |
pankso@350 | 25 echo -e "\nTazpkgbox library\n |
pankso@350 | 26 Usage : $0 [function] [pkg|args] [pkg] |
pankso@350 | 27 Functions: |
paul@366 | 28 list-all List all packages. |
paul@366 | 29 list-undigest List undigest packages. |
paul@366 | 30 list-blocked List blocked packages. |
paul@366 | 31 list-upgradeable List all upgradable packages. |
paul@366 | 32 search-packages Search for packages. |
paul@366 | 33 search-files Search for files. |
paul@366 | 34 search-tags Search for TAGS. |
paul@366 | 35 package-infos Display box with pkg information." |
pankso@350 | 36 } |
pankso@350 | 37 |
pankso@350 | 38 # List functions. |
pankso@350 | 39 undigest_list() |
pankso@350 | 40 { |
pankso@350 | 41 IFS="|" |
gokhlayeh@405 | 42 if [ "$1" -a "$1" != "all" ]; then |
gokhlayeh@405 | 43 cut -f 1,2,3,4 -d "|" undigest/$1/packages.desc |
pankso@350 | 44 else |
gokhlayeh@405 | 45 cut -f 1,2,3,4 -d "|" undigest/*/packages.desc | sort |
gokhlayeh@405 | 46 fi 2> /dev/null | while read PACKAGE VERSION SHORT_DESC CATEGORY; do |
gokhlayeh@405 | 47 [ $CAT = all -o $CATEGORY = " $CAT " ] || continue |
pankso@350 | 48 ICON=tazpkg |
pankso@350 | 49 PACKAGE=${PACKAGE%% *} |
pankso@350 | 50 if [ -d installed/$PACKAGE ]; then |
gokhlayeh@405 | 51 [ "$2" = "installable" ] && continue |
pankso@350 | 52 ICON=tazpkg-installed |
pankso@350 | 53 if grep -qs "^$PACKAGE$" blocked-packages.list; then |
pankso@350 | 54 ICON=stop |
pankso@350 | 55 fi |
pankso@350 | 56 else |
gokhlayeh@405 | 57 [ "$2" = "installed" ] && continue |
pankso@350 | 58 fi |
gokhlayeh@405 | 59 [ "$2" = "blocked" -a "$ICON" != "stop" ] && continue |
gokhlayeh@405 | 60 [ "$2" = "upgradeable" ] && |
pankso@350 | 61 ! grep -q ^$PACKAGE$ upgradeable-packages.list && continue |
pankso@350 | 62 echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@350 | 63 done |
pankso@350 | 64 unset IFS |
pankso@350 | 65 } |
pankso@350 | 66 |
pankso@350 | 67 installable_list() |
pankso@350 | 68 { |
pankso@350 | 69 local cache |
pankso@350 | 70 cache=packages.installable_list.$CAT |
pankso@350 | 71 if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then |
pankso@350 | 72 cat $cache |
pankso@350 | 73 return |
pankso@350 | 74 fi |
pankso@350 | 75 IFS="|" |
gokhlayeh@405 | 76 cut -f 1,2,3,4 -d "|" packages.desc undigest/*/packages.desc 2> /dev/null | sort | \ |
pankso@350 | 77 while read PACKAGE VERSION SHORT_DESC CATEGORY; do |
pankso@350 | 78 # Check first for category for more speed. |
gokhlayeh@405 | 79 [ $CAT = all -o $CATEGORY = " $CAT " ] || continue |
gokhlayeh@405 | 80 [ -d installed/${PACKAGE% } ] && continue |
pankso@350 | 81 ICON=tazpkg |
pankso@350 | 82 grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add |
pankso@350 | 83 echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@350 | 84 done | tee $cache |
pankso@350 | 85 unset IFS |
pankso@350 | 86 } |
pankso@350 | 87 |
pankso@350 | 88 installed_list() |
pankso@350 | 89 { |
pankso@350 | 90 for pkg in ${1}installed/* |
pankso@350 | 91 do |
gokhlayeh@405 | 92 [ "$1" -a -s installed/$(basename $pkg)/receipt ] && continue |
pankso@350 | 93 . $pkg/receipt |
pankso@350 | 94 ICON=tazpkg-installed |
gokhlayeh@405 | 95 [ $CAT = all -o $CATEGORY = $CAT ] || continue |
gokhlayeh@405 | 96 if [ "$1" -o -L $pkg ]; then |
pankso@350 | 97 ICON=media-flash |
pankso@350 | 98 else |
pankso@350 | 99 grep -qs "^$PACKAGE" undigest/*/packages.desc && ICON=add |
pankso@350 | 100 fi |
pankso@350 | 101 grep -qs "^$PACKAGE$" blocked-packages.list && ICON=stop |
pankso@350 | 102 echo "$ICON|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@350 | 103 done |
pankso@350 | 104 } |
pankso@350 | 105 |
pankso@350 | 106 all_list() |
pankso@350 | 107 { |
pankso@350 | 108 local cache |
pankso@350 | 109 cache=packages.all_list.$CAT |
pankso@350 | 110 if [ -s $cache -a $cache -nt packages.desc -a $cache -nt installed ]; then |
pankso@350 | 111 cat $cache |
pankso@350 | 112 return |
pankso@350 | 113 fi |
gokhlayeh@405 | 114 { installable_list ; installed_list; } | sort -t \| -k 2 -u | tee $cache |
pankso@350 | 115 } |
pankso@350 | 116 |
pankso@350 | 117 blocked_list() |
pankso@350 | 118 { |
pankso@350 | 119 ICON=tazpkg-installed |
pankso@350 | 120 [ "$1" = "blocked" ] && ICON=stop |
pankso@350 | 121 for pkg in $(cat $1-packages.list 2> /dev/null); do |
pankso@350 | 122 [ -f installed/$pkg/receipt ] || continue |
pankso@350 | 123 . installed/$pkg/receipt |
gokhlayeh@405 | 124 [ $CAT = all -o $CATEGORY = $CAT ] || continue |
pankso@350 | 125 AVAILABLE=$(grep -s "^$pkg " packages.desc \ |
pankso@350 | 126 undigest/*/packages.desc | awk '{ print $3 }') |
pankso@350 | 127 echo "$ICON|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC" |
pankso@350 | 128 done |
pankso@350 | 129 } |
pankso@350 | 130 |
pankso@350 | 131 # Search functions |
pankso@350 | 132 |
pankso@350 | 133 clean_search() |
pankso@350 | 134 { |
pankso@350 | 135 # Clean preview results. |
pankso@350 | 136 rm -f /tmp/tazpkgbox/search |
pankso@350 | 137 touch /tmp/tazpkgbox/search |
pankso@350 | 138 } |
pankso@350 | 139 |
pankso@350 | 140 list_files() |
pankso@350 | 141 { |
gokhlayeh@405 | 142 sed -e "/^$/d" -e "1,/^=*$/d" -e "/^=*$/,/EOT/d" | while read input; do |
gokhlayeh@405 | 143 if [ "$input" = "${input/ :/}" ]; then |
gokhlayeh@405 | 144 # Input is a file. |
gokhlayeh@405 | 145 if [ "$ICON" = tazpkg ]; then |
gokhlayeh@405 | 146 echo "add|$PACKAGE| |$input" |
pankso@350 | 147 else |
gokhlayeh@405 | 148 if [ -d $input ] ; then |
gokhlayeh@405 | 149 echo "folder|$PACKAGE| |$input" |
gokhlayeh@405 | 150 elif [ -x $input ]; then |
gokhlayeh@405 | 151 echo "exec|$PACKAGE| |$input" |
gokhlayeh@405 | 152 elif [ -f $input ]; then |
gokhlayeh@405 | 153 echo "txt|$PACKAGE| |$input" |
gokhlayeh@405 | 154 else |
gokhlayeh@405 | 155 # Missing installed file. |
gokhlayeh@405 | 156 echo "dialog-warning|$PACKAGE| |$input" |
gokhlayeh@405 | 157 fi |
gokhlayeh@405 | 158 fi |
pankso@350 | 159 else |
paul@437 | 160 # Input contains package name, don't refer to Package word as |
gokhlayeh@405 | 161 # tazpkg can use other languages. |
gokhlayeh@405 | 162 PACKAGE=$(echo $input | sed 's/^.* \(.*\) :.*$/\1/') |
gokhlayeh@405 | 163 ICON=tazpkg |
gokhlayeh@405 | 164 [ -d /var/lib/tazpkg/installed/$PACKAGE ] && ICON=tazpkg-installed |
gokhlayeh@405 | 165 echo "$ICON|$PACKAGE |$(grep -hs "^$PACKAGE " /var/lib/tazpkg/packages.desc \ |
gokhlayeh@405 | 166 /var/lib/tazpkg/undigest/*/packages.desc | cut -f2,3 -d '|' | head -1)" |
pankso@350 | 167 fi |
pankso@350 | 168 done |
pankso@350 | 169 } |
pankso@350 | 170 |
pankso@350 | 171 list_package() |
pankso@350 | 172 { |
pankso@350 | 173 if [ -d /var/lib/tazpkg/installed/$1 ]; then |
pankso@350 | 174 . /var/lib/tazpkg/installed/$1/receipt |
pankso@350 | 175 echo "tazpkg-installed|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@350 | 176 else |
pankso@350 | 177 echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" |
pankso@350 | 178 fi |
pankso@350 | 179 } |
pankso@350 | 180 |
pankso@350 | 181 search_package() |
pankso@350 | 182 { |
pankso@350 | 183 IFS="|" |
gokhlayeh@405 | 184 cut -f1,2,3 -d '|' /var/lib/tazpkg/packages.desc \ |
pankso@350 | 185 /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ |
pankso@350 | 186 while read PACKAGE VERSION SHORT_DESC; do |
gokhlayeh@405 | 187 [ "$PACKAGE" = "${PACKAGE/$SEARCH/}" -a "$SHORT_DESC" = "${SHORT_DESC/$SEARCH/}" ] \ |
gokhlayeh@405 | 188 && continue |
gokhlayeh@405 | 189 list_package ${PACKAGE% } |
gokhlayeh@405 | 190 done |
pankso@350 | 191 unset IFS |
pankso@350 | 192 } |
pankso@350 | 193 |
pankso@350 | 194 case "$1" in |
pankso@350 | 195 list-all) |
pankso@350 | 196 cd /var/lib/tazpkg |
pankso@350 | 197 CAT=`cat /tmp/tazpkgbox/category` |
pankso@350 | 198 STATUS=`cat /tmp/tazpkgbox/status` |
pankso@350 | 199 case $STATUS in |
pankso@350 | 200 blocked|upgradeable) |
pankso@350 | 201 blocked_list $STATUS;; |
pankso@350 | 202 linkable) |
pankso@350 | 203 [ -d fslink ] && installed_list \ |
pankso@350 | 204 $(readlink fslink)/var/lib/tazpkg/;; |
pankso@350 | 205 installed) |
pankso@350 | 206 installed_list ;; |
pankso@350 | 207 installable) |
pankso@350 | 208 installable_list ;; |
pankso@350 | 209 *) |
pankso@350 | 210 all_list ;; |
pankso@350 | 211 esac ;; |
pankso@350 | 212 list-undigest) |
pankso@350 | 213 cd /var/lib/tazpkg |
pankso@350 | 214 set -- `cat /tmp/tazpkgbox/undigest-category` |
gokhlayeh@405 | 215 CAT="${1:-all}" |
gokhlayeh@405 | 216 undigest_list $2 $3 ;; |
pankso@350 | 217 list-blocked|list-upgradeable) |
pankso@350 | 218 cd /var/lib/tazpkg |
pankso@350 | 219 CAT=`cat /tmp/tazpkgbox/category` |
pankso@350 | 220 blocked_list $1 ;; |
pankso@350 | 221 search-files) |
pankso@350 | 222 # Search for files |
pankso@350 | 223 clean_search |
pankso@350 | 224 tazpkg search-file "$SEARCH" --mirror | list_files > \ |
pankso@350 | 225 /tmp/tazpkgbox/search ;; |
pankso@350 | 226 search-packages) |
pankso@350 | 227 clean_search |
gokhlayeh@405 | 228 { search_package ; |
pankso@350 | 229 for i in $(grep ^$SEARCH= /var/lib/tazpkg/packages.equiv | \ |
pankso@350 | 230 cut -d= -f2); do |
pankso@350 | 231 SEARCH=${i#*:} |
pankso@350 | 232 search_package |
gokhlayeh@405 | 233 done; } > /tmp/tazpkgbox/search ;; |
pankso@350 | 234 search-tags) |
pankso@350 | 235 clean_search |
gokhlayeh@405 | 236 fgrep -ls TAGS /home/slitaz/wok/*/receipt | while read file; do |
pankso@350 | 237 TAGS="" |
pankso@350 | 238 . $file |
pankso@350 | 239 case "$TAGS" in |
pankso@350 | 240 *$SEARCH*) list_package $PACKAGE ;; |
pankso@350 | 241 esac |
pankso@350 | 242 done > /tmp/tazpkgbox/search ;; |
pankso@350 | 243 package-infos) |
pankso@350 | 244 # Dialog box to provide package info and actions |
pankso@350 | 245 XTERM_OPTS="-geometry 80x16+120+120" |
pankso@350 | 246 PKG=`cat /tmp/tazpkgbox/pkg | sed s/" "/""/g` |
pankso@350 | 247 ROOT=/var/lib/tazpkg |
pankso@350 | 248 if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then |
pankso@350 | 249 ROOT=$(readlink /var/lib/tazpkg/fslink)$ROOT |
pankso@350 | 250 fi |
pankso@350 | 251 TMP_DIR=/tmp/tazpkg-$$-$RANDOM |
pankso@350 | 252 if [ "$2" = "sizes" ]; then |
pankso@350 | 253 cat <<EOT |
paul@366 | 254 Dependencies for $3: |
pankso@350 | 255 $(tazpkg depends $3) |
pankso@350 | 256 |
paul@366 | 257 Reverse dependencies for $3: |
pankso@350 | 258 $(tazpkg rdepends $3) |
pankso@350 | 259 EOT |
pankso@350 | 260 exit 0 |
pankso@350 | 261 fi |
pankso@350 | 262 if [ "$2" = "info" ]; then |
pankso@350 | 263 RECEIPT=$ROOT/installed/$4/receipt |
pankso@350 | 264 . $RECEIPT |
pankso@350 | 265 case "$3" in |
pankso@350 | 266 Web*) browser $WEB_SITE &;; |
pankso@350 | 267 Tip*) browser http://hg.slitaz.org/wok/raw-file/tip/$4/receipt &;; |
pascal@372 | 268 Siz*) xterm -T "$4 `gettext \"depends (q to quit)\"`" -e "$0 package-infos sizes $4 | less";; |
pankso@351 | 269 Upg*) xterm -T "$4 `gettext \"upgrade\"`" -e "tazpkg get-install $4 --forced ; sleep 2";; |
pankso@350 | 270 Hand*) browser $HANDBOOK_URL &;; |
pankso@350 | 271 Sug*) $0 package-infos list_packages $SUGGESTED;; |
pankso@350 | 272 Dep*) $0 package-infos list_packages $DEPENDS;; |
pankso@350 | 273 Mod*) $0 package-infos list_packages $(xargs echo < $ROOT/installed/$3/modifiers);; |
pankso@350 | 274 Con*) tazpkgbox list_config $4;; |
pankso@351 | 275 Ver*) xterm -T "$4 `gettext \"receipt (q to quit)\"`" -e "cat $RECEIPT | less";; |
pankso@350 | 276 esac |
pankso@350 | 277 exit 0 |
pankso@350 | 278 fi |
pankso@350 | 279 |
pankso@350 | 280 if [ "$2" = "list_files" ]; then |
pankso@350 | 281 CONF_FILES="$(tazpkg list-config $3 | awk "$AWK_FILTER")" |
gokhlayeh@405 | 282 if [ "$CONF_FILES" ]; then |
pankso@350 | 283 mkdir $TMP_DIR |
pankso@350 | 284 zcat $ROOT/installed/$3/volatile.cpio.gz | \ |
pankso@350 | 285 ( cd $TMP_DIR ; cpio -id > /dev/null ) |
pankso@350 | 286 fi |
pankso@350 | 287 cat $ROOT/installed/$3/files.list | grep ^/ | while read file; do |
pankso@350 | 288 realfile="$file" |
pankso@350 | 289 if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then |
pankso@350 | 290 realfile="$(readlink /var/lib/tazpkg/fslink)$file" |
pankso@350 | 291 fi |
pankso@350 | 292 echo -n "$(stat -c "%A|%U|%G|%s|$file|" "$realfile" || \ |
pankso@350 | 293 echo "File lost !||||$file|")" |
pankso@350 | 294 if [ -L "$realfile" ]; then |
pankso@350 | 295 echo -n "$(readlink "$realfile")" |
pankso@350 | 296 elif [ -f "$file" ]; then |
pankso@350 | 297 case "$CONF_FILES" in |
pankso@350 | 298 *$file*) |
pankso@350 | 299 if cmp $file $TMP_DIR$file > /dev/null 2>&1; then |
pankso@350 | 300 echo -n "[configuration]" |
pankso@350 | 301 else |
pankso@350 | 302 echo -n "$(stat -c "[configuration: %.16y]" $file)" |
pankso@350 | 303 fi;; |
pankso@350 | 304 #* if [ "$(tazpkg check-file $file $2)" = "failure" ]; then |
pankso@350 | 305 # echo -n "Invalid md5" |
pankso@350 | 306 # fi;; |
pankso@350 | 307 esac |
pankso@350 | 308 fi |
pankso@350 | 309 echo "" |
pankso@350 | 310 done |
gokhlayeh@405 | 311 [ "$CONF_FILES" ] && rm -rf $TMP_DIR |
pankso@350 | 312 exit 0 |
pankso@350 | 313 fi |
pankso@350 | 314 |
pankso@350 | 315 if [ "$2" = "list_files_mirror" ]; then |
pankso@350 | 316 for i in /var/lib/tazpkg/files.list.lzma \ |
pankso@350 | 317 /var/lib/tazpkg/undigest/*/files.list.lzma ; do |
pankso@350 | 318 [ -f $i ] || continue |
pankso@350 | 319 unlzma -c $i |
pankso@350 | 320 done | grep -- "^$3:" | awk '{ print substr($0,index($0,":")+2) }' |
pankso@350 | 321 exit 0 |
pankso@350 | 322 fi |
pankso@350 | 323 |
pankso@350 | 324 if [ "$2" = "list_packages" ]; then |
pankso@350 | 325 PKG="$3" |
gokhlayeh@405 | 326 if [ "$4" ]; then |
pankso@350 | 327 shift |
pankso@350 | 328 export LIST_PKGS=' |
pankso@350 | 329 <window title="Packages" icon-name="tazpkg"> |
pankso@350 | 330 <vbox> |
pankso@350 | 331 <tree> |
pankso@350 | 332 <width>600</width><height>160</height> |
pankso@350 | 333 <label>Package|Version|Size|Description</label> |
pankso@350 | 334 <variable>PKG</variable> |
pankso@350 | 335 ' |
pankso@350 | 336 for i in "$@"; do |
pankso@350 | 337 if [ -d $ROOT/installed/$i ]; then |
pankso@350 | 338 . $ROOT/installed/$i/receipt |
pankso@350 | 339 LIST_PKGS="$LIST_PKGS |
pankso@350 | 340 <item icon=\"tazpkg\">$i|$VERSION|Installed|$SHORT_DESC</item> |
pankso@350 | 341 " |
pankso@350 | 342 else |
pankso@350 | 343 RES=`grep -sh "^$i " \ |
pankso@350 | 344 /var/lib/tazpkg/packages.desc \ |
pankso@350 | 345 /var/lib/tazpkg/undigest/*/packages.desc` |
pankso@350 | 346 PACKAGE=`echo "$RES" | cut -d "|" -f 1` |
pankso@350 | 347 VERSION=`echo "$RES" | cut -d "|" -f 2` |
pankso@350 | 348 SHORT_DESC=`echo "$RES" | cut -d "|" -f 3` |
pankso@350 | 349 SIZE=`grep -sh -A 3 "^$(echo $PACKAGE)$" \ |
pankso@350 | 350 /var/lib/tazpkg/packages.txt \ |
pankso@350 | 351 /var/lib/tazpkg/undigest/*/packages.txt | \ |
pankso@350 | 352 tail -1 | sed 's/.*(\(.*\) .*/\1/'` |
pankso@350 | 353 LIST_PKGS="$LIST_PKGS |
pankso@350 | 354 <item icon=\"tazpkg\">$i|$VERSION|$SIZE|$SHORT_DESC</item> |
pankso@350 | 355 " |
pankso@350 | 356 fi |
pankso@350 | 357 done |
pankso@350 | 358 LIST_PKGS="$LIST_PKGS |
pankso@350 | 359 <action>echo "\$PKG" > /tmp/tazpkgbox/pkg</action> |
pankso@350 | 360 <action>$0 package-infos</action> |
pankso@350 | 361 <action>refresh:PKG</action> |
pankso@350 | 362 <action>refresh:PKG_STATS</action> |
pankso@350 | 363 <action>refresh:CACHE_STATS</action> |
pankso@350 | 364 </tree> |
pankso@350 | 365 <hbox> |
pankso@350 | 366 <button ok> |
pankso@350 | 367 </button> |
pankso@350 | 368 <button cancel> |
pankso@350 | 369 <action type=\"closewindow\">LIST_PKGS</action> |
pankso@350 | 370 </button> |
pankso@350 | 371 </hbox> |
pankso@350 | 372 </vbox> |
pankso@350 | 373 </window> |
pankso@350 | 374 " |
pankso@350 | 375 eval `gtkdialog --center --program=LIST_PKGS` |
pankso@350 | 376 [ "$EXIT" = "OK" ] || exit 0 |
pankso@350 | 377 fi |
pankso@350 | 378 fi |
pankso@350 | 379 |
pankso@350 | 380 export LIST_FILES=" |
pankso@351 | 381 <window title=\"`eval_gettext \"\\$PKG files\"`\" icon-name=\"system-file-manager\"> |
pankso@350 | 382 <vbox> |
pankso@350 | 383 <tree exported_column=\"4\"> |
pankso@350 | 384 <variable>FILE</variable> |
pankso@350 | 385 <width>600</width><height>160</height> |
pankso@350 | 386 <label>Access | User | Group | Size | Name | Target</label> |
pankso@350 | 387 <input> $0 package-infos list_files $PKG </input> |
pankso@350 | 388 <action>tazpkg list-config $PKG | grep -q ^\$FILE$ && leafpad \$FILE</action> |
pankso@350 | 389 </tree> |
pankso@350 | 390 <hbox> |
pankso@350 | 391 <button> |
pankso@350 | 392 <input file icon=\"gtk-close\"></input> |
pankso@350 | 393 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 394 </button> |
pankso@350 | 395 </hbox> |
pankso@350 | 396 </vbox> |
pankso@350 | 397 </window> |
pankso@350 | 398 " |
pankso@350 | 399 |
pankso@350 | 400 export LIST_FILES_MIRROR=" |
pankso@350 | 401 <window title=\"$PKG files\" icon-name=\"system-file-manager\"> |
pankso@350 | 402 <vbox> |
pankso@350 | 403 <tree> |
pankso@350 | 404 <width>300</width><height>160</height> |
pankso@350 | 405 <label>File Name</label> |
pankso@350 | 406 <input> $0 package-infos list_files_mirror $PKG </input> |
pankso@350 | 407 </tree> |
pankso@350 | 408 <hbox> |
pankso@350 | 409 <button> |
pankso@350 | 410 <input file icon=\"gtk-close\"></input> |
pankso@350 | 411 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 412 </button> |
pankso@350 | 413 </hbox> |
pankso@350 | 414 </vbox> |
pankso@350 | 415 </window> |
pankso@350 | 416 " |
pankso@350 | 417 |
pankso@350 | 418 # Installed or not installed, that is the question! |
pankso@350 | 419 if [ -d $ROOT/installed/$PKG ]; then |
pankso@350 | 420 PACKED_SIZE="" |
pankso@350 | 421 DEPENDS="" |
pankso@350 | 422 MAINTAINER="" |
pankso@350 | 423 BUGS="" |
pankso@350 | 424 TAGS="" |
pankso@350 | 425 . $ROOT/installed/$PKG/receipt |
pankso@350 | 426 MAINTAINER=$(echo "$MAINTAINER" | sed 's/[<>|]/ /g') |
pankso@350 | 427 upgrade_version="$(cat /var/lib/tazpkg/packages.desc \ |
pankso@350 | 428 /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | \ |
pankso@350 | 429 awk "/^$PACKAGE / { print \$3 }" | head -1 )" |
pankso@350 | 430 UPGRADE="" |
gokhlayeh@405 | 431 if [ "$upgrade_version" ]; then |
pankso@350 | 432 if [ "$upgrade_version" != "$VERSION" ]; then |
pankso@350 | 433 UPGRADE="$upgrade_version" |
pankso@350 | 434 else |
pankso@350 | 435 cur_md5="$(awk "/ $PACKAGE-$VERSION/ { print \$1 }" \ |
pankso@350 | 436 $ROOT/installed.md5)" |
pankso@350 | 437 new_md5="$(cat /var/lib/tazpkg/packages.md5 \ |
pankso@350 | 438 /var/lib/tazpkg/undigest/*/packages.md5 \ |
pankso@350 | 439 2> /dev/null | awk "/ $PACKAGE-$VERSION/ { print \$1 }")" |
gokhlayeh@405 | 440 if [ "$cur_md5" -a "$new_md5" -a \ |
pankso@350 | 441 "$cur_md5" != "$new_md5" ]; then |
pankso@350 | 442 UPGRADE="build" |
pankso@350 | 443 fi |
pankso@350 | 444 fi |
pankso@350 | 445 fi |
pankso@350 | 446 PACKAGE_INFOS=" |
pankso@350 | 447 <window title=\"Package: $PKG\" icon-name=\"package-x-generic\"> |
pankso@350 | 448 <vbox> |
pankso@350 | 449 |
pankso@350 | 450 <tree> |
pankso@350 | 451 <width>460</width><height>200</height> |
pankso@350 | 452 <label>$PKG|$SHORT_DESC</label> |
pankso@350 | 453 <variable>FIELD</variable> |
pankso@350 | 454 <item icon=\"tazpkg\">Version: | $VERSION</item> |
pankso@350 | 455 <item icon=\"tazpkg\">Category: | $CATEGORY</item>" |
gokhlayeh@405 | 456 [ "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 457 <item icon=\"tazpkg\">Upgrade: | $(echo $UPGRADE)</item>" |
gokhlayeh@405 | 458 [ "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 459 <item icon=\"tazpkg\">Depends: | $(echo $DEPENDS)</item>" |
gokhlayeh@405 | 460 [ "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 461 <item icon=\"tazpkg\">Suggested: | $(echo $SUGGESTED)</item>" |
gokhlayeh@405 | 462 [ "$PACKED_SIZE" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 463 <item icon=\"tazpkg\">Size: | $PACKED_SIZE ($UNPACKED_SIZE installed)</item>" |
gokhlayeh@405 | 464 [ "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 465 <item icon=\"system-users\">Maintainer: | $MAINTAINER</item>" |
gokhlayeh@405 | 466 [ "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 467 <item icon=\"important\">Bugs: | $BUGS</item>" |
gokhlayeh@405 | 468 [ "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 469 <item icon=\"ascii\">Handbook: | $HANDBOOK_URL</item>" |
gokhlayeh@405 | 470 [ "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 471 <item icon=\"tazpkg\">Tags: | $TAGS</item>" |
gokhlayeh@405 | 472 [ "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 473 <item icon=\"tazpkg\">Config files: | $CONFIG_FILES</item>" |
pankso@350 | 474 [ -f $ROOT/installed/$PKG/modifiers ] && |
pankso@350 | 475 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 476 <item icon=\"tazpkg\">Modified by: | $(xargs echo < $ROOT/installed/$PKG/modifiers)</item>" |
pankso@350 | 477 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 478 <item icon=\"applications-internet\">Website: | $WEB_SITE</item> |
pankso@350 | 479 <item icon=\"help\">Tip: | double-click any item for more information</item> |
pankso@350 | 480 <action> $0 package-infos info \"\$FIELD\" $PKG </action> |
pankso@350 | 481 </tree> |
pankso@350 | 482 |
pankso@350 | 483 <hbox>" |
pankso@350 | 484 [ -s $ROOT/installed/$PACKAGE/description.txt ] && |
pankso@350 | 485 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 486 <button> |
pankso@350 | 487 <label>Description</label> |
pankso@350 | 488 <input file icon=\"help\"></input> |
pankso@350 | 489 <action>xterm -T \"$PKG description (q to quit)\" $XTERM_OPTS \ |
pankso@350 | 490 -e \"less $ROOT/installed/$PKG/description.txt\"</action> |
pankso@350 | 491 </button>" |
pankso@350 | 492 if [ ! -d /var/lib/tazpkg/fslink ]; then |
pankso@350 | 493 [ ${PKG%%-*} = get -a ! -d $ROOT/installed/${PKG#get-} ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 494 <button> |
pankso@350 | 495 <label>Install</label> |
pankso@350 | 496 <input file icon=\"go-next\"></input> |
pankso@350 | 497 <action>xterm -T \"Install ${PKG#get-}\" $XTERM_OPTS -e \"\ |
pankso@350 | 498 $PKG; sleep 5\"</action> |
pankso@350 | 499 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 500 </button>" |
gokhlayeh@405 | 501 [ "$UPGRADE" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 502 <button> |
pankso@350 | 503 <label>Upgrade</label> |
pankso@350 | 504 <input file icon=\"go-next\"></input> |
pankso@350 | 505 <action>xterm -T \"Install $PKG\" $XTERM_OPTS -e \"\ |
pankso@350 | 506 tazpkg get-install $PKG --forced ; sleep 5\"</action> |
pankso@350 | 507 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 508 </button>" |
gokhlayeh@405 | 509 fgrep -q post_install $ROOT/installed/$PKG/receipt && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 510 <button> |
pankso@350 | 511 <label>Reconfigure</label> |
pankso@350 | 512 <input file icon=\"reload\"></input> |
pankso@350 | 513 <action>xterm -T \"Reconfigure $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 514 tazpkg reconfigure $PACKAGE; sleep 2\"</action> |
pankso@350 | 515 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 516 </button>" |
pankso@350 | 517 if grep -qs ^$PKG$ /var/lib/tazpkg/blocked-packages.list; then |
pankso@350 | 518 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 519 <button> |
pankso@350 | 520 <label>Unblock</label> |
pankso@350 | 521 <input file icon=\"up\"></input> |
pankso@350 | 522 <action>xterm -T \"Unblock $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 523 tazpkg unblock $PACKAGE; sleep 2\"</action> |
pankso@350 | 524 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 525 </button>" |
pankso@350 | 526 else |
pankso@350 | 527 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 528 <button> |
pankso@350 | 529 <label>Block</label> |
pankso@350 | 530 <input file icon=\"down\"></input> |
pankso@350 | 531 <action>xterm -T \"Block $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 532 tazpkg block $PACKAGE; sleep 2\"</action> |
pankso@350 | 533 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 534 </button>" |
pankso@350 | 535 fi |
pankso@350 | 536 fi |
pankso@350 | 537 if [ "$(cat /tmp/tazpkgbox/status)" = "linkable" ]; then |
pankso@350 | 538 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 539 <button> |
pankso@350 | 540 <label>Link</label> |
pankso@350 | 541 <input file icon=\"edit-redo\"></input> |
pankso@350 | 542 <action>xterm -T \"Link $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 543 tazpkg link $PACKAGE $(readlink /var/lib/tazpkg/fslink); sleep 2\"</action> |
pankso@350 | 544 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 545 </button>" |
pankso@350 | 546 elif [ ! -s $ROOT/installed/$PKG/modifiers ]; then |
pankso@350 | 547 [ -L $ROOT/installed/$PKG ] || PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 548 <button> |
pankso@350 | 549 <label>Repack</label> |
pankso@350 | 550 <input file icon=\"edit-redo\"></input> |
pankso@350 | 551 <action>xterm -T \"Repack $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 552 cd /var/cache/tazpkg; \ |
pankso@350 | 553 tazpkg repack $PACKAGE; sleep 2\"</action> |
pankso@350 | 554 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 555 </button> |
pankso@350 | 556 " |
pankso@350 | 557 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 558 <button> |
pankso@350 | 559 <label>Remove</label> |
pankso@350 | 560 <input file icon=\"edit-delete\"></input> |
pankso@350 | 561 <action>xterm -T \"Remove $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 562 tazpkg remove $PACKAGE; sleep 2\"</action> |
pankso@350 | 563 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 564 </button> |
pankso@350 | 565 " |
pankso@350 | 566 else |
pankso@350 | 567 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 568 <button> |
pankso@350 | 569 <label>Re-install</label> |
pankso@350 | 570 <input file icon=\"edit-redo\"></input> |
pankso@350 | 571 <action>xterm -T \"Re-install $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 572 tazpkg get-install $PACKAGE --forced; sleep 2\"</action> |
pankso@350 | 573 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 574 </button> |
pankso@350 | 575 <button> |
pankso@350 | 576 <label>Remove</label> |
pankso@350 | 577 <input file icon=\"edit-delete\"></input> |
pankso@350 | 578 <action>xterm -T \"Remove $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 579 tazpkg remove $PACKAGE; sleep 2\"</action> |
pankso@350 | 580 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 581 </button> |
pankso@350 | 582 " |
pankso@350 | 583 fi |
pankso@350 | 584 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 585 <button> |
pankso@350 | 586 <label>View Files</label> |
pankso@350 | 587 <input file icon=\"tazpkg\"></input> |
pankso@350 | 588 <action type=\"launch\">LIST_FILES</action> |
pankso@350 | 589 </button> |
pankso@350 | 590 <button> |
pankso@350 | 591 <input file icon=\"gtk-close\"></input> |
pankso@350 | 592 <action type=\"closewindow\">INSTALLED_PACKAGE_ACTIONS</action> |
pankso@350 | 593 </button> |
pankso@350 | 594 </hbox> |
pankso@350 | 595 |
pankso@350 | 596 </vbox> |
pankso@350 | 597 </window> |
pankso@350 | 598 " |
pankso@350 | 599 export PACKAGE_INFOS |
pankso@350 | 600 else |
pankso@350 | 601 RES=`grep -sh "^$PKG " /var/lib/tazpkg/packages.desc \ |
pankso@350 | 602 /var/lib/tazpkg/undigest/*/packages.desc` |
pankso@350 | 603 PACKAGE=`echo "$RES" | cut -d "|" -f 1` |
pankso@350 | 604 VERSION=`echo "$RES" | cut -d "|" -f 2` |
pankso@350 | 605 SHORT_DESC=`echo "$RES" | cut -d "|" -f 3` |
pankso@350 | 606 CATEGORY=`echo "$RES" | cut -d "|" -f 4` |
pankso@350 | 607 WEB_SITE=`echo "$RES" | cut -d "|" -f 5` |
pankso@350 | 608 SIZES=`grep -sh -A 3 "^$(echo $PACKAGE)$" /var/lib/tazpkg/packages.txt \ |
pankso@350 | 609 /var/lib/tazpkg/undigest/*/packages.txt | tail -1` |
pankso@350 | 610 DEPENDS="" |
pankso@350 | 611 SUGGESTED="" |
pankso@350 | 612 MAINTAINER="" |
pankso@350 | 613 BUGS="" |
pankso@350 | 614 HANDBOOK_URL="" |
pankso@350 | 615 TAGS="" |
pankso@350 | 616 CONFIG_FILES="" |
pankso@350 | 617 height=160 |
pankso@350 | 618 if [ -s /home/slitaz/wok/$PKG/receipt ]; then |
pankso@350 | 619 . /home/slitaz/wok/$PKG/receipt |
pankso@350 | 620 height=200 |
pankso@350 | 621 fi |
pankso@350 | 622 PACKAGE_INFOS=" |
pankso@350 | 623 <window title=\"Package: $PACKAGE\" icon-name=\"package-x-generic\"> |
pankso@350 | 624 <vbox> |
pankso@350 | 625 |
pankso@350 | 626 <tree> |
pankso@350 | 627 <width>460</width><height>$height</height> |
pankso@350 | 628 <label>$PKG|$SHORT_DESC</label> |
pankso@350 | 629 <variable>FIELD2</variable> |
pankso@350 | 630 <item icon=\"tazpkg\">Version: | $VERSION</item> |
pankso@350 | 631 <item icon=\"tazpkg\">Category: | $CATEGORY</item>" |
gokhlayeh@405 | 632 [ "$DEPENDS" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 633 <item icon=\"tazpkg\">Depends: | $(echo $DEPENDS)</item>" |
gokhlayeh@405 | 634 [ "$SUGGESTED" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 635 <item icon=\"tazpkg\">Suggested: | $(echo $SUGGESTED)</item>" |
gokhlayeh@405 | 636 [ "$SIZES" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 637 <item icon=\"tazpkg\">Size: | $SIZES</item>" |
gokhlayeh@405 | 638 [ "$MAINTAINER" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 639 <item icon=\"system-users\">Maintainer: | $MAINTAINER</item>" |
gokhlayeh@405 | 640 [ "$BUGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 641 <item icon=\"important\">Bugs: | $BUGS</item>" |
gokhlayeh@405 | 642 [ "$HANDBOOK_URL" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 643 <item icon=\"ascii\">Handbook: | $HANDBOOK_URL</item>" |
gokhlayeh@405 | 644 [ "$TAGS" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 645 <item icon=\"tazpkg\">Tags: | $TAGS</item>" |
gokhlayeh@405 | 646 [ "$CONFIG_FILES" ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 647 <item icon=\"tazpkg\">Config files: | $CONFIG_FILES</item>" |
pankso@350 | 648 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 649 <item icon=\"applications-internet\">Website: | $WEB_SITE</item> |
pankso@350 | 650 <item icon=\"text-editor\">Receipt: | double-click to view receipt</item> |
pankso@350 | 651 <action>case \$FIELD2 in Web*) browser $WEB_SITE &;; esac</action> |
pankso@350 | 652 <action>case \$FIELD2 in Rec*) browser http://hg.slitaz.org/wok/raw-file/tip/$PACKAGE/receipt &;; esac</action> |
pankso@350 | 653 |
pankso@350 | 654 </tree> |
pankso@350 | 655 |
pankso@350 | 656 <hbox>" |
pankso@350 | 657 [ ${PACKAGE%%-*} = get ] && PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 658 <checkbox> |
pankso@350 | 659 <label>Auto exec</label> |
pankso@350 | 660 <variable>AUTO_EXEC</variable> |
pankso@350 | 661 <default>true</default> |
pankso@350 | 662 </checkbox>" |
pankso@350 | 663 PACKAGE_INFOS="$PACKAGE_INFOS |
pankso@350 | 664 <checkbox> |
pankso@350 | 665 <label>Auto install depends</label> |
pankso@350 | 666 <variable>AUTO_DEPENDS</variable> |
pankso@350 | 667 <default>true</default> |
pankso@350 | 668 </checkbox> |
pankso@350 | 669 <button> |
pankso@350 | 670 <label>Install Package</label> |
pankso@350 | 671 <input file icon=\"go-next\"></input> |
pankso@350 | 672 <action>xterm -T \"Install $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 673 if [ x\$AUTO_DEPENDS != xtrue ]; then script -c \\\"tazpkg get-install $PACKAGE\\\" /var/log/tazpkg-install.log;\ |
pankso@350 | 674 else script -c \\\"yes y | tazpkg get-install $PACKAGE\\\" /var/log/tazpkg-install.log; fi; \ |
pankso@350 | 675 [ x\${AUTO_EXEC} = xtrue ] && $PACKAGE; \ |
pankso@350 | 676 sleep 2\"</action> |
pankso@350 | 677 <action type=\"closewindow\">MIRRORED_PACKAGE_ACTIONS</action> |
pankso@350 | 678 </button> |
pankso@350 | 679 <button> |
pankso@350 | 680 <label>Download</label> |
pankso@350 | 681 <input file icon=\"go-next\"></input> |
pankso@350 | 682 <action>xterm -T \"Get $PACKAGE\" $XTERM_OPTS -e \"\ |
pankso@350 | 683 cd /var/cache/tazpkg; tazpkg get $PACKAGE; sleep 2\"</action> |
pankso@350 | 684 <action type=\"closewindow\">MIRRORED_PACKAGE_ACTIONS</action> |
pankso@350 | 685 </button> |
pankso@350 | 686 <button> |
pankso@350 | 687 <label>View Files</label> |
pankso@350 | 688 <input file icon=\"tazpkg\"></input> |
pankso@350 | 689 <action type=\"launch\">LIST_FILES_MIRROR</action> |
pankso@350 | 690 </button> |
pankso@350 | 691 <button> |
pankso@350 | 692 <input file icon=\"gtk-close\"></input> |
pankso@350 | 693 <action type=\"closewindow\">MIRRORED_PACKAGE_ACTIONS</action> |
pankso@350 | 694 </button> |
pankso@350 | 695 </hbox> |
pankso@350 | 696 |
pankso@350 | 697 </vbox> |
pankso@350 | 698 </window> |
pankso@350 | 699 " |
pankso@350 | 700 export PACKAGE_INFOS |
pankso@350 | 701 fi |
pankso@350 | 702 gtkdialog --center --program=PACKAGE_INFOS ;; |
pankso@350 | 703 |
pankso@350 | 704 *) |
pascal@372 | 705 usage $@ ;; |
pankso@350 | 706 esac |
pankso@350 | 707 |
pankso@350 | 708 exit 0 |