From a0fcf30e54025593890be0a74b75ada3e0d755fd Mon Sep 17 00:00:00 2001 From: Mandeep Singh Baines Date: Thu, 1 Jul 2010 14:05:19 -0700 Subject: [PATCH] cros_workon: quick hack at package name checking Change-Id: I30e97760d5b96077e38414be31ef434542021361 Review URL: http://codereview.chromium.org/2883012 --- cros_workon | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/cros_workon b/cros_workon index 6f7aeaaf60..8477d90bd0 100755 --- a/cros_workon +++ b/cros_workon @@ -45,12 +45,32 @@ KEYWORDS_FILE=${KEYWORDS_DIR}/cros-workon sudo mkdir -p "${KEYWORDS_DIR}" || die "mkdir -p ${KEYWORDS_DIR}" sudo touch "${KEYWORDS_FILE}" || die "touch ${KEYWORDS_FILE}" +# Canonicalize package name to category/package. +canonicalize_name () { + equery-${FLAGS_board} which $1 | \ + awk -F '/' '{ print $(NF-2) "/" $(NF-1) }' +} + +# Canonicalize a list of names. +canonicalize_names () { + local atoms=$1 + local names="" + + for atom in ${atoms}; do + local name=$(canonicalize_name "${atom}") + [ -n "${name}" ] || return 1 + names+=" ${name}" + done + echo ${names} +} + # Display ebuilds currently part of the live branch and open for development. show_live_ebuilds () { cat "${KEYWORDS_FILE}" } ATOM_LIST=$@ +ATOM_LIST=$(canonicalize_names "${ATOM_LIST}") || die "Invalid package name" [ -n "${ATOM_LIST}" ] || ATOM_LIST=$(show_live_ebuilds) # Move a stable ebuild to the live development catgeory. The ebuild