mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-26 16:11:56 +02:00
cros_workon: simplify by symlinking the keywords file to the unmask file
This is a refactoring change I want to do before I solve the problem of cros_workon list of packages being clobbered by a new setup_board. BUG=5641 TEST=Verified all cases work correctly. 1. Verified that a pre-existing list of workon packages continues to work. 2. Verified that the package.keywords symlink is created correctly. 3. Verified that a new package can be worked on. 4. Verified that an existing package continues to be worked on. Change-Id: I566ac898ac4f74bdd5beb532c1ef0f70d4c02cec pause Change-Id: Ie2d96c897da13292f985d87adfaf3a416a614613 Review URL: http://codereview.chromium.org/3143035
This commit is contained in:
parent
008b957b76
commit
b0d4eb7423
27
cros_workon
27
cros_workon
@ -68,8 +68,13 @@ UNMASK_FILE=${UNMASK_DIR}/cros-workon
|
|||||||
|
|
||||||
sudo mkdir -p "${KEYWORDS_DIR}" "${UNMASK_DIR}" || \
|
sudo mkdir -p "${KEYWORDS_DIR}" "${UNMASK_DIR}" || \
|
||||||
die "mkdir -p ${KEYWORDS_DIR} ${UNMASK_DIR}"
|
die "mkdir -p ${KEYWORDS_DIR} ${UNMASK_DIR}"
|
||||||
sudo touch "${KEYWORDS_FILE}" "${UNMASK_FILE}" || \
|
if [ ! -L "${KEYWORDS_FILE}" ]; then
|
||||||
die "touch ${KEYWORDS_FILE} ${UNMASK_FILE}"
|
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 package name to category/package.
|
||||||
canonicalize_name () {
|
canonicalize_name () {
|
||||||
@ -108,7 +113,7 @@ canonicalize_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}"
|
sed -n 's/^[~=]\(.*\)-9999$/\1/p' "${UNMASK_FILE}"
|
||||||
}
|
}
|
||||||
|
|
||||||
find_repo_dir () {
|
find_repo_dir () {
|
||||||
@ -138,7 +143,7 @@ regen_manifest_and_sync() {
|
|||||||
rm -f "${local_manifest}"
|
rm -f "${local_manifest}"
|
||||||
|
|
||||||
# get new manifest entries
|
# get new manifest entries
|
||||||
MANIFEST_ENTRIES=$(cat ${KEYWORDS_FILE} |
|
MANIFEST_ENTRIES=$(show_live_ebuilds |
|
||||||
{
|
{
|
||||||
while read line
|
while read line
|
||||||
do
|
do
|
||||||
@ -166,9 +171,8 @@ ebuild_to_live () {
|
|||||||
local atoms=$1
|
local atoms=$1
|
||||||
|
|
||||||
for atom in ${atoms}; do
|
for atom in ${atoms}; do
|
||||||
if ! grep -qx "${atom}" "${KEYWORDS_FILE}" ; then
|
if ! grep -qx "[~=]${atom}-9999" "${UNMASK_FILE}" ; then
|
||||||
sudo bash -c "echo \"${atom}\" >> \"${KEYWORDS_FILE}\""
|
sudo bash -c "echo \"=${atom}-9999\" >> \"${UNMASK_FILE}\""
|
||||||
sudo bash -c "echo \"~${atom}-9999\" >> \"${UNMASK_FILE}\""
|
|
||||||
else
|
else
|
||||||
warn "Already working on ${atom}"
|
warn "Already working on ${atom}"
|
||||||
fi
|
fi
|
||||||
@ -180,13 +184,8 @@ ebuild_to_stable () {
|
|||||||
local atoms=$1
|
local atoms=$1
|
||||||
|
|
||||||
for atom in ${atoms}; do
|
for atom in ${atoms}; do
|
||||||
if grep -qx "${atom}" "${KEYWORDS_FILE}" ; then
|
if grep -qx "[~=]${atom}-9999" "${UNMASK_FILE}" ; then
|
||||||
# remove the keyword
|
sudo bash -c "grep -v '^[~=]${atom}-9999\$' \"${UNMASK_FILE}\" > \
|
||||||
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}+\""
|
\"${UNMASK_FILE}+\""
|
||||||
sudo mv "${UNMASK_FILE}+" "${UNMASK_FILE}"
|
sudo mv "${UNMASK_FILE}+" "${UNMASK_FILE}"
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user