# HG changeset patch # User Pascal Bellard # Date 1486663710 -3600 # Node ID 05b611ddb67cb442351c2c590397673ecaa6598a # Parent d65a5b0bb72451a62830a721d4b6de57c941a23b search.sh: fix clouds (too many arguments) diff -r d65a5b0bb724 -r 05b611ddb67c pkgs/search.sh --- a/pkgs/search.sh Tue Feb 07 10:45:13 2017 +0100 +++ b/pkgs/search.sh Thu Feb 09 19:08:30 2017 +0100 @@ -934,6 +934,13 @@ } +build_cloud() { + find $WOK/ -maxdepth 2 -name receipt -exec sed \ + "/^$1=/!d;s/.*['\"<]\\(..*\\)[>\"'].*/\\1/" {} \; | \ + display_cloud $2 +} + + # # page begins # @@ -1518,11 +1525,7 @@ EOT else # Display arch cloud - grep -l ^HOST_ARCH= $WOK/*/receipt | while read file; do - HOST_ARCH= - . $file - echo $HOST_ARCH - done | display_cloud arch + build_cloud HOST_ARCH arch fi ;; @@ -1549,15 +1552,7 @@ EOT else # Display maintainer cloud - grep -l ^MAINTAINER= $WOK/*/receipt | while read file; do - MAINTAINER= - . $file - case $MAINTAINER in - # For form "John Doe - *\<*) MAINTAINER="${MAINTAINER#*<}"; echo "${MAINTAINER%>}";; - *) echo $MAINTAINER;; - esac - done | display_cloud maintainer + build_cloud MAINTAINER maintainer fi ;; @@ -1581,11 +1576,7 @@ echo '' else # Display license cloud - grep -l ^LICENSE= $WOK/*/receipt | while read file; do - LICENSE= - . $file - echo $LICENSE - done | display_cloud license + build_cloud LICENSE license fi ;; @@ -1622,12 +1613,7 @@ printf "href=\"?category=%s%s\">%s ", $2, addver, $2; }' else - grep -l ^CATEGORY= $WOK/*/receipt | \ - while read file; do - CATEGORY= - . $file - echo $CATEGORY - done | display_cloud category + build_cloud CATEGORY category fi fi ;; @@ -1665,12 +1651,7 @@ printf "href=\"?tags=%s%s\">%s ", $2, v, $2; }' else - grep -l ^TAGS= $WOK/*/receipt | \ - while read file; do - TAGS= - . $file - echo $TAGS - done | display_cloud tags + build_cloud TAGS tags fi fi ;;