| Index: cros_workon
|
| diff --git a/cros_workon b/cros_workon
|
| index d7ecc65d5d60410cdf78833f0a1e4168da7fb290..ca2dab6072d0343fb9924dfd8ca6a5f25104f458 100755
|
| --- a/cros_workon
|
| +++ b/cros_workon
|
| @@ -68,8 +68,13 @@ 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}"
|
| +if [ ! -L "${KEYWORDS_FILE}" ]; then
|
| + sudo rm -f "${KEYWORDS_FILE}"
|
| + sudo ln -s "${UNMASK_FILE}" "${KEYWORDS_FILE}" || \
|
| + die "ln -s ${UNMASK_FILE} ${KEYWORDS_FILE}"
|
| +fi
|
| +sudo touch "${UNMASK_FILE}" || \
|
| + die "touch ${UNMASK_FILE}"
|
|
|
| # Canonicalize package name to category/package.
|
| canonicalize_name () {
|
| @@ -108,7 +113,7 @@ canonicalize_names () {
|
|
|
| # Display ebuilds currently part of the live branch and open for development.
|
| show_live_ebuilds () {
|
| - cat "${KEYWORDS_FILE}"
|
| + sed -n 's/^[~=]\(.*\)-9999$/\1/p' "${UNMASK_FILE}"
|
| }
|
|
|
| find_repo_dir () {
|
| @@ -138,7 +143,7 @@ regen_manifest_and_sync() {
|
| rm -f "${local_manifest}"
|
|
|
| # get new manifest entries
|
| - MANIFEST_ENTRIES=$(cat ${KEYWORDS_FILE} |
|
| + MANIFEST_ENTRIES=$(show_live_ebuilds |
|
| {
|
| while read line
|
| do
|
| @@ -166,9 +171,8 @@ ebuild_to_live () {
|
| local atoms=$1
|
|
|
| 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}\""
|
| + if ! grep -qx "[~=]${atom}-9999" "${UNMASK_FILE}" ; then
|
| + sudo bash -c "echo \"=${atom}-9999\" >> \"${UNMASK_FILE}\""
|
| else
|
| warn "Already working on ${atom}"
|
| fi
|
| @@ -180,13 +184,8 @@ ebuild_to_stable () {
|
| local atoms=$1
|
|
|
| for atom in ${atoms}; do
|
| - if grep -qx "${atom}" "${KEYWORDS_FILE}" ; then
|
| - # 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}\" > \
|
| + if grep -qx "[~=]${atom}-9999" "${UNMASK_FILE}" ; then
|
| + sudo bash -c "grep -v '^[~=]${atom}-9999\$' \"${UNMASK_FILE}\" > \
|
| \"${UNMASK_FILE}+\""
|
| sudo mv "${UNMASK_FILE}+" "${UNMASK_FILE}"
|
| else
|
|
|