spk annotate spk-ls @ rev 131
Tiny edits
author | Paul Issott <paul@slitaz.org> |
---|---|
date | Mon Mar 03 16:06:46 2014 +0000 (2014-03-03) |
parents | a78d26cd3178 |
children | 9378152c7e2c |
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 |
paul@131 | 4 # modifying 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") |
mojo@79 | 33 --debug $(gettext "Display some useful 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@90 | 58 separator |
pankso@62 | 59 read_pkgsdesc $pkgsdesc |
pankso@15 | 60 separator |
pankso@22 | 61 boldify $(count_mirrored) |
pankso@62 | 62 newline && exit 0 ;; |
pankso@62 | 63 --extra) |
pankso@62 | 64 [ -d "$extradb" ] || exit 1 |
pankso@62 | 65 for extra in $extradb/* |
pankso@62 | 66 do |
pankso@62 | 67 newline |
meshca@69 | 68 boldify $(gettext "Extra mirror") |
pankso@62 | 69 if [ ! -f "$extra/packages.desc" ]; then |
pankso@62 | 70 echo "URL: $(cat $extra/mirror)" |
meshca@69 | 71 gettext "Missing:"; colorize 31" packages.desc" |
pankso@62 | 72 continue |
pankso@62 | 73 fi |
pankso@62 | 74 separator |
pankso@62 | 75 read_pkgsdesc $extra/packages.desc |
pankso@62 | 76 separator |
meshca@70 | 77 boldify $(echo -n $(cat $extra/packages.$SUM | wc -l)) |
meshca@70 | 78 gettext "packages in:"; echo " $(basename $extra)" |
pankso@62 | 79 newline |
pankso@62 | 80 done |
pankso@62 | 81 exit 0 ;; |
pankso@15 | 82 --blocked) |
pankso@62 | 83 if [ -s "$blocked" ]; then |
pankso@15 | 84 cat $blocked |
pankso@15 | 85 else |
meshca@69 | 86 gettext "No blocked packages"; newline |
meshca@70 | 87 fi |
meshca@70 | 88 exit 0 ;; |
pankso@15 | 89 --short) |
pankso@22 | 90 newline |
pankso@88 | 91 echo -n $(boldify $(gettext "Package")) |
pankso@88 | 92 indent 28 $(boldify $(gettext "Version")) |
pankso@22 | 93 separator |
pankso@22 | 94 for pkg in $(ls -1 $installed) |
pankso@22 | 95 do |
pankso@88 | 96 source_receipt $installed/$pkg/receipt |
pankso@119 | 97 echo $(colorize 32 $pkg) $(indent 28 "$VERSION") |
pankso@22 | 98 done |
pankso@22 | 99 separator |
pankso@15 | 100 boldify $(count_installed) |
meshca@70 | 101 newline |
meshca@70 | 102 exit 0 ;; |
pankso@15 | 103 --*) continue ;; |
pankso@15 | 104 *) |
pankso@15 | 105 # List installed files by the package. |
pankso@15 | 106 count=0 |
pankso@15 | 107 for pkg in $@ |
pankso@15 | 108 do |
pankso@15 | 109 [ -f "$installed/$pkg/files.list" ] || continue |
pankso@62 | 110 nb=$(cat $installed/$pkg/files.list | wc -l) |
pankso@15 | 111 count=$(($count + 1)) |
pankso@15 | 112 [ "$count" == 1 ] && newline |
pankso@62 | 113 # List modifiers |
pankso@62 | 114 if [ "$modifiers" ]; then |
pankso@62 | 115 modifiers=$installed/$pkg/modifiers |
pankso@62 | 116 if [ -f "$modifiers" ]; then |
meshca@69 | 117 boldify $(gettext "Modifiers for") $pkg |
pankso@62 | 118 separator |
pankso@62 | 119 cat $modifiers |
pankso@62 | 120 separator && newline |
pankso@62 | 121 else |
meshca@70 | 122 echo $(boldify $pkg) $(gettext "package was not modified") |
pankso@62 | 123 fi |
pankso@62 | 124 continue |
pankso@62 | 125 fi |
meshca@70 | 126 boldify $(gettext "Installed files by") $pkg |
pankso@15 | 127 separator |
pankso@15 | 128 cat $installed/$pkg/files.list |
pankso@15 | 129 separator |
pankso@121 | 130 gettext "Installed files by"; echo -n " $pkg: " |
pankso@90 | 131 colorize 32 "$nb" && newline |
meshca@70 | 132 done |
meshca@70 | 133 exit 0 ;; |
pankso@15 | 134 esac |
pankso@15 | 135 done |
pankso@15 | 136 |
pankso@15 | 137 # |
pankso@15 | 138 # Parse all installed pkgs receipt. |
pankso@15 | 139 # |
pankso@15 | 140 |
pankso@18 | 141 count=0 |
pankso@18 | 142 |
pankso@18 | 143 newline |
meshca@70 | 144 boldify $(gettext "Installed packages") |
pankso@15 | 145 separator |
pankso@15 | 146 for pkg in $installed/* |
pankso@15 | 147 do |
pankso@15 | 148 unset_receipt |
meshca@101 | 149 source_receipt $pkg/receipt |
pankso@18 | 150 count=$(($count + 1)) |
pankso@18 | 151 [ "$count" != 1 ] && newline |
meshca@69 | 152 gettext "Package :"; colorize 32 " $PACKAGE" |
pankso@15 | 153 receipt_info |
pankso@15 | 154 done |
pankso@15 | 155 separator |
pankso@22 | 156 boldify $(count_installed) && newline |
pankso@15 | 157 exit 0 |