spk annotate spk @ rev 19
add: spk and some improvments
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Tue May 15 14:20:23 2012 +0200 (2012-05-15) |
parents | |
children | 7d060800df61 |
rev | line source |
---|---|
pankso@19 | 1 #!/bin/sh |
pankso@19 | 2 # |
pankso@19 | 3 # Spk - The SliTaz Packages toolset. Read the README before adding or |
pankso@19 | 4 # modifing any code in spk! |
pankso@19 | 5 # |
pankso@19 | 6 # Copyright (C) SliTaz GNU/Linux - BSD License |
pankso@19 | 7 # Author: See AUTHORS files |
pankso@19 | 8 # |
pankso@19 | 9 #. /usr/lib/slitaz/libspk.sh |
pankso@19 | 10 . lib/libspk.sh |
pankso@19 | 11 |
pankso@19 | 12 # |
pankso@19 | 13 # Functions |
pankso@19 | 14 # |
pankso@19 | 15 |
pankso@19 | 16 # Help and usage |
pankso@19 | 17 usage() { |
pankso@19 | 18 name=$(basename $0) |
pankso@19 | 19 cat << EOT |
pankso@19 | 20 |
pankso@19 | 21 $(boldify $(gettext "Usage:")) $name [packages|--options] |
pankso@19 | 22 |
pankso@19 | 23 $(gettext "SliTaz Packages toolset") |
pankso@19 | 24 |
pankso@19 | 25 $(boldify $(gettext "Commands:")) |
pankso@19 | 26 info $(gettext "Display path, mirror and other stats") |
pankso@19 | 27 activity $(gettext "Display packages activities") |
pankso@19 | 28 |
pankso@19 | 29 $(boldify $(gettext "Options:")) |
pankso@19 | 30 --block $(gettext "TODO") |
pankso@19 | 31 --root $(gettext "Set the root file system path") |
pankso@19 | 32 --debug $(gettext "Display some usefull debug information") |
pankso@19 | 33 |
pankso@19 | 34 $(boldify $(gettext "Examples:")) |
pankso@19 | 35 $name package1 package2 packageN |
pankso@19 | 36 $name package --block |
pankso@19 | 37 |
pankso@19 | 38 EOT |
pankso@19 | 39 exit 0 |
pankso@19 | 40 } |
pankso@19 | 41 |
pankso@19 | 42 # |
pankso@19 | 43 # Commands and exit |
pankso@19 | 44 # |
pankso@19 | 45 |
pankso@19 | 46 case "$1" in |
pankso@19 | 47 ""|*usage|*help) usage ;; |
pankso@19 | 48 info) |
pankso@19 | 49 newline |
pankso@19 | 50 boldify "Spk Info" |
pankso@19 | 51 separator |
pankso@19 | 52 gettext "Database :"; echo " $installed" |
pankso@19 | 53 gettext "Mirror URL :"; echo " $(cat $mirrorurl)" |
pankso@19 | 54 count_installed |
pankso@19 | 55 count_mirrored |
pankso@19 | 56 separator |
pankso@19 | 57 newline && exit 0 ;; |
pankso@19 | 58 activity) |
pankso@19 | 59 newline |
pankso@19 | 60 boldify "Spk Activity" |
pankso@19 | 61 separator |
pankso@19 | 62 cat $activity |
pankso@19 | 63 separator && newline |
pankso@19 | 64 exit 0 ;; |
pankso@19 | 65 ls|add) |
pankso@19 | 66 # Sort of helper on wrong commands or --option ? Or have better |
pankso@19 | 67 # usage/help: spk help [command] ? |
pankso@19 | 68 gettext "Did you mean ?"; echo " spk-$@" |
pankso@19 | 69 exit 0 ;; |
pankso@19 | 70 esac |
pankso@19 | 71 |
pankso@19 | 72 # |
pankso@19 | 73 # Handle packages: spk package1 ... packageN |
pankso@19 | 74 # |
pankso@19 | 75 |
pankso@19 | 76 [ "$debug" ] && echo "DEBUG: cmdline: $0 $@" |
pankso@19 | 77 count=0 |
pankso@19 | 78 |
pankso@19 | 79 for pkg in $@ |
pankso@19 | 80 do |
pankso@19 | 81 # Handle: --options |
pankso@19 | 82 case " $@ " in |
pankso@19 | 83 *\ --rm\ *) |
pankso@19 | 84 spk-rm $pkg --count=$count |
pankso@19 | 85 count=$(($count + 1)) |
pankso@19 | 86 continue ;; |
pankso@19 | 87 esac |
pankso@19 | 88 count=$(($count + 1)) |
pankso@19 | 89 # Installed ? |
pankso@19 | 90 if [ -d "$installed/$pkg" ]; then |
pankso@19 | 91 [ "$count" == 1 ] && newline |
pankso@19 | 92 unset_receipt |
pankso@19 | 93 . $installed/$pkg/receipt |
pankso@19 | 94 boldify "$(gettext "Package") $pkg" |
pankso@19 | 95 separator |
pankso@19 | 96 gettext "Status : installed"; newline |
pankso@19 | 97 receipt_info |
pankso@19 | 98 separator && newline |
pankso@19 | 99 continue |
pankso@19 | 100 fi |
pankso@19 | 101 # Mirrored ? |
pankso@19 | 102 mirrored=$(grep "^$pkg |" $pkgsdesc) |
pankso@19 | 103 if [ "$mirrored" ]; then |
pankso@19 | 104 # Handle: --add |
pankso@19 | 105 if [ "$add" ]; then |
pankso@19 | 106 echo "TODO: test 'spk-add $pkg'" |
pankso@19 | 107 else |
pankso@19 | 108 [ "$count" == 1 ] && newline |
pankso@19 | 109 boldify "$(gettext "Package") $pkg" |
pankso@19 | 110 separator |
pankso@19 | 111 gettext "Status : not installed"; echo "" |
pankso@19 | 112 echo "$mirrored" | awk 'BEGIN { FS = "|" } ; { print \ |
pankso@19 | 113 "Version :" $2 "\n" \ |
pankso@19 | 114 "Short desc :" $3 "\n" \ |
pankso@19 | 115 "Category :" $4 }' |
pankso@19 | 116 separator && newline |
pankso@19 | 117 fi |
pankso@19 | 118 continue |
pankso@19 | 119 fi |
pankso@19 | 120 # Skip options such as --confirm or unknow package |
pankso@19 | 121 case "$pkg" in |
pankso@19 | 122 --*) continue ;; |
pankso@19 | 123 *) gettext "Unknow package"; echo ": $pkg" |
pankso@19 | 124 esac |
pankso@19 | 125 done |
pankso@19 | 126 exit 0 |