cros_workon: quick hack at package name checking

Change-Id: I30e97760d5b96077e38414be31ef434542021361

Review URL: http://codereview.chromium.org/2883012
This commit is contained in:
Mandeep Singh Baines 2010-07-01 14:05:19 -07:00
parent d0b0503276
commit a0fcf30e54

View File

@ -45,12 +45,32 @@ KEYWORDS_FILE=${KEYWORDS_DIR}/cros-workon
sudo mkdir -p "${KEYWORDS_DIR}" || die "mkdir -p ${KEYWORDS_DIR}" sudo mkdir -p "${KEYWORDS_DIR}" || die "mkdir -p ${KEYWORDS_DIR}"
sudo touch "${KEYWORDS_FILE}" || die "touch ${KEYWORDS_FILE}" 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. # Display ebuilds currently part of the live branch and open for development.
show_live_ebuilds () { show_live_ebuilds () {
cat "${KEYWORDS_FILE}" cat "${KEYWORDS_FILE}"
} }
ATOM_LIST=$@ ATOM_LIST=$@
ATOM_LIST=$(canonicalize_names "${ATOM_LIST}") || die "Invalid package name"
[ -n "${ATOM_LIST}" ] || ATOM_LIST=$(show_live_ebuilds) [ -n "${ATOM_LIST}" ] || ATOM_LIST=$(show_live_ebuilds)
# Move a stable ebuild to the live development catgeory. The ebuild # Move a stable ebuild to the live development catgeory. The ebuild