When I try to use the keepwork feature, there is code SPECIFICALY in emerge that strips out the keepwork feature before calling unpack. Specifically lines 1301-1308 do this: # We need to yank the harmful-to-new-builds settings from features. myorigfeat=portage.settings["FEATURES"] myfeat=myorigfeat.split() while ("keeptemp" in myfeat): del myfeat[myfeat.index("keeptemp")] while ("keepwork" in myfeat): del myfeat[myfeat.index("keepwork")] portage.settings["FEATURES"]=string.join(myfeat) While this is ok for normal packages, for CVS packages such as the KDE group, it causes the working directory to be deleted every time I emerge the packages. And this is a problem because it takes me 10 hours to recompile all of KDE even WITH ccache. It would be MUCH nicer if keepwork wasn't being stripped initially. Reproducible: Always Steps to Reproduce: 1. Set the feature keepwork 2. Emerge a package 3. Then re-emerge the same package and watch as your work directory gets blasted into never never land. :) Actual Results: emerge deleted the workdir. Expected Results: emerge should have left the workdir alone. emerge info: Portage 2.0.49-r9 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r1, 2.4.20-gaming-r5) ================================================================= System uname: 2.4.20-gaming-r5 i686 AMD Athlon(tm) XP 1600+ Gentoo Base System version 1.4.3.10p1 ccache version 2.2 [enabled] ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -pipe " CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/ config /usr/share/texmf/tex/generic/config /usr/share/texmf/tex/platex/config /usr/ X11R6/lib/X11/xkb /usr/kde/cvs/share/config /usr/kde/3.1/share/config /usr/share/texmf/ tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -pipe " DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox usersandbox noclean ccache userpriv keepwork" GENTOO_MIRRORS="http://mirrors.tds.net/gentoo http://csociety-ftp.ecn.purdue.edu/ pub/gentoo/ http://gentoo.noved.org/ http://gentoo.chem.wisc.edu/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mmx mpeg ncurses pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gdbm slang readline arts tetex aalib nas bonobo svga ggi tcltk java guile X sdl gpm tcpd pam libwww ssl python esd imlib oggvorbis gtk qt kde motif opengl cdr scanner mysql apache2 mozilla gd innodb gtkhtml curl alsa xface tiff perl gtk2 -gnome clamav ofx -nls breakme berkdb"
keepwork will not work that way. It is intended for use with 'ebuild'.