The paclist script provides a simple method for monitoring which packages are installed from a given repo. This is particularly useful when using a testing or unstable repository. Signed-off-by: Allan McRae <mcrae_allan@hotmail.com> --- contrib/paclist | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 51 insertions(+), 0 deletions(-) create mode 100644 contrib/paclist diff --git a/contrib/paclist b/contrib/paclist new file mode 100644 index 0000000..87592a5 --- /dev/null +++ b/contrib/paclist @@ -0,0 +1,51 @@ +#!/bin/bash +# paclist - List all packages installed from a given repo +# +# Copyright (C) 2008 Allan McRae <mcrae_allan@hotmail.com> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + + +readonly progname="paclist" +readonly version="1.0" + +if [ -z "$1" -o "$1" = "--help" -o "$1" = "-h" ]; then + echo "$progname - List all packages installed from a given repo" + echo "Usage: $progname <repo>" + echo "Example: $progname testing" + exit 0 +fi + +if [ "$1" = "--version" -o "$1" = "-v" ]; then + echo "$progname version $version" + echo "Copyright (C) 2008 Allan McRae" + exit 0 +fi + +pkglist=$(mktemp) +ret=0 +pacman -Sl $1 > $pkglist || ret=$? +if [ $ret -ne 0 ]; then + exit 1 +fi + +pacman -Q | while read pkg; do + ret=0 + grep -q "$pkg" $pkglist || ret=$? + if [ $ret -eq 0 ]; then + echo $pkg + fi +done + +rm $pkglist -- 1.5.5.1