Index: cros_workon |
diff --git a/cros_workon b/cros_workon |
index 8477d90bd05209556ee6ccff1e150cc6f349084f..904997f36a250a995a7ad14074c21e89008d614c 100755 |
--- a/cros_workon |
+++ b/cros_workon |
@@ -39,11 +39,14 @@ WORKON_CMD=$1 |
shift |
BOARD_DIR=/build/"${FLAGS_board}" |
+ |
KEYWORDS_DIR=${BOARD_DIR}/etc/portage/package.keywords |
+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}" || die "mkdir -p ${KEYWORDS_DIR}" |
-sudo touch "${KEYWORDS_FILE}" || die "touch ${KEYWORDS_FILE}" |
+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_name () { |
@@ -81,6 +84,7 @@ ebuild_to_live () { |
for atom in ${atoms}; do |
if ! grep -qx "${atom}" "${KEYWORDS_FILE}" ; then |
sudo bash -c "echo \"${atom}\" >> \"${KEYWORDS_FILE}\"" |
+ sudo bash -c "echo \"~${atom}-9999\" >> \"${UNMASK_FILE}\"" |
fi |
done |
} |
@@ -90,9 +94,15 @@ ebuild_to_stable () { |
local atoms=$1 |
for atom in ${atoms}; do |
+ # remove the keyword |
sudo bash -c "grep -v '^${atom}\$' \"${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 |
} |