| Index: cros_workon
|
| diff --git a/cros_workon b/cros_workon
|
| index 61b1e4742005afd381d3bb22b60dd61a60d4a020..0c7ded12ad3995f45c00df04a468ac49efb2e2e2 100755
|
| --- a/cros_workon
|
| +++ b/cros_workon
|
| @@ -14,9 +14,6 @@
|
| # The path to common.sh should be relative to your script's location.
|
| . "$(dirname "$0")/common.sh"
|
|
|
| -# Load common functions for workon scripts.
|
| -. "$(dirname "$0")/lib/cros_workon_common.sh"
|
| -
|
| # Script must be run inside the chroot
|
| restart_in_chroot_if_needed $*
|
| get_default_board
|
| @@ -98,6 +95,32 @@ if [ ! -L "${UNMASK_FILE}" ]; then
|
| die "ln -s ${WORKON_FILE} ${UNMASK_FILE}"
|
| fi
|
|
|
| +find_keyword_workon_ebuilds() {
|
| + keyword="${1}"
|
| +
|
| + pushd "${BOARD_DIR}"/etc/ 1> /dev/null
|
| + source make.conf
|
| + popd 1> /dev/null
|
| + local CROS_OVERLAYS="${PORTDIR_OVERLAY}"
|
| +
|
| + # 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 grep -l "inherit.*cros-workon" | \
|
| + xargs grep -l "KEYWORDS=.*${keyword}.*"
|
| + done
|
| +}
|
| +
|
| +show_workon_ebuilds() {
|
| + 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.
|
| +}
|
| +
|
| # Canonicalize package name to category/package.
|
| canonicalize_name () {
|
| local pkgfile
|
|
|