spk annotate spk-ls @ rev 70
small clean
author | Christian Mesh <meshca@clarkson.edu> |
---|---|
date | Sat May 19 04:59:02 2012 -0500 (2012-05-19) |
parents | 0cb21eb5cf20 |
children | e5b0051e5021 |
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 |
meshca@70 | 76 boldify $(echo -n $(cat $extra/packages.$SUM | wc -l)) |
meshca@70 | 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 |
meshca@70 | 86 fi |
meshca@70 | 87 exit 0 ;; |
pankso@15 | 88 --short) |
pankso@22 | 89 newline |
meshca@69 | 90 boldify $(gettext "Installed packages") |
pankso@22 | 91 separator |
pankso@22 | 92 for pkg in $(ls -1 $installed) |
pankso@22 | 93 do |
pankso@22 | 94 . $installed/$pkg/receipt |
meshca@70 | 95 echo $(colorize 32 $pkg); indent 28 " $VERSION" |
pankso@22 | 96 done |
pankso@22 | 97 separator |
pankso@15 | 98 boldify $(count_installed) |
meshca@70 | 99 newline |
meshca@70 | 100 exit 0 ;; |
pankso@15 | 101 --*) continue ;; |
pankso@15 | 102 *) |
pankso@15 | 103 # List installed files by the package. |
pankso@15 | 104 count=0 |
pankso@15 | 105 for pkg in $@ |
pankso@15 | 106 do |
pankso@15 | 107 [ -f "$installed/$pkg/files.list" ] || continue |
pankso@62 | 108 nb=$(cat $installed/$pkg/files.list | wc -l) |
pankso@15 | 109 count=$(($count + 1)) |
pankso@15 | 110 [ "$count" == 1 ] && newline |
pankso@62 | 111 # List modifiers |
pankso@62 | 112 if [ "$modifiers" ]; then |
pankso@62 | 113 modifiers=$installed/$pkg/modifiers |
pankso@62 | 114 if [ -f "$modifiers" ]; then |
meshca@69 | 115 boldify $(gettext "Modifiers for") $pkg |
pankso@62 | 116 separator |
pankso@62 | 117 cat $modifiers |
pankso@62 | 118 separator && newline |
pankso@62 | 119 else |
meshca@70 | 120 echo $(boldify $pkg) $(gettext "package was not modified") |
pankso@62 | 121 fi |
pankso@62 | 122 continue |
pankso@62 | 123 fi |
meshca@70 | 124 boldify $(gettext "Installed files by") $pkg |
pankso@15 | 125 separator |
pankso@15 | 126 cat $installed/$pkg/files.list |
pankso@15 | 127 separator |
meshca@70 | 128 echo $(gettext "Installed files by") $pkg: |
meshca@70 | 129 colorize 32 $nb && newline |
meshca@70 | 130 done |
meshca@70 | 131 exit 0 ;; |
pankso@15 | 132 esac |
pankso@15 | 133 done |
pankso@15 | 134 |
pankso@15 | 135 # |
pankso@15 | 136 # Parse all installed pkgs receipt. |
pankso@15 | 137 # |
pankso@15 | 138 |
pankso@18 | 139 count=0 |
pankso@18 | 140 |
pankso@18 | 141 newline |
meshca@70 | 142 boldify $(gettext "Installed packages") |
pankso@15 | 143 separator |
pankso@15 | 144 for pkg in $installed/* |
pankso@15 | 145 do |
pankso@15 | 146 unset_receipt |
pankso@15 | 147 . $pkg/receipt |
pankso@18 | 148 count=$(($count + 1)) |
pankso@18 | 149 [ "$count" != 1 ] && newline |
meshca@69 | 150 gettext "Package :"; colorize 32 " $PACKAGE" |
pankso@15 | 151 receipt_info |
pankso@15 | 152 done |
pankso@15 | 153 separator |
pankso@22 | 154 boldify $(count_installed) && newline |
pankso@15 | 155 exit 0 |