cros_workon: also create unmask

* This fixes the issue, where cros-workon packages have a package.mask set
to prevent upstream ebuilds from rolling in. In general, it brings out the
cavalry for unmasking the live package in every possible way.

Review URL: http://codereview.chromium.org/2934007
This commit is contained in:
Zdenek Behan 2010-07-09 18:08:46 -07:00
parent 3adf3f71e9
commit 9a8f3998f0

View File

@ -39,11 +39,14 @@ WORKON_CMD=$1
shift shift
BOARD_DIR=/build/"${FLAGS_board}" BOARD_DIR=/build/"${FLAGS_board}"
KEYWORDS_DIR=${BOARD_DIR}/etc/portage/package.keywords
KEYWORDS_FILE=${KEYWORDS_DIR}/cros-workon
sudo mkdir -p "${KEYWORDS_DIR}" || die "mkdir -p ${KEYWORDS_DIR}" KEYWORDS_DIR=${BOARD_DIR}/etc/portage/package.keywords
sudo touch "${KEYWORDS_FILE}" || die "touch ${KEYWORDS_FILE}" UNMASK_DIR=${BOARD_DIR}/etc/portage/package.unmask
KEYWORDS_FILE=${KEYWORDS_DIR}/cros-workon
UNMASK_FILE=${UNMASK_DIR}/cros-workon
sudo mkdir -p "${KEYWORDS_DIR}" "${UNMASK_DIR}" || die "mkdir -p ${KEYWORDS_DIR} ${UNMASK_DIR}"
sudo touch "${KEYWORDS_FILE}" "${UNMASK_FILE}" || die "touch ${KEYWORDS_FILE} ${UNMASK_FILE}"
# Canonicalize package name to category/package. # Canonicalize package name to category/package.
canonicalize_name () { canonicalize_name () {
@ -81,6 +84,7 @@ ebuild_to_live () {
for atom in ${atoms}; do for atom in ${atoms}; do
if ! grep -qx "${atom}" "${KEYWORDS_FILE}" ; then if ! grep -qx "${atom}" "${KEYWORDS_FILE}" ; then
sudo bash -c "echo \"${atom}\" >> \"${KEYWORDS_FILE}\"" sudo bash -c "echo \"${atom}\" >> \"${KEYWORDS_FILE}\""
sudo bash -c "echo \"~${atom}-9999\" >> \"${UNMASK_FILE}\""
fi fi
done done
} }
@ -90,9 +94,15 @@ ebuild_to_stable () {
local atoms=$1 local atoms=$1
for atom in ${atoms}; do for atom in ${atoms}; do
# remove the keyword
sudo bash -c "grep -v '^${atom}\$' \"${KEYWORDS_FILE}\" > \ sudo bash -c "grep -v '^${atom}\$' \"${KEYWORDS_FILE}\" > \
\"${KEYWORDS_FILE}+\"" \"${KEYWORDS_FILE}+\""
sudo mv "${KEYWORDS_FILE}+" "${KEYWORDS_FILE}" sudo mv "${KEYWORDS_FILE}+" "${KEYWORDS_FILE}"
# remove the unmask
sudo bash -c "grep -v '^~${atom}-9999\$' \"${UNMASK_FILE}\" > \
\"${UNMASK_FILE}+\""
sudo mv "${UNMASK_FILE}+" "${UNMASK_FILE}"
done done
} }