Basically when you set $ROOT, and it ends in a '/', using: # ebuild foo.ebuild merge causes portage to traceback. This is true for ROOT="/", ROOT="/tmp/", etc. Setting ROOT="/tmp" does work, but causes stuff to get installed into "/tmpusr/" --------------traceback---------------------------------- --- !empty dir /usr/bin --- !empty dir /usr Traceback (most recent call last): File "/usr/sbin/ebuild", line 33, in ? a=portage.doebuild(pargs[0],x,getroot(),debug=debug) File "/usr/lib/python2.2/site-packages/portage.py", line 1153, in doebuild return merge(settings["CATEGORY"],settings["PF"],settings["D"],settings["BUILDDIR"]+"/build-info",myroot,myebuild=settings["EBUILD"]) File "/usr/lib/python2.2/site-packages/portage.py", line 1374, in merge mylink.merge(pkgloc,infloc,myroot,myebuild) File "/usr/lib/python2.2/site-packages/portage.py", line 3513, in merge self.treewalk(mergeroot,myroot,inforoot,myebuild) File "/usr/lib/python2.2/site-packages/portage.py", line 3269, in treewalk self.unmerge(oldcontents) File "/usr/lib/python2.2/site-packages/portage.py", line 3148, in unmerge db[self.myroot]["vartree"].zap(self.cat+"/"+self.pkg) KeyError: // nosferatu 3.1 # ------------------traceback---------------------------
Should be fixed in portage 2.0.10+