| Index: cros_workon
|
| diff --git a/cros_workon b/cros_workon
|
| index 4ff535c0cbb3748b084fe8cb82bf85eb2d149820..33eb594c80c2d223cf8aa08173dc37aa578c36ef 100755
|
| --- a/cros_workon
|
| +++ b/cros_workon
|
| @@ -24,13 +24,14 @@ DEFINE_boolean host "${FLAGS_FALSE}" \
|
| "Uses the host instead of board"
|
| DEFINE_string command "git status" \
|
| "The command to be run by forall."
|
| +DEFINE_boolean all "${FLAGS_FALSE}" \
|
| + "Apply to all possible packages for the given command"
|
|
|
| FLAGS_HELP="usage: $0 <command> [flags]
|
| commands:
|
| start: Moves an ebuild to live (intended to support development)
|
| stop: Moves an ebuild to stable (use last known good)
|
| - list: List of current live ebuilds
|
| - listall: List all possible cros-workon ebuilds
|
| + list: List of live ebuilds (workon ebuilds if --all)
|
| forall: For each ebuild, cd to the source dir and run a commond"
|
| FLAGS "$@" || exit 1
|
| eval set -- "${FLAGS_ARGV}"
|
| @@ -105,15 +106,6 @@ show_live_ebuilds () {
|
| cat "${KEYWORDS_FILE}"
|
| }
|
|
|
| -ATOM_LIST=$@
|
| -if [ -z "${ATOM_LIST}" ]; then
|
| - ATOM_LIST=$(show_live_ebuilds)
|
| -else
|
| - if ! ATOM_LIST=$(canonicalize_names "${ATOM_LIST}"); then
|
| - die "Error parsing package list"
|
| - fi
|
| -fi
|
| -
|
| # Move a stable ebuild to the live development catgeory. The ebuild
|
| # src_unpack step fetches the package source for local development.
|
| ebuild_to_live () {
|
| @@ -174,11 +166,37 @@ show_workon_ebuilds() {
|
| done
|
| }
|
|
|
| +# --all makes commands operate on different lists
|
| +if [ ${FLAGS_all} = "${FLAGS_TRUE}" ]; then
|
| + case ${WORKON_CMD} in
|
| + start) ATOM_LIST=$(show_workon_ebuilds);;
|
| + stop) ATOM_LIST=$(show_live_ebuilds);;
|
| + list) ;;
|
| + *) die "--all is invalid for the given command";;
|
| + esac
|
| +else # not selected --all
|
| + ATOM_LIST=$@
|
| + case ${WORKON_CMD} in
|
| + start|stop)
|
| + if [ -z "${ATOM_LIST}" ]; then
|
| + die "${WORKON_CMD}: No packages specified"
|
| + elif ! ATOM_LIST=$(canonicalize_names "${ATOM_LIST}"); then
|
| + die "Error parsing package list"
|
| + fi;;
|
| + forall)
|
| + if [ -z "${ATOM_LIST}" ]; then
|
| + ATOM_LIST=$(show_workon_ebuilds)
|
| + elif ! ATOM_LIST=$(canonicalize_names "${ATOM_LIST}"); then
|
| + die "Error parsing package list"
|
| + fi;;
|
| + *) ;;
|
| + esac
|
| +fi
|
| +
|
| case ${WORKON_CMD} in
|
| start) ebuild_to_live "${ATOM_LIST}" ;;
|
| stop) ebuild_to_stable "${ATOM_LIST}" ;;
|
| - list) show_live_ebuilds ;;
|
| + list) [ ${FLAGS_all} = "${FLAGS_FALSE}" ] && show_live_ebuilds || show_workon_ebuilds ;;
|
| forall) ebuild_forall "${ATOM_LIST}" ;;
|
| - listall)show_workon_ebuilds ;;
|
| *) die "invalid cros_workon command" ;;
|
| esac
|
|
|