tazpkg rev 231
tazpkgbox: update lib for new functions
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Sat Feb 21 22:12:27 2009 +0100 (2009-02-21) |
parents | 9f4db6b4a0ef |
children | dd48da6e9023 |
files | lib/tazpkgbox/list tazpkgbox |
line diff
1.1 --- a/lib/tazpkgbox/list Sat Feb 21 22:06:40 2009 +0100 1.2 +++ b/lib/tazpkgbox/list Sat Feb 21 22:12:27 2009 +0100 1.3 @@ -23,8 +23,12 @@ 1.4 cat /var/lib/tazpkg/packages.desc \ 1.5 /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ 1.6 while read PACKAGE VERSION SHORT_DESC; do 1.7 - [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue 1.8 - echo "$PACKAGE|$VERSION|$SHORT_DESC" 1.9 + # Check first for category for more speed. 1.10 + CATEGORY=${CATEGORY%| *} 1.11 + if [ "$CAT" == "all" ] || [ "$CATEGORY" == " $CAT " ]; then 1.12 + [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue 1.13 + echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" 1.14 + fi 1.15 done 1.16 unset IFS 1.17 } 1.18 @@ -35,11 +39,31 @@ 1.19 do 1.20 . $pkg/receipt 1.21 if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then 1.22 - echo "$PACKAGE|$VERSION|$SHORT_DESC" 1.23 + echo "go-next|$PACKAGE|$VERSION|$SHORT_DESC" 1.24 fi 1.25 done 1.26 } 1.27 1.28 +all_list() 1.29 +{ 1.30 + IFS="|" 1.31 + cat /var/lib/tazpkg/packages.desc \ 1.32 + /var/lib/tazpkg/undigest/*/packages.desc 2> /dev/null | sort | \ 1.33 + while read PACKAGE VERSION SHORT_DESC CATEGORY; do 1.34 + # Check first for category for more speed. 1.35 + CATEGORY=${CATEGORY%| *} 1.36 + if [ "$CAT" == "all" ] || [ "$CATEGORY" == " $CAT " ]; then 1.37 + if [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ]; then 1.38 + . /var/lib/tazpkg/installed/${PACKAGE%% *}/receipt 1.39 + echo "go-next|$PACKAGE|$VERSION|$SHORT_DESC" 1.40 + else 1.41 + echo "tazpkg|$PACKAGE|$VERSION|$SHORT_DESC" 1.42 + fi 1.43 + fi 1.44 + done 1.45 + unset IFS 1.46 +} 1.47 + 1.48 blocked_list() 1.49 { 1.50 for pkg in /var/lib/tazpkg/installed/* 1.51 @@ -47,23 +71,27 @@ 1.52 . $pkg/receipt 1.53 if grep -qs "^$(basename $pkg)$" /var/lib/tazpkg/blocked-packages.list; then 1.54 AVAILABLE=$(grep "^$(basename $pkg) " /var/lib/tazpkg/packages.desc | awk '{ print $3 }') 1.55 - 1.56 - echo "$PACKAGE|$VERSION|$AVAILABLE|$SHORT_DESC" 1.57 + echo "stop|$PACKAGE|$VERSION (Available: $AVAILABLE)|$SHORT_DESC" 1.58 fi 1.59 done 1.60 } 1.61 1.62 case $1 in 1.63 - installed) 1.64 - CAT=`cat /tmp/tazpkgbox/installed-category` 1.65 - installed_list $CAT;; 1.66 - installable) 1.67 - CAT=`cat /tmp/tazpkgbox/installable-category` 1.68 - if [ "$CAT" == "all" ]; then 1.69 - installable_list 1.70 - else 1.71 - installable_list | grep "$CAT" 1.72 - fi ;; 1.73 + all) 1.74 + STATUS=`cat /tmp/tazpkgbox/status` 1.75 + case $STATUS in 1.76 + blocked) 1.77 + blocked_list ;; 1.78 + installed) 1.79 + CAT=`cat /tmp/tazpkgbox/category` 1.80 + installed_list ;; 1.81 + installable) 1.82 + CAT=`cat /tmp/tazpkgbox/category` 1.83 + installable_list ;; 1.84 + *) 1.85 + CAT=`cat /tmp/tazpkgbox/category` 1.86 + all_list ;; 1.87 + esac ;; 1.88 undigest) 1.89 set -- `cat /tmp/tazpkgbox/undigest-category` 1.90 if [ "$1" == "all" -o "$1" == "" ]; then 1.91 @@ -71,17 +99,10 @@ 1.92 else 1.93 undigest_list $2 | grep "$1" 1.94 fi ;; 1.95 - mirrored) 1.96 - CAT=`cat /tmp/tazpkgbox/mirrored-category` 1.97 - if [ "$CAT" == "all" ]; then 1.98 - cat /var/lib/tazpkg/packages.desc 1.99 - else 1.100 - grep "$CAT" /var/lib/tazpkg/packages.desc 1.101 - fi ;; 1.102 blocked) 1.103 - blocked_list;; 1.104 + blocked_list ;; 1.105 *) 1.106 - echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored|undigest|blocked]" ;; 1.107 + echo "Usage: $0 [all|undigest|blocked]" ;; 1.108 esac 1.109 1.110 exit 0
2.1 --- a/tazpkgbox Sat Feb 21 22:06:40 2009 +0100 2.2 +++ b/tazpkgbox Sat Feb 21 22:12:27 2009 +0100 2.3 @@ -1,21 +1,22 @@ 2.4 #!/bin/sh 2.5 # 2.6 -# GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Functions 2.7 -# path: /usr/lib/slitaz/tazpkgbox. Notes: Notebook tab are vbox, tab are 2.8 -# used to indent. 2.9 +# GTKdialog interface to SliTaz Packages Manager aka Tazpkg. Notes: 2.10 +# Notebook tab are vbox, tab are used to indent and functions are 2.11 +# splited ang found in $LIB. 2.12 # 2.13 # (C) GNU gpl v3 - SliTaz GNU/Linux 2009. 2.14 # 2.15 VERSION=2.6 2.16 2.17 +# Functions path. 2.18 +export LIB=/usr/lib/lib/tazpkgbox 2.19 + 2.20 # Tazpkgbox is only for root. 2.21 if test $(id -u) != 0 ; then 2.22 exec subox tazpkgbox 2.23 exit 0 2.24 fi 2.25 2.26 -export LIB=$PWD/lib/tazpkgbox 2.27 - 2.28 # We need at least a mirror URL. 2.29 if [ ! -f /var/lib/tazpkg/mirror ]; then 2.30 tazpkg >/dev/null