spk annotate spk-ls @ rev 16
Improve Makefile, use lib in /usr/lib/slitaz
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue May 15 12:08:23 2012 +0200 (2012-05-15) |
parents | a1d998d5f6aa |
children | e5d4c5d3ccf4 |
rev | line source |
---|---|
pankso@15 | 1 #!/bin/sh |
pankso@15 | 2 # |
pankso@15 | 3 # Spk-ls - List SliTaz packages and files. Read the README before adding or |
pankso@15 | 4 # modifing any code in spk! |
pankso@15 | 5 # |
pankso@15 | 6 # Copyright (C) SliTaz GNU/Linux - BSD License |
pankso@15 | 7 # Author: See AUTHORS files |
pankso@15 | 8 # |
pankso@16 | 9 . /usr/lib/slitaz/libspk.sh |
pankso@15 | 10 |
pankso@15 | 11 # |
pankso@15 | 12 # Functions |
pankso@15 | 13 # |
pankso@15 | 14 |
pankso@15 | 15 # Help and usage |
pankso@15 | 16 usage() { |
pankso@15 | 17 name=$(basename $0) |
pankso@15 | 18 cat << EOT |
pankso@15 | 19 |
pankso@15 | 20 $(boldify $(gettext "Usage:")) $name [packages|--options] |
pankso@15 | 21 |
pankso@15 | 22 $(gettext "List packages or installed files by packages") |
pankso@15 | 23 |
pankso@15 | 24 $(boldify $(gettext "Options:")) |
pankso@15 | 25 --count $(gettext "Display the number of installed packages") |
pankso@15 | 26 --mirror $(gettext "List all the packages on mirror") |
pankso@15 | 27 --blocked $(gettext "List all blocked packages") |
pankso@15 | 28 --short ls: $(gettext "Short list of installed packages") |
pankso@15 | 29 --debug $(gettext "Display some usefull debug information") |
pankso@15 | 30 |
pankso@15 | 31 $(boldify $(gettext "Examples:")) |
pankso@15 | 32 $name package1 package2 packageN |
pankso@15 | 33 $name --count |
pankso@15 | 34 |
pankso@15 | 35 EOT |
pankso@15 | 36 exit 0 |
pankso@15 | 37 } |
pankso@15 | 38 |
pankso@15 | 39 # |
pankso@15 | 40 # Handle --options |
pankso@15 | 41 # |
pankso@15 | 42 |
pankso@15 | 43 for opt in $@ |
pankso@15 | 44 do |
pankso@15 | 45 case "$opt" in |
pankso@15 | 46 *usage|*help) usage ;; |
pankso@15 | 47 --count) |
pankso@15 | 48 count_installed |
pankso@15 | 49 count_mirrored |
pankso@15 | 50 exit 0 ;; |
pankso@15 | 51 --mirror) |
pankso@15 | 52 IFS="|" |
pankso@15 | 53 cat $pkgsdesc | while read package version desc category |
pankso@15 | 54 do |
pankso@15 | 55 echo "" |
pankso@15 | 56 gettext "Package :"; echo " $package" |
pankso@15 | 57 gettext "Version :"; echo "$version" |
pankso@15 | 58 gettext "Short desc :"; echo "$desc" |
pankso@15 | 59 done && unset IFS |
pankso@15 | 60 separator |
pankso@15 | 61 count_mirrored |
pankso@15 | 62 echo "" && exit 0 ;; |
pankso@15 | 63 --blocked) |
pankso@15 | 64 if [ -f "$blocked" ]; then |
pankso@15 | 65 cat $blocked |
pankso@15 | 66 else |
pankso@15 | 67 gettext "No blocked packages"; echo "" |
pankso@15 | 68 fi && exit 0 ;; |
pankso@15 | 69 --short) |
pankso@15 | 70 ls -1 $installed |
pankso@15 | 71 boldify $(count_installed) |
pankso@15 | 72 exit 0 ;; |
pankso@15 | 73 --*) continue ;; |
pankso@15 | 74 *) |
pankso@15 | 75 # List installed files by the package. |
pankso@15 | 76 count=0 |
pankso@15 | 77 for pkg in $@ |
pankso@15 | 78 do |
pankso@15 | 79 [ -f "$installed/$pkg/files.list" ] || continue |
pankso@15 | 80 count=$(($count + 1)) |
pankso@15 | 81 [ "$count" == 1 ] && newline |
pankso@15 | 82 boldify $(gettext "Installed files by"; echo " $pkg") |
pankso@15 | 83 separator |
pankso@15 | 84 cat $installed/$pkg/files.list |
pankso@15 | 85 files=$(wc -l $installed/$pkg/files.list | cut -d " " -f 1) |
pankso@15 | 86 separator |
pankso@15 | 87 gettext "Installed files by"; echo " $pkg : $files" |
pankso@15 | 88 newline |
pankso@15 | 89 done && exit 0 ;; |
pankso@15 | 90 esac |
pankso@15 | 91 done |
pankso@15 | 92 |
pankso@15 | 93 # |
pankso@15 | 94 # Parse all installed pkgs receipt. |
pankso@15 | 95 # |
pankso@15 | 96 |
pankso@15 | 97 boldify "$(gettext "Installed packages")" |
pankso@15 | 98 separator |
pankso@15 | 99 for pkg in $installed/* |
pankso@15 | 100 do |
pankso@15 | 101 unset_receipt |
pankso@15 | 102 . $pkg/receipt |
pankso@15 | 103 newline |
pankso@15 | 104 receipt_info |
pankso@15 | 105 done |
pankso@15 | 106 separator |
pankso@15 | 107 count_installed && newline |
pankso@15 | 108 exit 0 |