spk annotate spk-ls @ rev 69
Update to use new colorize
author | Christian Mesh <meshca@clarkson.edu> |
---|---|
date | Sat May 19 03:51:05 2012 -0500 (2012-05-19) |
parents | 36c7fb7707d0 |
children | a946ed77f727 |
rev | line source |
---|---|
pankso@15 | 1 #!/bin/sh |
pankso@15 | 2 # |
pankso@15 | 3 # Spk-ls - List SliTaz packages and files. Read the README before adding or |
pankso@15 | 4 # modifing any code in spk! |
pankso@15 | 5 # |
pankso@15 | 6 # Copyright (C) SliTaz GNU/Linux - BSD License |
pankso@15 | 7 # Author: See AUTHORS files |
pankso@15 | 8 # |
pankso@16 | 9 . /usr/lib/slitaz/libspk.sh |
pankso@15 | 10 |
pankso@15 | 11 # |
pankso@15 | 12 # Functions |
pankso@15 | 13 # |
pankso@15 | 14 |
pankso@15 | 15 # Help and usage |
pankso@15 | 16 usage() { |
pankso@15 | 17 name=$(basename $0) |
pankso@15 | 18 cat << EOT |
pankso@15 | 19 |
pankso@15 | 20 $(boldify $(gettext "Usage:")) $name [packages|--options] |
pankso@15 | 21 |
pankso@15 | 22 $(gettext "List packages or installed files by packages") |
pankso@15 | 23 |
pankso@15 | 24 $(boldify $(gettext "Options:")) |
pankso@62 | 25 --count $(gettext "Display the number of installed packages") |
pankso@62 | 26 --mirror $(gettext "List all the packages on mirror") |
pankso@62 | 27 --extra $(gettext "List packages on extra mirrors ") |
pankso@62 | 28 --blocked $(gettext "List all blocked packages") |
pankso@62 | 29 --short $(gettext "Short packages list format") |
pankso@62 | 30 --modifiers $(gettext "List package modifiers") |
pankso@62 | 31 --root= $(gettext "Set the root file system path") |
pankso@62 | 32 --color=NB $(gettext "Set package name color in list") |
pankso@62 | 33 --debug $(gettext "Display some usefull debug information") |
pankso@15 | 34 |
pankso@15 | 35 $(boldify $(gettext "Examples:")) |
pankso@15 | 36 $name package1 package2 packageN |
pankso@22 | 37 $name --short --color=33 |
pankso@15 | 38 |
pankso@15 | 39 EOT |
pankso@15 | 40 exit 0 |
pankso@15 | 41 } |
pankso@15 | 42 |
pankso@15 | 43 # |
pankso@15 | 44 # Handle --options |
pankso@15 | 45 # |
pankso@15 | 46 |
pankso@15 | 47 for opt in $@ |
pankso@15 | 48 do |
pankso@15 | 49 case "$opt" in |
pankso@15 | 50 *usage|*help) usage ;; |
pankso@15 | 51 --count) |
pankso@15 | 52 count_installed |
pankso@15 | 53 count_mirrored |
pankso@15 | 54 exit 0 ;; |
pankso@15 | 55 --mirror) |
pankso@62 | 56 newline |
meshca@69 | 57 boldify $(gettext "Mirror") $(cat $mirrorurl) |
pankso@62 | 58 read_pkgsdesc $pkgsdesc |
pankso@15 | 59 separator |
pankso@22 | 60 boldify $(count_mirrored) |
pankso@62 | 61 newline && exit 0 ;; |
pankso@62 | 62 --extra) |
pankso@62 | 63 [ -d "$extradb" ] || exit 1 |
pankso@62 | 64 for extra in $extradb/* |
pankso@62 | 65 do |
pankso@62 | 66 newline |
meshca@69 | 67 boldify $(gettext "Extra mirror") |
pankso@62 | 68 if [ ! -f "$extra/packages.desc" ]; then |
pankso@62 | 69 echo "URL: $(cat $extra/mirror)" |
meshca@69 | 70 gettext "Missing:"; colorize 31" packages.desc" |
pankso@62 | 71 continue |
pankso@62 | 72 fi |
pankso@62 | 73 separator |
pankso@62 | 74 read_pkgsdesc $extra/packages.desc |
pankso@62 | 75 separator |
pankso@62 | 76 boldify $(echo -n "$(cat $extra/packages.$SUM | wc -l) " |
pankso@62 | 77 gettext "packages in:"; echo " $(basename $extra)") |
pankso@62 | 78 newline |
pankso@62 | 79 done |
pankso@62 | 80 exit 0 ;; |
pankso@15 | 81 --blocked) |
pankso@62 | 82 if [ -s "$blocked" ]; then |
pankso@15 | 83 cat $blocked |
pankso@15 | 84 else |
meshca@69 | 85 gettext "No blocked packages"; newline |
pankso@15 | 86 fi && exit 0 ;; |
pankso@15 | 87 --short) |
pankso@22 | 88 newline |
meshca@69 | 89 boldify $(gettext "Installed packages") |
pankso@22 | 90 separator |
pankso@22 | 91 for pkg in $(ls -1 $installed) |
pankso@22 | 92 do |
pankso@22 | 93 . $installed/$pkg/receipt |
meshca@69 | 94 echo -n "$(colorize 32 $pkg)"; indent 28 " $VERSION" |
pankso@22 | 95 done |
pankso@22 | 96 separator |
pankso@15 | 97 boldify $(count_installed) |
pankso@22 | 98 newline && exit 0 ;; |
pankso@15 | 99 --*) continue ;; |
pankso@15 | 100 *) |
pankso@15 | 101 # List installed files by the package. |
pankso@15 | 102 count=0 |
pankso@15 | 103 for pkg in $@ |
pankso@15 | 104 do |
pankso@15 | 105 [ -f "$installed/$pkg/files.list" ] || continue |
pankso@62 | 106 nb=$(cat $installed/$pkg/files.list | wc -l) |
pankso@15 | 107 count=$(($count + 1)) |
pankso@15 | 108 [ "$count" == 1 ] && newline |
pankso@62 | 109 # List modifiers |
pankso@62 | 110 if [ "$modifiers" ]; then |
pankso@62 | 111 modifiers=$installed/$pkg/modifiers |
pankso@62 | 112 if [ -f "$modifiers" ]; then |
meshca@69 | 113 boldify $(gettext "Modifiers for") $pkg |
pankso@62 | 114 separator |
pankso@62 | 115 cat $modifiers |
pankso@62 | 116 separator && newline |
pankso@62 | 117 else |
meshca@69 | 118 echo -n "$(boldify $pkg) " |
pankso@62 | 119 gettext "package was not modified"; newline |
pankso@62 | 120 fi |
pankso@62 | 121 continue |
pankso@62 | 122 fi |
pankso@15 | 123 boldify $(gettext "Installed files by"; echo " $pkg") |
pankso@15 | 124 separator |
pankso@15 | 125 cat $installed/$pkg/files.list |
pankso@15 | 126 separator |
pankso@62 | 127 gettext "Installed files by"; echo -n " $pkg: " |
meshca@69 | 128 colorize 32 "$nb" && newline |
pankso@15 | 129 done && exit 0 ;; |
pankso@15 | 130 esac |
pankso@15 | 131 done |
pankso@15 | 132 |
pankso@15 | 133 # |
pankso@15 | 134 # Parse all installed pkgs receipt. |
pankso@15 | 135 # |
pankso@15 | 136 |
pankso@18 | 137 count=0 |
pankso@18 | 138 |
pankso@18 | 139 newline |
pankso@15 | 140 boldify "$(gettext "Installed packages")" |
pankso@15 | 141 separator |
pankso@15 | 142 for pkg in $installed/* |
pankso@15 | 143 do |
pankso@15 | 144 unset_receipt |
pankso@15 | 145 . $pkg/receipt |
pankso@18 | 146 count=$(($count + 1)) |
pankso@18 | 147 [ "$count" != 1 ] && newline |
meshca@69 | 148 gettext "Package :"; colorize 32 " $PACKAGE" |
pankso@15 | 149 receipt_info |
pankso@15 | 150 done |
pankso@15 | 151 separator |
pankso@22 | 152 boldify $(count_installed) && newline |
pankso@15 | 153 exit 0 |