cros_workon: recreate all workon file symlinks unconditionally

Also, remove legacy conversion code slated for deletion long ago.

BUG=chromium-os:23096
TEST=have a chroot with invalid symlink in package.*/ and observe the fix

Change-Id: I04ecdf28038b63d48cf7d0768c0ccf5ac8f0c0d2
Reviewed-on: https://gerrit.chromium.org/gerrit/11978
Reviewed-by: Mandeep Singh Baines <msb@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
This commit is contained in:
Zdenek Behan 2011-11-21 03:18:33 +00:00 committed by David James
parent 016f63d1e3
commit 835542154c

View File

@ -77,25 +77,22 @@ UNMASK_FILE=${UNMASK_DIR}/cros-workon
CHROME_ATOM=chromeos-base/chromeos-chrome
CHROME_SET_VER=${CHROMITE_DIR}/bin/chrome_set_ver.py
# TODO(msb): remove the backward compatibility after 10/01/2010
if [ -d "${WORKON_DIR}" ]; then
sudo chown -R "${USER}" "${WORKON_DIR}"
fi
mkdir -p "${WORKON_DIR}" || die "mkdir -p ${WORKON_DIR}"
touch "${WORKON_FILE}" || die "touch ${WORKON_FILE}"
sudo mkdir -p "${KEYWORDS_DIR}" "${UNMASK_DIR}" || \
die "mkdir -p ${KEYWORDS_DIR} ${UNMASK_DIR}"
if [ ! -L "${KEYWORDS_FILE}" ]; then
sudo rm -f "${KEYWORDS_FILE}"
sudo ln -s "${WORKON_FILE}" "${KEYWORDS_FILE}" || \
die "ln -s ${WORKON_FILE} ${KEYWORDS_FILE}"
fi
if [ ! -L "${UNMASK_FILE}" ]; then
[ -f "${UNMASK_FILE}" ] && sudo mv "${UNMASK_FILE}" "${WORKON_FILE}"
sudo ln -s "${WORKON_FILE}" "${UNMASK_FILE}" || \
die "ln -s ${WORKON_FILE} ${UNMASK_FILE}"
fi
# Clobber and re-create the WORKON_FILE symlinks every time. This
# is a trivial operation and eliminates all kinds of corner cases
# as well as any possible future renames of WORKON_FILE.
# In particular, chroot is usually built as "amd64-host" but becomes
# just "host" after installation. crosbug.com/23096
sudo rm -f "${KEYWORDS_FILE}" "${UNMASK_FILE}"
sudo ln -s "${WORKON_FILE}" "${KEYWORDS_FILE}" || \
die "ln -s ${WORKON_FILE} ${KEYWORDS_FILE}"
sudo ln -s "${WORKON_FILE}" "${UNMASK_FILE}" || \
die "ln -s ${WORKON_FILE} ${UNMASK_FILE}"
find_keyword_workon_ebuilds() {
local keyword="${1}"