| Index: lib/cros_workon_common.sh
|
| diff --git a/lib/cros_workon_common.sh b/lib/cros_workon_common.sh
|
| index cd6939f04d216d7339de337bc9fc678883375fec..b7f1a12bee20ce46c8865748284b2c710aca9ed3 100644
|
| --- a/lib/cros_workon_common.sh
|
| +++ b/lib/cros_workon_common.sh
|
| @@ -6,7 +6,9 @@
|
|
|
| # Common library for functions used by workon tools.
|
|
|
| -find_workon_ebuilds() {
|
| +find_keyword_workon_ebuilds() {
|
| + keyword="${1}"
|
| +
|
| pushd "${BOARD_DIR}"/etc/ 1> /dev/null
|
| source make.conf
|
| popd 1> /dev/null
|
| @@ -15,20 +17,17 @@ find_workon_ebuilds() {
|
| # NOTE: overlay may be a symlink, and we have to use ${overlay}/
|
| for overlay in ${CROS_OVERLAYS}; do
|
| # only look up ebuilds named 9999 to eliminate duplicates
|
| - find ${overlay}/ -name '*9999.ebuild' | xargs fgrep cros-workon | \
|
| - sed -e 's/\([.]ebuild\):.*/\1/'|uniq
|
| + find ${overlay}/ -name '*9999.ebuild' | \
|
| + xargs grep -l "inherit.*cros-workon" | \
|
| + xargs grep -l "KEYWORDS=.*${keyword}.*"
|
| done
|
| }
|
|
|
| -# wrapper script that caches the result of find_workon_ebuilds()
|
| -show_workon_ebuilds_files() {
|
| - if [ -z "${CROS_ALL_EBUILDS}" ]; then
|
| - CROS_ALL_EBUILDS=$(find_workon_ebuilds)
|
| - fi
|
| - echo "${CROS_ALL_EBUILDS}"
|
| -}
|
| -
|
| show_workon_ebuilds() {
|
| - show_workon_ebuilds_files | \
|
| - sed -e 's/.*\/\([^/]*\)\/\([^/]*\)\/.*\.ebuild/\1\/\2/'| sort
|
| + keyword=$1
|
| +
|
| + find_keyword_workon_ebuilds ${keyword} | \
|
| + sed -e 's/.*\/\([^/]*\)\/\([^/]*\)\/.*\.ebuild/\1\/\2/' | \
|
| + sort -u
|
| + # This changes the absolute path to ebuilds into category/package.
|
| }
|
|
|