From 07f92099a42f2ca0a5296445543a72d43a2b34fc Mon Sep 17 00:00:00 2001 From: Mandeep Singh Baines Date: Mon, 24 Jan 2011 14:04:35 -0800 Subject: [PATCH] cros_workon: allow a stop on a dead package Previously, you could not stop working on a package if its ebuild had been removed. This fixes this issue by skipping canonicalization if the package name exactly matches a name in the workon file. BUG=11214 TEST=See below. (cros-chroot) msb@msb ~/trunk/src/scripts $ ./cros_workon --board x86-generic list sys-kernel/chromeos-kernel (cros-chroot) msb@msb ~/trunk/src/scripts $ echo "=foo/bar-9999" >> ~/trunk/.config/cros_workon/x86-generic (cros-chroot) msb@msb ~/trunk/src/scripts $ ./cros_workon --board x86-generic list sys-kernel/chromeos-kernel foo/bar (cros-chroot) msb@msb ~/trunk/src/scripts $ ./cros_workon --board x86-generic stop foo/bar !!! No packages matching 'foo/bar' WARNING: error looking up package foo/bar ERROR : Error parsing package list *** I made changes to cros_workon here (cros-chroot) msb@msb ~/trunk/src/scripts $ ./cros_workon --board x86-generic list sys-kernel/chromeos-kernel foo/bar (cros-chroot) msb@msb ~/trunk/src/scripts $ ./cros_workon --board x86-generic stop foo/bar INFO : Stopped working on 'foo/bar' for 'x86-generic' (cros-chroot) msb@msb ~/trunk/src/scripts $ ./cros_workon --board x86-generic list sys-kernel/chromeos-kernel Change-Id: Id5cbd2b145b4d0fca96cfb245f1ac99e0b3cbdf3 Review URL: http://codereview.chromium.org/6379006 --- cros_workon | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cros_workon b/cros_workon index f12bc7a9e4..61b1e47420 100755 --- a/cros_workon +++ b/cros_workon @@ -103,6 +103,11 @@ canonicalize_name () { local pkgfile local pkgname + if grep -qx "=$1-9999" "${WORKON_FILE}" ; then + echo $1 + return 0 + fi + if ! pkgfile=$(ACCEPT_KEYWORDS="~${BOARD_KEYWORD}" ${EQUERYCMD} which $1); then warn "error looking up package $1" 1>&2 return 1