While reviewing the --autounmask-write code (due to bug 533648), I found that it uses EROOT instead of PORTAGE_CONFIGROOT when constructing ConfigProtect objects. The result is that CONFIG_PROTECT handling can misbehave when using PORTAGE_CONFIGROOT. The offending line that should use PORTAGE_CONFIGROOT instead of EROOT looks like this: protect_obj[root] = ConfigProtect(settings["EROOT"], \
I've posted a patch for review here: http://thread.gmane.org/gmane.linux.gentoo.portage.devel/5048
This is in the master branch: https://github.com/gentoo/portage/commit/417fc75190eb70836de9856f35c8141cacfd49fb
Released in portage-2.2.16