diff options
author | Christopher Covington <cov@codeaurora.org> | 2010-07-08 07:46:00 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-07-08 19:52:42 -0700 |
commit | 960efaf44e550808815ed4c8f1513df9d5b9eb71 (patch) | |
tree | a0e7eea25a2f1ffe13303bf7ef2c95ffdb1dfb60 /bin | |
parent | emerge --info: Print repo names for packages not from $PORTDIR (diff) | |
download | portage-multirepo-960efaf44e550808815ed4c8f1513df9d5b9eb71.tar.gz portage-multirepo-960efaf44e550808815ed4c8f1513df9d5b9eb71.tar.bz2 portage-multirepo-960efaf44e550808815ed4c8f1513df9d5b9eb71.zip |
Patch ebuild.sh to not nuke the WORKDIR if FEATURES="keepwork".
This allows make to do its thing when using Portage in a development
workflow, although the change also exposes how ebuild clean doesn't
clear out the WORKDIR.
TEST=`rm -rf /build/$board/tmp/portage/chromeos-base/kernel-0.0.1 &&
[ -e /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked ] &&
rm /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked &&
FEATURES=keepwork ebuild-$board kernel-0.0.1.ebuild install`
Then modify some of the source (preferably in the git repository rather
than the WORKDIR).
`[ -e /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked ] &&
rm /build/$board/tmp/portage/chromeos-base/kernel-0.0.1/.unpacked &&
FEATURES=keepwork ebuild-$board kernel-0.0.1.ebuild install &&`
On the second ebuild operation, make should be able to tell what
exactly, or if nothing at all, has changed, and rebuild only the
necessary object files.
http://codereview.chromium.org/2922001
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/ebuild.sh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 9784298c..9c599c01 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -695,9 +695,11 @@ dyn_unpack() { if [ "${newstuff}" == "yes" ]; then # We don't necessarily have privileges to do a full dyn_clean here. rm -rf "${PORTAGE_BUILDDIR}"/{.unpacked,.prepared,.configured,.compiled,.tested,.installed,.packaged,build-info} - rm -rf "${WORKDIR}" + if ! hasq keepwork $FEATURES ; then + rm -rf "${WORKDIR}" + fi if [ -d "${T}" ] && \ - ! hasq keeptemp $FEATURES && ! hasq keepwork $FEATURES ; then + ! hasq keeptemp $FEATURES ; then rm -rf "${T}" && mkdir "${T}" fi fi |