spk annotate spk-find @ rev 154

Added tag 1.4.1 for changeset 2a83ddd0845a
author Christophe Lincoln <pankso@slitaz.org>
date Fri Apr 25 04:26:40 2014 +0200 (2014-04-25)
parents b70363c4c5e2
children
rev   line source
pankso@135 1 #!/bin/sh
pankso@135 2 #
pankso@135 3 # Spk-find - Find/search SliTaz packages and files. Read the README before
pankso@135 4 # adding or modifying any code in spk!
pankso@135 5 #
pankso@135 6 # Copyright (C) SliTaz GNU/Linux - BSD License
pankso@135 7 # Author: See AUTHORS files
pankso@135 8 #
pankso@135 9 . /usr/lib/slitaz/libspk.sh
pankso@135 10
pankso@135 11 #
paul@136 12 # Quick coded tool to have a simple find/search packages tool for people
paul@136 13 # using spk toolkit. TODO: find files, find in pkg desc for pattern, display
pankso@135 14 # status (installed or not).
pankso@135 15 #
pankso@135 16
pankso@135 17 find="$1"
pankso@142 18 cfile="/tmp/spk/count"
pankso@142 19 mkdir -p $(dirname $cfile)
pankso@135 20
pankso@135 21 #
pankso@135 22 # Functions
pankso@135 23 #
pankso@135 24
pankso@135 25 # Help and usage
pankso@135 26 usage() {
pankso@135 27 name=$(basename $0)
pankso@135 28 cat << EOT
pankso@135 29
pankso@142 30 $(boldify $(gettext "Usage:")) $name [package|--options]
pankso@142 31
pankso@142 32 $(boldify $(gettext "Options:"))
pankso@142 33 --short $(gettext "Short packages list format")
pankso@135 34
pankso@135 35 EOT
pankso@135 36 exit 0
pankso@135 37 }
pankso@135 38
pankso@135 39 case "$1" in
pankso@135 40 *help|usage) usage && exit 0 ;;
pankso@135 41 esac
pankso@135 42
pankso@135 43 newline
pankso@135 44 boldify $(gettext "Spk find: $find")
pankso@135 45 separator
pankso@137 46
pankso@142 47 # --files or packages
pankso@142 48 if [ "$files" ]; then
pankso@142 49 type="Files"
pankso@142 50 echo "TODO"
pankso@142 51 else
pankso@142 52 type="Packages"
pankso@142 53 IFS="|"
pankso@142 54 grep "$find" $pkgsdesc | while read pkg vers desc null
pankso@142 55 do
pankso@142 56 echo "$pkg" >> ${cfile}
pankso@142 57 echo "$(colorize 34 $pkg)${vers# }"
pankso@142 58 [ "$short" ] || echo " $desc"
pankso@142 59 done
pankso@142 60 unset IFS
pankso@142 61 fi
pankso@137 62
pankso@142 63 # Sep and stats
pankso@142 64 if [ -f "$cfile" ]; then
pankso@142 65 count=$(cat $cfile | wc -l)
pankso@137 66 color=32
pankso@137 67 else
pankso@137 68 count=0
pankso@137 69 color=31
pankso@137 70 fi
pankso@135 71 separator
pankso@142 72 boldify "$type found: $(colorize $color $count)" && newline
pankso@142 73
pankso@142 74 rm -rf ${cfile}
pankso@135 75 exit 0