diff options
author | Dieter Plaetinck <dieter@plaetinck.be> | 2009-03-11 21:38:57 +0100 |
---|---|---|
committer | Dieter Plaetinck <dieter@plaetinck.be> | 2009-03-11 21:38:57 +0100 |
commit | 4897786b9d662dd45ee36d98de2aecdd3a8894bc (patch) | |
tree | 13b4665d31b273e297a3eb0ecd4295ec05057700 /src/core/libs/lib-pacman.sh | |
parent | f5bca6d04342c0d6d08494e0d669ff36642214f2 (diff) |
abstracting some pacman logic
Diffstat (limited to 'src/core/libs/lib-pacman.sh')
-rw-r--r-- | src/core/libs/lib-pacman.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/libs/lib-pacman.sh b/src/core/libs/lib-pacman.sh index 2fc7663..48fb61b 100644 --- a/src/core/libs/lib-pacman.sh +++ b/src/core/libs/lib-pacman.sh @@ -132,3 +132,30 @@ pacman_what_is_this_for () ! [ -d /var/lib/pacman ] && mkdir -p /var/lib/pacman } +list_package_groups () +{ + $PACMAN_TARGET -Sg +} + + +# List the packages in one or more repos or groups. output is one or more lines, each line being like this: +# <repo/group name> packagename [version, if $1=repo] +# $1 repo or group +# $2 one or more repo or group names +# TODO: check the validity of the specified names in $2 +list_packages () +{ + [ "$1" = repo -o "$2" = group ] || die_error "list_packages \$1 must be repo or group. not $1!" + [ "$1" = repo ] && $PACMAN_TARGET -Sl $2 + [ "$1" = group ] && $PACMAN_TARGET -Sg $2 +} + +# find out the group to which one or more packages belong +# $1 packages separated by spaces +# output format: multiple lines, each line like: +# <pkgname> <group> +# TODO: check $1 +which_group () +{ + PACKAGE_GROUPS=`$PACMAN_TARGET -Si $1| awk '/^Name/{ printf("%s ",$3) } /^Group/{ print $3 }'` +} |