From 0ba293bbba59e0e609145c9d99bd7474a1b4b12a Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Thu, 12 Jul 2007 21:49:32 +0000 Subject: [PATCH] * finished implementation of bin/sde-list-pkg's desc mode by implementing extenders detection when a config was given git-svn-id: svn://svn.opensde.net/opensde/opensde/trunk@21693 10447126-35f2-4685-b0cf-6dd780d3921f --- bin/sde-list-pkg | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/bin/sde-list-pkg b/bin/sde-list-pkg index bcb6b94..c76dfda 100755 --- a/bin/sde-list-pkg +++ b/bin/sde-list-pkg @@ -52,18 +52,18 @@ list_arch() { list_desc_extenders() { local config="$1" - local repo= pkg= pattern= confdir= + local repo= pkg= pattern= pattern2= confdir= shift [ $# -gt 0 ] || return - if [ -z "$config" ]; then - if [ $# -eq 1 ]; then - pattern=$1 - else - pattern="{$( echo $* | tr ' ' ',' )}" - fi + if [ $# -eq 1 ]; then + pattern=$1 + else + pattern="{$( echo $* | tr ' ' ',' )}" + fi + if [ -z "$config" ]; then for repo in $( cd "$SDEROOT/package"; ls -1d * 2> /dev/null ); do ( cd "$SDEROOT"; eval ls -1d package/$repo/*/pkg_${pattern}_{pre,post}.conf 2> /dev/null | cut -d/ -f-3 | sort -u ) done | while read confdir; do @@ -71,7 +71,20 @@ list_desc_extenders() { echo $confdir/$pkg.desc done else - echo_abort 1 "Not yet implemented" + for repo in $( grep '^X' $SDEROOT/config/$config/packages | cut -d' ' -f4 | sort -u ); do + set -- $( grep "^X [^ ]\+ [^ ]\+ $repo " "$SDEROOT/config/$config/packages" | cut -d' ' -f5 ) + + if [ $# -eq 1 ]; then + pattern2=$1 + else + pattern2="{$( echo $* | tr ' ' ',' )}" + fi + + ( cd "$SDEROOT"; eval ls -1d package/$repo/${pattern2}//pkg_${pattern}_{pre,post}.conf 2> /dev/null | cut -d/ -f-3 | sort -u ) + done | while read confdir; do + pkg=${confdir##*/} + echo $confdir/$pkg.desc + done fi }