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