spk diff 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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/spk Tue May 15 14:20:23 2012 +0200 1.3 @@ -0,0 +1,126 @@ 1.4 +#!/bin/sh 1.5 +# 1.6 +# Spk - The SliTaz Packages toolset. Read the README before adding or 1.7 +# modifing any code in spk! 1.8 +# 1.9 +# Copyright (C) SliTaz GNU/Linux - BSD License 1.10 +# Author: See AUTHORS files 1.11 +# 1.12 +#. /usr/lib/slitaz/libspk.sh 1.13 +. lib/libspk.sh 1.14 + 1.15 +# 1.16 +# Functions 1.17 +# 1.18 + 1.19 +# Help and usage 1.20 +usage() { 1.21 + name=$(basename $0) 1.22 + cat << EOT 1.23 + 1.24 +$(boldify $(gettext "Usage:")) $name [packages|--options] 1.25 + 1.26 +$(gettext "SliTaz Packages toolset") 1.27 + 1.28 +$(boldify $(gettext "Commands:")) 1.29 + info $(gettext "Display path, mirror and other stats") 1.30 + activity $(gettext "Display packages activities") 1.31 + 1.32 +$(boldify $(gettext "Options:")) 1.33 + --block $(gettext "TODO") 1.34 + --root $(gettext "Set the root file system path") 1.35 + --debug $(gettext "Display some usefull debug information") 1.36 + 1.37 +$(boldify $(gettext "Examples:")) 1.38 + $name package1 package2 packageN 1.39 + $name package --block 1.40 + 1.41 +EOT 1.42 + exit 0 1.43 +} 1.44 + 1.45 +# 1.46 +# Commands and exit 1.47 +# 1.48 + 1.49 +case "$1" in 1.50 + ""|*usage|*help) usage ;; 1.51 + info) 1.52 + newline 1.53 + boldify "Spk Info" 1.54 + separator 1.55 + gettext "Database :"; echo " $installed" 1.56 + gettext "Mirror URL :"; echo " $(cat $mirrorurl)" 1.57 + count_installed 1.58 + count_mirrored 1.59 + separator 1.60 + newline && exit 0 ;; 1.61 + activity) 1.62 + newline 1.63 + boldify "Spk Activity" 1.64 + separator 1.65 + cat $activity 1.66 + separator && newline 1.67 + exit 0 ;; 1.68 + ls|add) 1.69 + # Sort of helper on wrong commands or --option ? Or have better 1.70 + # usage/help: spk help [command] ? 1.71 + gettext "Did you mean ?"; echo " spk-$@" 1.72 + exit 0 ;; 1.73 +esac 1.74 + 1.75 +# 1.76 +# Handle packages: spk package1 ... packageN 1.77 +# 1.78 + 1.79 +[ "$debug" ] && echo "DEBUG: cmdline: $0 $@" 1.80 +count=0 1.81 + 1.82 +for pkg in $@ 1.83 +do 1.84 + # Handle: --options 1.85 + case " $@ " in 1.86 + *\ --rm\ *) 1.87 + spk-rm $pkg --count=$count 1.88 + count=$(($count + 1)) 1.89 + continue ;; 1.90 + esac 1.91 + count=$(($count + 1)) 1.92 + # Installed ? 1.93 + if [ -d "$installed/$pkg" ]; then 1.94 + [ "$count" == 1 ] && newline 1.95 + unset_receipt 1.96 + . $installed/$pkg/receipt 1.97 + boldify "$(gettext "Package") $pkg" 1.98 + separator 1.99 + gettext "Status : installed"; newline 1.100 + receipt_info 1.101 + separator && newline 1.102 + continue 1.103 + fi 1.104 + # Mirrored ? 1.105 + mirrored=$(grep "^$pkg |" $pkgsdesc) 1.106 + if [ "$mirrored" ]; then 1.107 + # Handle: --add 1.108 + if [ "$add" ]; then 1.109 + echo "TODO: test 'spk-add $pkg'" 1.110 + else 1.111 + [ "$count" == 1 ] && newline 1.112 + boldify "$(gettext "Package") $pkg" 1.113 + separator 1.114 + gettext "Status : not installed"; echo "" 1.115 + echo "$mirrored" | awk 'BEGIN { FS = "|" } ; { print \ 1.116 + "Version :" $2 "\n" \ 1.117 + "Short desc :" $3 "\n" \ 1.118 + "Category :" $4 }' 1.119 + separator && newline 1.120 + fi 1.121 + continue 1.122 + fi 1.123 + # Skip options such as --confirm or unknow package 1.124 + case "$pkg" in 1.125 + --*) continue ;; 1.126 + *) gettext "Unknow package"; echo ": $pkg" 1.127 + esac 1.128 +done 1.129 +exit 0