spk annotate spk @ rev 99
clean several echos in libspk
author | Christian Mesh <meshca@clarkson.edu> |
---|---|
date | Sat Jun 02 17:46:46 2012 -0500 (2012-06-02) |
parents | 0df5690de5fd |
children | 8bcd11c1cc91 |
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@68 | 9 . /usr/lib/slitaz/libspk.sh |
pankso@68 | 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@20 | 26 info $(gettext "Display path, mirror and other stats") |
pankso@20 | 27 activity $(gettext "Display packages activities") |
pankso@67 | 28 clean $(gettext "Clean cache and temporary files") |
pankso@19 | 29 |
pankso@19 | 30 $(boldify $(gettext "Options:")) |
pankso@20 | 31 --add $(gettext "Install packages if mirrored") |
pankso@20 | 32 --rm $(gettext "Remove installed packages") |
pankso@67 | 33 --get $(gettext "Download packages specified on cmdline") |
pankso@20 | 34 --block $(gettext "Add packages to the blocked list") |
pankso@20 | 35 --unblock $(gettext "Remove packages from the blocked list") |
pankso@66 | 36 --log $(gettext "Show package install and upgrade log") |
pankso@67 | 37 --cache $(gettext "Used with --get to download in cache") |
pankso@67 | 38 --forced $(gettext "Force packages reinstall or download") |
pankso@36 | 39 --root= $(gettext "Set the root file system path") |
mojo@79 | 40 --debug $(gettext "Display some useful debug information") |
pankso@19 | 41 |
pankso@19 | 42 $(boldify $(gettext "Examples:")) |
pankso@19 | 43 $name package1 package2 packageN |
pankso@20 | 44 $name package package2 --block |
pankso@19 | 45 |
pankso@19 | 46 EOT |
pankso@19 | 47 exit 0 |
pankso@19 | 48 } |
pankso@19 | 49 |
pankso@19 | 50 # |
pankso@19 | 51 # Commands and exit |
pankso@19 | 52 # |
pankso@19 | 53 |
pankso@19 | 54 case "$1" in |
pankso@19 | 55 ""|*usage|*help) usage ;; |
pankso@19 | 56 info) |
pankso@36 | 57 cache="$(du -sh $CACHE_DIR | awk '{print $1 " " $2}')" |
pankso@60 | 58 extra=$(ls $extradb | wc -l) |
pankso@19 | 59 newline |
pankso@59 | 60 boldify "Spk info" |
pankso@19 | 61 separator |
pankso@60 | 62 gettext "Architecture :"; echo " $SLITAZ_ARCH" |
pankso@60 | 63 gettext "Database :"; echo " $installed" |
pankso@60 | 64 gettext "Cache info :"; echo " $cache" |
pankso@60 | 65 gettext "Mirror URL :"; echo " $(cat $mirrorurl)" |
pankso@60 | 66 gettext "Extra mirrors :"; echo " $extra" |
pankso@19 | 67 count_installed |
pankso@19 | 68 count_mirrored |
meshca@99 | 69 separator && newline |
meshca@99 | 70 exit 0 ;; |
pankso@19 | 71 activity) |
pankso@58 | 72 # --lines=NB |
pankso@58 | 73 : ${lines=18} |
pankso@19 | 74 newline |
pankso@19 | 75 boldify "Spk Activity" |
pankso@19 | 76 separator |
pankso@58 | 77 cat $activity | tail -n $lines |
pankso@19 | 78 separator && newline |
pankso@19 | 79 exit 0 ;; |
pankso@67 | 80 clean) |
pankso@67 | 81 newline |
pankso@67 | 82 boldify "Spk Clean" |
pankso@67 | 83 separator |
pankso@67 | 84 size=$(du -sh $CACHE_DIR | awk '{print $1}') |
pankso@67 | 85 gettext "Cleaning cache:"; echo -n " $CACHE_DIR ($size)" |
pankso@67 | 86 rm -rf $CACHE_DIR/* && status |
pankso@67 | 87 gettext "Cleaning tmp :"; echo -n " $(dirname $tmpdir)" |
pankso@67 | 88 rm -rf $(dirname $tmpdir) && status |
pankso@67 | 89 separator && newline |
pankso@67 | 90 exit 0 ;; |
pankso@19 | 91 esac |
pankso@19 | 92 |
pankso@19 | 93 # |
pankso@19 | 94 # Handle packages: spk package1 ... packageN |
pankso@19 | 95 # |
pankso@19 | 96 |
pankso@67 | 97 #debug "cmdline: $@" |
pankso@19 | 98 count=0 |
pankso@19 | 99 |
pankso@19 | 100 for pkg in $@ |
pankso@19 | 101 do |
pankso@67 | 102 # Handle general: --options |
pankso@67 | 103 case " $@ " in |
pankso@67 | 104 *\ --get\ *) |
pankso@67 | 105 # We want: package-version.tazpkg |
pankso@67 | 106 package_full=$(full_package $pkg) |
pankso@67 | 107 mirrored_pkg $pkg |
pankso@67 | 108 [ "$mirrored" ] || continue |
pankso@67 | 109 [ "$count" == 0 ] && newline |
pankso@67 | 110 count=$(($count + 1)) |
pankso@67 | 111 download $package_full $mirror |
pankso@68 | 112 unset_mirrored |
pankso@67 | 113 newline && continue ;; |
pankso@67 | 114 esac |
pankso@19 | 115 # Installed ? |
pankso@19 | 116 if [ -d "$installed/$pkg" ]; then |
pankso@20 | 117 # Handle: --options |
pankso@20 | 118 case " $@ " in |
pankso@20 | 119 *\ --block\ *) |
pankso@20 | 120 check_root |
pankso@20 | 121 [ -d "$installed/$pkg" ] || continue |
pankso@20 | 122 if grep -qs ^${pkg}$ $blocked; then |
meshca@70 | 123 echo $(boldify $pkg) $(gettext "is already blocked") |
pankso@20 | 124 else |
pankso@20 | 125 gettext "Blocking package:"; echo -n " $pkg" |
pankso@20 | 126 echo $pkg >> $blocked |
pankso@20 | 127 log "Blocked package: $pkg" && status |
meshca@70 | 128 fi |
meshca@70 | 129 continue ;; |
pankso@20 | 130 *\ --unblock\ *) |
pankso@20 | 131 check_root |
pankso@20 | 132 [ -d "$installed/$pkg" ] || continue |
pankso@20 | 133 if grep -qs ^${pkg}$ $blocked; then |
pankso@20 | 134 gettext "Unblocking package:"; echo -n " $pkg" |
pankso@20 | 135 sed -i /"^${pkg}$"/d $blocked |
pankso@20 | 136 log "Unblocked package: $pkg" && status |
pankso@20 | 137 else |
meshca@70 | 138 echo $(boldify $pkg) $(gettext "is not blocked") |
meshca@70 | 139 fi |
meshca@70 | 140 continue ;; |
pankso@20 | 141 *\ --rm\ *) |
meshca@70 | 142 is_package_installed $pkg || continue |
pankso@20 | 143 spk-rm $pkg --count=$count |
pankso@20 | 144 count=$(($count + 1)) |
pankso@20 | 145 continue ;; |
pankso@58 | 146 *\ --log\ *) |
paul@98 | 147 # Display package's log |
pankso@58 | 148 if [ -f "$logdir/$pkg/install.log" ]; then |
pankso@58 | 149 count=$(($count + 1)) |
pankso@58 | 150 [ "$count" == "1" ] && newline |
meshca@69 | 151 colorize 36 $(gettext "Install log for:"; echo " $pkg") |
pankso@58 | 152 separator |
pankso@58 | 153 cat $logdir/$pkg/install.log |
pankso@58 | 154 else |
pankso@58 | 155 gettext "Any install log for:"; boldify " $pkg" |
pankso@58 | 156 fi |
pankso@58 | 157 if [ -f "$logdir/$pkg/up.log" ]; then |
meshca@69 | 158 colorize 36 $(gettext "Upgrade log for:"; echo " $pkg") |
pankso@58 | 159 separator |
pankso@58 | 160 cat $logdir/$pkg/up.log |
pankso@58 | 161 else |
meshca@69 | 162 colorize 36 $(gettext "Any upgrade log for:"; echo " $pkg") |
pankso@58 | 163 newline |
meshca@70 | 164 fi |
meshca@70 | 165 continue ;; |
pankso@78 | 166 *\ --extract\ *) |
pankso@78 | 167 newline |
pankso@78 | 168 echo $(boldify $(gettext "Extracting:")) $pkg |
pankso@78 | 169 separator ;; |
pankso@20 | 170 esac |
pankso@20 | 171 count=$(($count + 1)) |
pankso@19 | 172 [ "$count" == 1 ] && newline |
pankso@19 | 173 unset_receipt |
pankso@19 | 174 . $installed/$pkg/receipt |
meshca@70 | 175 boldify $(gettext "Package") $pkg |
pankso@19 | 176 separator |
meshca@69 | 177 gettext "Status :"; colorize 32 " installed" |
pankso@19 | 178 receipt_info |
pankso@19 | 179 separator && newline |
pankso@19 | 180 continue |
pankso@19 | 181 fi |
pankso@19 | 182 # Mirrored ? |
pankso@67 | 183 mirrored_pkg $pkg |
pankso@19 | 184 if [ "$mirrored" ]; then |
pankso@67 | 185 # Handle mirrored: --options |
pankso@20 | 186 case " $@ " in |
pankso@20 | 187 *\ --add\ *) |
pankso@58 | 188 spk-add $pkg --count=$count |
pankso@58 | 189 count=$(($count + 1)) |
pankso@58 | 190 continue ;; |
pankso@20 | 191 esac |
pankso@21 | 192 count=$(($count + 1)) |
pankso@20 | 193 [ "$count" == 1 ] && newline |
meshca@70 | 194 boldify $(gettext "Package") $pkg |
pankso@20 | 195 separator |
meshca@69 | 196 gettext "Status :"; colorize 31 " not installed" |
pankso@85 | 197 gettext "Version :"; echo "$mirrored" | cut -d '|' -f 2 |
pankso@85 | 198 gettext "Short desc :"; echo "$mirrored" | cut -d '|' -f 3 |
pankso@85 | 199 gettext "Category :"; echo "$mirrored" | cut -d '|' -f 4 |
pankso@20 | 200 separator && newline |
pankso@19 | 201 continue |
pankso@19 | 202 fi |
pankso@67 | 203 unset mirrored |
mojo@86 | 204 # Skip options such as --confirm or unknown package |
pankso@19 | 205 case "$pkg" in |
pankso@19 | 206 --*) continue ;; |
mojo@86 | 207 *) gettext "WARNING: Unknown package"; echo ": $pkg" |
pankso@19 | 208 esac |
pankso@19 | 209 done |
pankso@19 | 210 exit 0 |