| Index: cros_workon
|
| diff --git a/cros_workon b/cros_workon
|
| index fb73f09abd8d936f4ce94c3484dd57a7b8e03229..0e5534063faf9eb441af2f69a895757b6a3e1a37 100755
|
| --- a/cros_workon
|
| +++ b/cros_workon
|
| @@ -66,8 +66,23 @@ sudo touch "${KEYWORDS_FILE}" "${UNMASK_FILE}" || \
|
|
|
| # Canonicalize package name to category/package.
|
| canonicalize_name () {
|
| - ${EQUERY} which $1 | \
|
| - awk -F '/' '{ print $(NF-2) "/" $(NF-1) }'
|
| + local pkgfile
|
| + local pkgname
|
| +
|
| + if ! pkgfile=$(${EQUERY} which $1); then
|
| + warn "error looking up package $1" 1>&2
|
| + return 1
|
| + fi
|
| +
|
| + pkgname=$(\
|
| + echo "${pkgfile}" |awk -F '/' '{ print $(NF-2) "/" $(NF-1) }')
|
| +
|
| + if ! grep -q "cros-workon" ${pkgfile}; then
|
| + warn "${pkgname} is not a cros-workon package" 1>&2
|
| + return 1
|
| + fi
|
| + echo "${pkgname}"
|
| + return 0
|
| }
|
|
|
| # Canonicalize a list of names.
|
| @@ -80,7 +95,8 @@ canonicalize_names () {
|
| [ -n "${name}" ] || return 1
|
| names+=" ${name}"
|
| done
|
| - echo ${names}
|
| +
|
| + echo "${names}"
|
| }
|
|
|
| # Display ebuilds currently part of the live branch and open for development.
|
| @@ -89,8 +105,13 @@ show_live_ebuilds () {
|
| }
|
|
|
| ATOM_LIST=$@
|
| -ATOM_LIST=$(canonicalize_names "${ATOM_LIST}") || die "Invalid package name"
|
| -[ -n "${ATOM_LIST}" ] || ATOM_LIST=$(show_live_ebuilds)
|
| +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.
|
|
|