From 6830f055a5eb9ec6340664300f3c3034da8c3a7f Mon Sep 17 00:00:00 2001 From: Zdenek Behan Date: Fri, 6 Apr 2012 17:53:39 +0200 Subject: [PATCH] cros_workon: allow multiple projects Backwards compatible change, because regular variables are addressable as arrays of up to one item. BUG=chromium-os:25338 TEST=cros_workon --host start sys-libs/glibc (with local multi-project mod), and observe that both projects are correctly added to local_manifest, then repo sync. TEST=cros_workon start number of single-project ebuilds Change-Id: Ib3c7ebec7860f23d9331cecd55e3fc9a70709c93 Reviewed-on: https://gerrit.chromium.org/gerrit/23913 Commit-Ready: Zdenek Behan Reviewed-by: Zdenek Behan Tested-by: Zdenek Behan --- cros_workon | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cros_workon b/cros_workon index 0b0863ce22..d76ac90b5d 100755 --- a/cros_workon +++ b/cros_workon @@ -263,12 +263,17 @@ regen_manifest_and_sync() { fi eval "${pkginfo}" - local srcdir=$(readlink -m ${CROS_WORKON_SRCDIR}) - local trunkdir=$(readlink -m ${CHROOT_TRUNK_DIR}) - local project_path=${srcdir#${trunkdir}/} + local trunkdir=$(readlink -m "${CHROOT_TRUNK_DIR}") - loman add --workon "${CROS_WORKON_PROJECT}" "${project_path}" + local i=0 need_repo_sync='yes' + for S in "${CROS_WORKON_SRCDIR[@]}"; do + local srcdir=$(readlink -m "${S}") + local project_path=${srcdir#${trunkdir}/} + + loman add --workon "${CROS_WORKON_PROJECT[i]}" "${project_path}" + : $(( ++i )) + done done if [ -n "${need_repo_sync}" ]; then echo "Please run \"repo sync\" now." @@ -347,7 +352,9 @@ ebuild_iterate() { for atom in ${atoms}; do info "Running \"${FLAGS_command}\" on ${atom}" eval $(${EBUILDCMD} $(${EQUERYCMD} which ${atom}) info) - (cd "${CROS_WORKON_SRCDIR}" && bash -c "${FLAGS_command}") + for S in "${CROS_WORKON_SRCDIR[@]}"; do + (cd "${S}" && bash -c "${FLAGS_command}") + done done }