# HG changeset patch # User Pascal Bellard # Date 1216390453 0 # Node ID 3ad89c4852fb087a0d25882e4e18d36fdf44d6c6 # Parent 91d2fe8269c93677120aa68a803eea650e3217ce tazpkgbox: add installable tab, auto install depends checkbox and improve non-free support diff -r 91d2fe8269c9 -r 3ad89c4852fb lib/tazpkgbox/list --- a/lib/tazpkgbox/list Thu Jul 17 11:29:23 2008 +0000 +++ b/lib/tazpkgbox/list Fri Jul 18 14:14:13 2008 +0000 @@ -4,23 +4,37 @@ # List mirrored packages using the packages.desc file. # +installable_list() +{ + IFS="|" + while read PACKAGE VERSION SHORT_DESC; do + [ -d /var/lib/tazpkg/installed/${PACKAGE%% *} ] && continue + echo "$PACKAGE|$VERSION|$SHORT_DESC" + done < /var/lib/tazpkg/packages.desc 2> /dev/null + unset IFS +} + +installed_list() +{ + for pkg in /var/lib/tazpkg/installed/* + do + . $pkg/receipt + if [ "$CAT" == "all" -o "$CATEGORY" == "$CAT" ]; then + echo "$PACKAGE|$VERSION|$SHORT_DESC" + fi + done +} + case $1 in installed) CAT=`cat /tmp/tazpkgbox/installed-category` + installed_list $CAT;; + installable) + CAT=`cat /tmp/tazpkgbox/installable-category` if [ "$CAT" == "all" ]; then - for pkg in /var/lib/tazpkg/installed/* - do - . $pkg/receipt - echo "$PACKAGE|$VERSION|$SHORT_DESC" - done + installable_list else - for pkg in /var/lib/tazpkg/installed/* - do - . $pkg/receipt - if [ "$CATEGORY" == "$CAT" ]; then - echo "$PACKAGE|$VERSION|$SHORT_DESC" - fi - done + installable_list | grep "$CAT" fi ;; mirrored) CAT=`cat /tmp/tazpkgbox/mirrored-category` @@ -28,20 +42,9 @@ cat /var/lib/tazpkg/packages.desc else grep "$CAT" /var/lib/tazpkg/packages.desc - #for pkg in `grep "$CAT" /var/lib/tazpkg/packages.desc | cut -d "|" -f 1` - #do - #RES=`grep "^$pkg" /var/lib/tazpkg/packages.desc | head -n 1` - #CATEGORY=`echo "$RES" | cut -d "|" -f 4` - ##echo "$pkg|$CATEGORY" - #if [ "$CATEGORY" == "$CAT" ]; then - #VERSION=`echo $RES | cut -d "|" -f 2` - #SHORT_DESC=`echo $RES | cut -d "|" -f 3` - #echo "$pkg | $VERSION | $SHORT_DESC" - #fi - #done fi ;; *) - echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|mirrored]" ;; + echo "Usage: /usr/lib/slitaz/tazpkgbox/list [installed|installable|mirrored]" ;; esac exit 0 diff -r 91d2fe8269c9 -r 3ad89c4852fb lib/tazpkgbox/package_infos --- a/lib/tazpkgbox/package_infos Thu Jul 17 11:29:23 2008 +0000 +++ b/lib/tazpkgbox/package_infos Fri Jul 18 14:14:13 2008 +0000 @@ -82,6 +82,14 @@ " +[ $CATEGORY = non-free -a ! -d /var/lib/tazpkg/installed/${PKG#get-} ] && PACKAGE_INFOS="$PACKAGE_INFOS + " grep -q post_install /var/lib/tazpkg/installed/$PKG/receipt && PACKAGE_INFOS="$PACKAGE_INFOS + + + + + + + 620240 GET /usr/lib/slitaz/tazpkgbox/list mirrored @@ -176,7 +227,7 @@ @@ -285,12 +336,12 @@ @@ -300,7 +351,7 @@ - echo "Packages: `ls /var/lib/tazpkg/installed | wc -l` installed, `cat /var/lib/tazpkg/packages.list | wc -l` mirrored, `cat /var/lib/tazpkg/upradable-packages.list | wc -l` to upgrade " + echo "Packages: `ls /var/lib/tazpkg/installed | wc -l` installed, `cat /var/lib/tazpkg/packages.list | wc -l` mirrored, `cat /var/lib/tazpkg/upradable-packages.list 2> /dev/null | wc -l` to upgrade " PKG_STATS