sup annotate sup @ rev 49
Tiny edits
author | Paul Issott <paul@slitaz.org> |
---|---|
date | Fri Mar 10 18:44:59 2017 +0000 (2017-03-10) |
parents | 9ff1a3400fb1 |
children | 46a8dc676569 |
rev | line source |
---|---|
pankso@6 | 1 #!/bin/sh |
pankso@6 | 2 # |
pankso@6 | 3 # SliTaz Users Package - Minimal cmdline tools - README for devel info |
pankso@6 | 4 # |
pankso@6 | 5 # Copyright (C) 2017 SliTaz GNU/Linux - BSD License |
pankso@6 | 6 # Author: Christophe Lincoln <pankso@slitaz.org> |
pankso@6 | 7 # |
pankso@27 | 8 |
pankso@27 | 9 # Get system wide libsup.sh or development version if working in Hg folder |
pankso@6 | 10 if [ -f "/usr/lib/slitaz/libsup.sh" ]; then |
pankso@18 | 11 . /usr/lib/slitaz/libsup.sh |
pankso@18 | 12 fi |
pankso@18 | 13 if [ -f "./libsup.sh" ]; then |
pankso@17 | 14 . ./libsup.sh |
pankso@6 | 15 fi |
pankso@6 | 16 |
pankso@6 | 17 # Sanity check |
pankso@13 | 18 if ! [ -d "/home/$(id -un)" ]; then |
pankso@13 | 19 gettext "Not a valid user:"; colorize 31 " $(id -un)" && exit 1 |
pankso@6 | 20 fi |
pankso@44 | 21 mkdir -p ${cache} ${installed} ${downloads} |
pankso@6 | 22 |
pankso@6 | 23 # |
pankso@6 | 24 # Functions |
pankso@6 | 25 # |
pankso@6 | 26 |
pankso@6 | 27 help() { |
pankso@6 | 28 cat << EOT |
pankso@6 | 29 |
pankso@47 | 30 $(boldify $(gettext "Usage:")) $(basename $0) [command|package] [package|--option] |
pankso@6 | 31 |
pankso@6 | 32 $(boldify $(gettext "Commands:")) |
pankso@22 | 33 -i install $(gettext "Install a new package") |
pankso@35 | 34 -u update $(gettext "Update installed package") |
pankso@44 | 35 -r remove $(gettext "Remove an installed package") |
pankso@45 | 36 -c cook $(gettext "Cook a package from the wok") |
pankso@45 | 37 run $(gettext "Run sup_install without installing") |
pankso@45 | 38 -e extract $(gettext "Extract a package to current dir") |
pankso@37 | 39 -n new $(gettext "Create a new SUP package :-)") |
pankso@44 | 40 -l list $(gettext "List packages: installed/wok/db") |
pankso@44 | 41 -s search $(gettext "Search for packages in the database") |
pankso@44 | 42 -d debug $(gettext "Debug info and sup environment") |
pankso@6 | 43 |
pankso@6 | 44 $(boldify $(gettext "Options:")) |
pankso@37 | 45 --install update $(gettext "Install all updates from mirror") |
pankso@37 | 46 --force update $(gettext "Force recharging packages database") |
pankso@42 | 47 --db list $(gettext "List all packages in database") |
pankso@19 | 48 --init cook $(gettext "Initialize sup cook environment") |
paul@49 | 49 --list info $(gettext "List files installed by a package") |
paul@9 | 50 --verbose all $(gettext "Display more output messages") |
pankso@6 | 51 |
pankso@42 | 52 $(colorize 33 Manual) man sup |
pankso@22 | 53 $(colorize 33 Documentation) http://scn.slitaz.org/?d=en/sup |
pankso@22 | 54 |
pankso@6 | 55 EOT |
pankso@6 | 56 exit 0 |
pankso@6 | 57 } |
pankso@6 | 58 |
pankso@6 | 59 cook_init() { |
pankso@6 | 60 mkdir -p ${wok} ${cooked} |
pankso@6 | 61 if [ ! -d "$supcook/wok" ]; then |
pankso@6 | 62 ln -s ${wok} ${supcook}/wok |
pankso@6 | 63 fi |
pankso@6 | 64 } |
pankso@6 | 65 |
pankso@22 | 66 # check_pkg_arg "command" |
pankso@22 | 67 check_pkg_arg() { |
pankso@22 | 68 if [ ! "$pkg" ]; then |
pankso@22 | 69 gettext "Missing package name or file path:" |
pankso@22 | 70 boldify " sup $1 [package|file.sup]" && exit 1 |
pankso@22 | 71 fi |
pankso@22 | 72 } |
pankso@22 | 73 |
pankso@22 | 74 # new_receip "package" |
pankso@15 | 75 new_receip() { |
pankso@22 | 76 cat > ${wok}/${1}/receip << EOT |
pankso@22 | 77 # SliTaz User Package receip |
pankso@15 | 78 |
pankso@16 | 79 PACKAGE="$1" |
pankso@15 | 80 VERSION="" |
pankso@15 | 81 SHORT_DESC="" |
pankso@15 | 82 MAINTAINER="" |
pankso@15 | 83 LICENSE="" |
pankso@15 | 84 WEB_SITE="" |
pankso@15 | 85 |
pankso@15 | 86 # Sup dependencies will be automatically downloaded but system wide |
pankso@15 | 87 # deps must be manually installed by root. |
pankso@15 | 88 SUP_DEPS="" |
pankso@15 | 89 DEPENDS="" |
pankso@15 | 90 |
pankso@15 | 91 # Here are the optional install rules (download, configure, etc) |
pankso@15 | 92 sup_install() { |
pankso@15 | 93 echo "" |
pankso@15 | 94 } |
pankso@15 | 95 |
pankso@15 | 96 EOT |
pankso@15 | 97 } |
pankso@15 | 98 |
pankso@6 | 99 # |
pankso@6 | 100 # Commands |
pankso@6 | 101 # |
pankso@6 | 102 |
pankso@6 | 103 case "$1" in |
pankso@6 | 104 |
pankso@6 | 105 -c|cook) |
paul@28 | 106 # Cook in $cache/cook and mv pkg to a visible dir |
pankso@6 | 107 pkg="$2" |
pankso@12 | 108 receip="$wok/$pkg/receip" |
pankso@6 | 109 cache="$cache/cook" |
pankso@6 | 110 |
pankso@6 | 111 # Handle --init |
pankso@6 | 112 if [ "$init" ]; then |
pankso@6 | 113 gettext "Initializing sup cook environment..." |
pankso@36 | 114 cook_init; status; exit 0 |
pankso@6 | 115 fi |
pankso@6 | 116 |
pankso@6 | 117 # Sanity check |
pankso@22 | 118 check_pkg_arg "$1" |
pankso@12 | 119 if [ ! -f "$receip" ]; then |
pankso@36 | 120 gettext "Can't find receip in wok for:"; colorize 31 " $pkg"; exit 1 |
pankso@6 | 121 fi |
pankso@6 | 122 |
pankso@6 | 123 newline |
pankso@36 | 124 echo -n "$(colorize 33 $(gettext 'Building package:'))" |
pankso@36 | 125 colorize 35 " $pkg" |
pankso@6 | 126 separator |
pankso@6 | 127 rm -rf ${cache} && mkdir -p ${cache} ${cooked} |
pankso@6 | 128 |
pankso@12 | 129 # Check receip |
pankso@12 | 130 [ "$verbose" ] && gettext "Checking receip variables..." |
pankso@12 | 131 . ${receip} |
pankso@6 | 132 for var in PACKAGE VERSION SHORT_DESC MAINTAINER LICENSE WEB_SITE |
pankso@6 | 133 do |
pankso@12 | 134 value="$(. $receip; eval echo \$$var)" |
pankso@6 | 135 case "$var" in |
pankso@6 | 136 PACKAGE|VERSION|SHORT_DESC|MAINTAINER|LICENSE) |
pankso@6 | 137 if [ ! "$value" ]; then |
pankso@6 | 138 gettext "Empty variable:"; colorize 31 " $var=\"\"" |
pankso@6 | 139 exit 1 |
pankso@6 | 140 fi ;; |
pankso@6 | 141 WEB_SITE) |
pankso@6 | 142 if [ ! "$value" ]; then |
pankso@6 | 143 gettext "Empty variable:"; colorize 31 " $var=\"\"" |
pankso@6 | 144 gettext "You can use:" |
pankso@6 | 145 boldify " http://scn.slitaz.org/?sup&pkg=$PACKAGE" |
pankso@6 | 146 exit 1 |
pankso@6 | 147 fi ;; |
pankso@6 | 148 esac |
pankso@6 | 149 done |
pankso@6 | 150 [ "$verbose" ] && status |
pankso@6 | 151 |
pankso@6 | 152 # Set $PACKAGE-$VERSION.sup and copy pkg to cache |
pankso@6 | 153 supfile="$PACKAGE-$VERSION.sup" |
pankso@6 | 154 cp -rf ${wok}/${pkg} ${cache}/${supfile%.sup} |
pankso@6 | 155 cd ${cache}/${supfile%.sup} |
pankso@6 | 156 |
pankso@37 | 157 # Move to hidden dir: ~/.local ~/.config ~./icons |
pankso@37 | 158 for dir in local config icons; do |
pankso@37 | 159 [ -d "files/${dir}" ] && mv files/${dir} files/.${dir} |
pankso@6 | 160 done |
pankso@6 | 161 |
pankso@39 | 162 # Add $cook_date |
pankso@39 | 163 sed -i "/^cook_date=/"d receip |
pankso@39 | 164 echo "cook_date=\"$(date "+%Y-%m-%d %H:%M")\"" >> receip |
pankso@6 | 165 |
pankso@6 | 166 gettext "Creating compressed archive..." |
pankso@6 | 167 find files | cpio -o -H newc --quiet | lzma e files.lzma -si |
pankso@6 | 168 rm -rf files |
pankso@6 | 169 find . -print | cpio -o -H newc --quiet > ${cooked}/${supfile} |
pankso@6 | 170 status |
pankso@6 | 171 |
pankso@6 | 172 size="$(du -sh $cooked/$supfile | cut -d " " -f 1)" |
pankso@36 | 173 echo "$(gettext 'Packages:') $(colorize 035 $supfile) ($size)" |
pankso@6 | 174 rm -rf ${cache} && newline ;; |
pankso@6 | 175 |
pankso@45 | 176 run) |
pankso@36 | 177 # Run sup_install() without any installation to help package creation |
pankso@36 | 178 pkg="$2" |
pankso@36 | 179 receip="$wok/$pkg/receip" |
pankso@39 | 180 workdir="$supcook/sup_install" |
pankso@36 | 181 |
pankso@36 | 182 # Sanity check |
pankso@36 | 183 check_pkg_arg "$1" |
pankso@36 | 184 if [ ! -f "$receip" ]; then |
pankso@36 | 185 gettext "Can't find receip in wok for:"; colorize 31 " $pkg"; exit 1 |
pankso@36 | 186 fi |
pankso@36 | 187 |
pankso@36 | 188 newline |
pankso@37 | 189 echo "$(colorize 33 $(gettext 'Running') sup_install\(\):) $(colorize 35 $pkg)" |
pankso@36 | 190 separator |
pankso@39 | 191 [ "$clean" ] && rm -rf ${workdir} |
pankso@39 | 192 mkdir -p ${workdir} && cd ${workdir} |
pankso@37 | 193 . ${wok}/${pkg}/receip |
pankso@42 | 194 gettext "Checking package dependencies" |
pankso@42 | 195 deps="$(echo $DEPENDS | wc -w)" |
pankso@42 | 196 in=$((8 + ${deps})) |
pankso@42 | 197 indent $(($(tty_size) - ${in})) "[ $(colorize 033 $deps) ]" |
pankso@42 | 198 check_sys_deps || exit 1 |
pankso@37 | 199 sup_install |
pankso@37 | 200 separator |
pankso@39 | 201 gettext "Working folder:"; echo " $workdir" |
pankso@37 | 202 newline ;; |
pankso@36 | 203 |
pankso@22 | 204 -n|new) |
pankso@22 | 205 pkg="$2" |
pankso@22 | 206 if [ ! "$pkg" ]; then |
pankso@27 | 207 newline |
pankso@22 | 208 gettext "New package name:"; echo -n " "; read pkg |
pankso@22 | 209 fi |
pankso@27 | 210 newline |
pankso@22 | 211 [ ! "$pkg" ] && exit 0 |
pankso@27 | 212 [ ! -d "$wok" ] && cook_init |
pankso@22 | 213 if [ -d "$wok/$pkg" ]; then |
paul@28 | 214 gettext "Package already exists in wok:"; colorize 35 " $pkg" |
pankso@22 | 215 newline && exit 0 |
pankso@22 | 216 fi |
pankso@22 | 217 gettext "Creating new package files and tree..." |
pankso@22 | 218 mkdir -p ${wok}/${pkg}/files |
pankso@27 | 219 new_receip "$pkg"; status |
pankso@27 | 220 gettext "Executing your favorite editor..." |
pankso@27 | 221 editor ${wok}/${pkg}/receip; status |
pankso@27 | 222 gettext "To cook your package:"; colorize 33 " sup cook $pkg" |
pankso@27 | 223 newline ;; |
pankso@22 | 224 |
pankso@6 | 225 -e|extract) |
pankso@6 | 226 # Extract package.sup to current dir |
pankso@6 | 227 pkg="$2" |
pankso@6 | 228 |
pankso@6 | 229 # Sanity check |
pankso@22 | 230 check_pkg_arg "$1" |
pankso@6 | 231 if [ ! -f "$pkg" ]; then |
pankso@36 | 232 gettext "Can't find package file:"; colorize 31 " $pkg" && exit 1 |
pankso@6 | 233 fi |
pankso@6 | 234 |
pankso@6 | 235 newline |
pankso@36 | 236 echo -n "$(colorize 33 $(gettext 'Extract package:'))" |
pankso@36 | 237 colorize 36 " $(basename $pkg)" |
pankso@6 | 238 separator |
pankso@6 | 239 |
pankso@6 | 240 extract_sup "$pkg" |
pankso@6 | 241 |
pankso@36 | 242 echo "$(gettext 'Packages:') $(colorize 036 $pkg) ($size)" |
pankso@6 | 243 newline ;; |
pankso@6 | 244 |
pankso@6 | 245 -i|install) |
pankso@6 | 246 # Download/extract run install() in $cache/install |
pankso@6 | 247 pkg="$2" |
pankso@22 | 248 check_pkg_arg "$1" |
pankso@39 | 249 newline |
pankso@6 | 250 |
pankso@6 | 251 # Sup pkg in current dir |
pankso@6 | 252 if [ -f "$pkg" ]; then |
pankso@6 | 253 install_sup "$pkg" && exit 0 |
pankso@6 | 254 fi |
pankso@6 | 255 |
pankso@19 | 256 # Sup cooked from wok |
pankso@19 | 257 if [ -f "$wok/$pkg/receip" ]; then |
pankso@19 | 258 . $wok/$pkg/receip |
pankso@19 | 259 if [ -f "$cooked/$PACKAGE-$VERSION.sup" ]; then |
pankso@19 | 260 install_sup "$cooked/$PACKAGE-$VERSION.sup" && exit 0 |
pankso@19 | 261 fi |
pankso@19 | 262 fi |
pankso@19 | 263 |
pankso@19 | 264 # Sup on mirror |
pankso@34 | 265 [ ! -f "${pkgsdb}" ] && sup -u |
pankso@6 | 266 |
pankso@34 | 267 if sqlite3 ${pkgsdb} "SELECT name FROM pkgs WHERE name = '$pkg'" >/dev/null |
pankso@34 | 268 then |
pankso@34 | 269 vers=$(sqlite3 ${pkgsdb} "SELECT version FROM pkgs WHERE name = '$pkg'") |
pankso@34 | 270 mkdir -p ${cache}/wget && cd ${cache}/wget |
pankso@34 | 271 # Download |
pankso@34 | 272 download "$pkg" "${mirror}/${pkg}-${vers}.sup" |
pankso@34 | 273 install_sup "${pkg}-${vers}.sup" |
pankso@34 | 274 rm -rf ${cache}/wget && exit 0 |
pankso@34 | 275 fi |
pankso@6 | 276 gettext "Can't find sup package:"; colorize 31 " $pkg" ;; |
pankso@6 | 277 |
pankso@27 | 278 -u|update) |
pankso@27 | 279 # Update packages |
pankso@34 | 280 online="" |
pankso@27 | 281 newline |
pankso@27 | 282 colorize 33 $(gettext "SUP Update") |
pankso@27 | 283 separator |
pankso@27 | 284 |
pankso@27 | 285 # Skip HTTP/1.1 404 Not Found: 2>/dev/null |
pankso@33 | 286 if ! wget -q -T 5 --spider ${mirror}/packages.sql 2>/dev/null; then |
pankso@31 | 287 gettext "Mirror is unreachable"; newline |
pankso@34 | 288 else |
pankso@34 | 289 online=0 |
pankso@27 | 290 fi |
pankso@33 | 291 |
pankso@33 | 292 # Newer packages.sql ? |
pankso@34 | 293 gettext "Checking packages.sql..." |
pankso@34 | 294 db_sum=$(wget -q "${server}?sup=dbsum" -O -) |
pankso@34 | 295 if echo "$db_sum $pkgsdb" | md5sum -s -c -; then |
pankso@45 | 296 info 036 "synced" |
pankso@34 | 297 else |
pankso@34 | 298 [ "$online" ] && rm -f ${pkgsdb} |
pankso@45 | 299 info 035 "update" |
pankso@34 | 300 fi |
pankso@33 | 301 |
pankso@36 | 302 # --force |
pankso@36 | 303 [ "$force" ] && rm -f ${pkgsdb} |
pankso@36 | 304 |
pankso@34 | 305 # No packages.sql: get latest! |
pankso@34 | 306 if [ ! -f "$pkgsdb" ] && [ "$online" ]; then |
pankso@36 | 307 |
pankso@36 | 308 download "db" "${mirror}/packages.sql" "${supdb}" |
pankso@34 | 309 |
pankso@34 | 310 timestamp=$(sqlite3 ${pkgsdb} 'SELECT timestamp FROM info' \ |
pankso@34 | 311 | awk '{printf $1 " " $2}') |
pankso@34 | 312 gettext "Database timestamp:" |
pankso@36 | 313 indent $(($(tty_size) - 23)) "[ $(colorize 30 $timestamp) ]" |
pankso@45 | 314 log "$(gettext 'Updated packages database:') $timestamp" |
pankso@45 | 315 fi |
pankso@45 | 316 |
pankso@45 | 317 # Exit now if no packages.sql |
pankso@45 | 318 if [ ! -f "$pkgsdb" ]; then |
pankso@45 | 319 gettext "Please try later. Missing packages database"; echo; exit 1 |
pankso@34 | 320 fi |
pankso@33 | 321 |
pankso@34 | 322 # Scan installed packages |
pankso@36 | 323 count="$(ls $installed | wc -l)" |
pankso@36 | 324 char="$(echo $count | wc -L)" |
pankso@36 | 325 in=$((7 + ${char})) |
pankso@36 | 326 |
pankso@34 | 327 gettext "Installed packages:" |
pankso@45 | 328 info 033 "$count"; newline |
pankso@45 | 329 echo -n $(boldify $(gettext "Package") $(indent 30 $(gettext "Version"))) |
pankso@45 | 330 info 40 $(gettext "Status") |
pankso@45 | 331 separator "-" |
pankso@34 | 332 |
pankso@34 | 333 for pkg in $(ls $installed) |
pankso@34 | 334 do |
pankso@34 | 335 . ${installed}/${pkg}/receip |
pankso@34 | 336 |
pankso@45 | 337 name=$(sqlite3 ${pkgsdb} \ |
pankso@45 | 338 "SELECT name FROM pkgs WHERE name = '$pkg'") |
pankso@45 | 339 if [ ! "$name" ]; then |
pankso@45 | 340 #echo -n "$pkg $(indent 30 $VERSION)" |
pankso@45 | 341 #info 036 "$(gettext "local")" |
pankso@45 | 342 continue |
pankso@45 | 343 else |
pankso@45 | 344 db_sum=$(sqlite3 ${pkgsdb} \ |
pankso@45 | 345 "SELECT md5sum FROM pkgs WHERE name = '$pkg'") |
pankso@42 | 346 |
pankso@45 | 347 # MD5sum not matching: new version our new build ? |
pankso@45 | 348 if [ "$md5_sum" != "$db_sum" ]; then |
pankso@45 | 349 echo -n "$pkg $(indent 30 $VERSION)" |
pankso@45 | 350 vers=$(sqlite3 ${pkgsdb} \ |
pankso@45 | 351 "SELECT version FROM pkgs WHERE name = '$pkg'") |
pankso@45 | 352 |
pankso@45 | 353 if [ "$VERSION" != "$vers" ]; then |
pankso@45 | 354 info 032 "$(gettext "$vers")" |
pankso@45 | 355 else |
pankso@45 | 356 info 035 "$(gettext "rebuilt")" |
pankso@45 | 357 fi |
pankso@45 | 358 echo "$pkg" >> ${cache}/updates |
pankso@34 | 359 fi |
pankso@34 | 360 fi |
pankso@45 | 361 unset name db_sum vers |
pankso@33 | 362 done |
pankso@27 | 363 |
pankso@34 | 364 if [ -f "$cache/updates" ]; then |
pankso@34 | 365 count=$(cat $cache/updates | wc -l) |
pankso@36 | 366 separator "-" |
pankso@34 | 367 gettext "Available updates:"; colorize 32 " $count" |
pankso@36 | 368 newline |
pankso@34 | 369 # --install |
pankso@34 | 370 if [ "$install" ]; then |
pankso@34 | 371 for pkg in $(cat $cache/updates); do |
pankso@34 | 372 sup -i ${pkg} |
pankso@34 | 373 done |
pankso@34 | 374 fi |
pankso@34 | 375 else |
pankso@34 | 376 gettext "Packages are up-to-date"; echo |
pankso@34 | 377 newline |
pankso@34 | 378 fi |
pankso@34 | 379 rm -f ${cache}/updates ;; |
pankso@27 | 380 |
pankso@20 | 381 -r|remove) |
pankso@20 | 382 # Remove a package |
pankso@20 | 383 pkg="$2" |
pankso@22 | 384 check_pkg_arg "$1" |
pankso@20 | 385 if [ -d "$installed/$pkg" ]; then |
pankso@20 | 386 remove_sup "$pkg" |
pankso@20 | 387 else |
pankso@20 | 388 gettext "Can't find installed package:"; colorize 31 " $pkg" |
pankso@20 | 389 exit 1 |
pankso@20 | 390 fi ;; |
pankso@20 | 391 |
pankso@42 | 392 -s|search) |
pankso@42 | 393 # TODO: better :-) |
pankso@42 | 394 query="$2" |
pankso@42 | 395 newline |
pankso@42 | 396 echo -n "$(colorize 33 $(gettext 'Searching for:'))" |
pankso@42 | 397 boldify " $query" |
pankso@42 | 398 separator |
pankso@42 | 399 sqlite3 ${pkgsdb} << EOT |
pankso@42 | 400 .headers on |
pankso@42 | 401 .mode column |
pankso@42 | 402 SELECT name, version, short_desc FROM pkgs WHERE name = '$2'; |
pankso@42 | 403 EOT |
pankso@42 | 404 newline ;; |
pankso@42 | 405 |
pankso@6 | 406 -l|list) |
pankso@42 | 407 # only --db |
pankso@42 | 408 if [ "$db" ]; then |
pankso@42 | 409 newline |
pankso@42 | 410 echo -n "$(colorize 33 $(gettext 'SUP packages in database:'))" |
pankso@42 | 411 boldify " $(sqlite3 ${pkgsdb} 'SELECT COUNT(name) FROM pkgs')" |
pankso@42 | 412 separator |
pankso@42 | 413 sqlite3 ${pkgsdb} << EOT |
pankso@42 | 414 .mode column |
pankso@42 | 415 SELECT name, short_desc FROM pkgs; |
pankso@42 | 416 EOT |
pankso@42 | 417 newline; exit 0 |
pankso@42 | 418 fi |
pankso@42 | 419 |
pankso@6 | 420 installed_nb=$(ls ${installed} | wc -l) |
pankso@6 | 421 newline |
pankso@42 | 422 echo -n "$(colorize 36 $(gettext 'Installed SUP packages:'))" |
pankso@6 | 423 boldify " $installed_nb" |
pankso@6 | 424 separator |
pankso@6 | 425 for pkg in $(ls ${installed}); do |
pankso@36 | 426 . ${installed}/${pkg}/receip |
pankso@6 | 427 echo "$pkg $(indent 26 $VERSION) $(indent 42 $MAINTAINER)" |
pankso@6 | 428 done |
pankso@6 | 429 if [ "$installed_nb" == 0 ]; then |
pankso@6 | 430 gettext "No sup packages installed"; echo |
pankso@6 | 431 fi |
pankso@6 | 432 newline |
pankso@6 | 433 if [ -d "$wok" ]; then |
pankso@42 | 434 echo -n "$(colorize 35 $(gettext 'SUP packages in your wok:'))" |
pankso@6 | 435 boldify " $(ls ${wok} | wc -l)" |
pankso@6 | 436 separator |
pankso@6 | 437 for pkg in $(ls ${wok}); do |
pankso@12 | 438 . ${wok}/${pkg}/receip |
pankso@6 | 439 echo "$pkg $(indent 26 $VERSION) $(indent 42 $MAINTAINER)" |
pankso@6 | 440 done |
pankso@44 | 441 newline |
pankso@44 | 442 fi |
pankso@44 | 443 if [ -d "$cooked" ]; then |
pankso@44 | 444 echo -n "$(colorize 33 $(gettext 'Cooked packages:'))" |
pankso@44 | 445 boldify " $(ls $cooked | wc -l)" |
pankso@42 | 446 fi |
pankso@42 | 447 echo -n "$(colorize 33 $(gettext 'SUP packages in database:'))" |
pankso@42 | 448 boldify " $(sqlite3 ${pkgsdb} 'SELECT COUNT(name) FROM pkgs')" |
pankso@42 | 449 newline ;; |
pankso@6 | 450 |
pankso@44 | 451 -d|debug) |
pankso@44 | 452 # Packaging environment and debugger |
pankso@44 | 453 newline |
pankso@44 | 454 echo "$(colorize 35 $(gettext "Cooked packages:")) $cooked" |
pankso@44 | 455 separator "-" |
pankso@44 | 456 ls -1 ${cooked}; newline |
pankso@44 | 457 echo "$(colorize 35 $(gettext "Downloads::")) $downloads" |
pankso@44 | 458 separator "-" |
pankso@44 | 459 ls -1 ${downloads}; newline ;; |
pankso@44 | 460 |
pankso@6 | 461 ""|-h|help) help ;; |
pankso@6 | 462 |
pankso@47 | 463 *|info) |
pankso@6 | 464 # Display pkg info if installed |
pankso@47 | 465 [ "$1" == "info" ] && shift |
pankso@6 | 466 pkg="$1" |
pankso@12 | 467 if [ -f "$installed/$pkg/receip" ]; then |
pankso@12 | 468 . ${installed}/${pkg}/receip |
pankso@6 | 469 newline |
pankso@19 | 470 gettext "Installed package:"; colorize 36 " $PACKAGE $VERSION" |
pankso@6 | 471 separator |
pankso@39 | 472 echo "$SHORT_DESC" |
pankso@39 | 473 newline |
pankso@47 | 474 if [ "$list" ]; then |
pankso@47 | 475 colorize 036 "$(gettext 'Files list:')" |
pankso@47 | 476 cat ${installed}/${pkg}/files.list |
pankso@47 | 477 separator "-" |
pankso@47 | 478 fi |
pankso@47 | 479 echo -n $(colorize 036 "$(gettext 'Installed size:')") |
pankso@47 | 480 info 033 "$sup_size" |
pankso@47 | 481 echo -n $(colorize 036 "$(gettext 'Installed files:')") |
pankso@47 | 482 info 033 $(cat ${installed}/${pkg}/files.list | wc -l) |
pankso@6 | 483 newline |
pankso@6 | 484 else |
pankso@6 | 485 gettext "Can't find installed package:"; colorize 31 " $pkg" |
pankso@6 | 486 fi ;; |
pankso@6 | 487 |
pankso@6 | 488 esac && exit 0 |