From 19294323c6caf8e7b6ffce3e5cef916669a4a397 Mon Sep 17 00:00:00 2001 From: Zdenek Behan Date: Mon, 9 Aug 2010 13:51:25 -0700 Subject: [PATCH] cros_workon: refactor local manifest creation, kill duplicate entries (repo doesn't like them) modified: cros_workon Review URL: http://codereview.chromium.org/3076046 --- cros_workon | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/cros_workon b/cros_workon index 5cccfe4ecd..e2c04bc45b 100755 --- a/cros_workon +++ b/cros_workon @@ -132,27 +132,30 @@ regen_manifest_and_sync() { echo Using $REPODIR echo "Trying to generate local manifests for.." rm -f $REPODIR/local_manifest.xml - echo "" >> $REPODIR/local_manifest.xml - echo "" >> $REPODIR/local_manifest.xml - cat ${KEYWORDS_FILE} | + MANIFEST_ENTRIES=$(cat ${KEYWORDS_FILE} | { while read line do pkgname=`basename ${line}` - echo "Now working on ... ${pkgname}" + echo "Now working on ... ${pkgname}" 1>&2 eval $(${EBUILDCMD} $(${EQUERYCMD} which ${pkgname}) info) - echo "Looking for ${CROS_WORKON_PROJECT}.git" + echo "Looking for ${CROS_WORKON_PROJECT}.git" 1>&2 REPO_ELEMENT=$(sed -n '/START_MINILAYOUT/,/STOP_MINILAYOUT/p' $REPODIR/manifest.xml | grep "name=\"${CROS_WORKON_PROJECT}\"" | sed -e 's/^[ \t]*//') - echo $REPO_ELEMENT + echo "$REPO_ELEMENT" if [ -z "${REPO_ELEMENT}" ] ; then - echo "Unable to find ${pkgname} in manifest. Aborting." + echo "Unable to find ${pkgname} in manifest. Aborting." 1>&2 exit 1 fi - echo ${REPO_ELEMENT} >> $REPODIR/local_manifest.xml done - } - echo "" >> $REPODIR/local_manifest.xml + }) + + if [ -n "${MANIFEST_ENTRIES}" ]; then + echo "" >> $REPODIR/local_manifest.xml + echo "" >> $REPODIR/local_manifest.xml + echo "${MANIFEST_ENTRIES}"|sort|uniq >> ${REPODIR}/local_manifest.xml + echo "" >> $REPODIR/local_manifest.xml + fi } # Move a stable ebuild to the live development catgeory. The ebuild