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