cros_workon: mask non-live versions

People who start working on a package and edit the ebuild but accidentally
introduce an error (such as invalid DEPEND) often times don't notice.  When
they do `emerge-$BOARD` on that package, portage falls back to the non-live
version automatically.  Then developers waste time trying to figure out why
their changes aren't working.  Further, emerge doesn't even tell them why
it skipped the live version.  The only way to find that out is by doing:
	emerge-$BOARD '=foo-9999'

Instead, when someone starts working on a package, automatically mask the
non-live version.  That way when they attempt to emerge things, portage
fails immediately with an error message explaining why.

This does make it hard to manually emerge the non-live version like so:
	emerge-$BOARD '<foo-9999'
but considering the number of times I've helped people with this behavior
(they added a bug to the 9999 version and couldn't figure it out), that's
a small downside to an otherwise significant improvement.  If they really
want to install the non-live version, they can do `cros_workon stop` and
then emerge it.

BUG=chromium-os:27494
TEST=`./cros_workon --board x86-alex start metrics`
     `emerge-x86-alex metrics` installs the live version
     edit metrics-9999.ebuild to add bogus depend
     `emerge-x86-alex metrics` fails explaining error in 9999 version

Change-Id: Ia1843424d771d7dce340a04b27bb164714085520
Reviewed-on: https://gerrit.chromium.org/gerrit/18175
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
1 file changed