Created attachment 847972 [details, diff] patch for pam.eclass In file eclass/pam.eclass in function cleanpamd the file name "${D}/etc/pam.d/$1" is computed. When the function cleanpamd is called in dopamd with a list of full path names, then only the basename of each path name should be used instead: "${D}/etc/pam.d/$(basename $1)"
Just adding that I encountered this too, while bootstrapping a new system. A really short way to reproduce it: ROOT=/path/to/empty/dir emerge -a1 --nodeps system Originally encountered while running: ROOT=/path/to/empty/dir emerge -au1 --nodeps baselayout @system In my case, there are fairly easy workarounds. On older versions of portage I used the --nodeps to avoid circular dependencies, but that no longer seems to be necessary. Removing it pulls in sys-libs/pam (since I have USE=pam set), and if pam installs first, that triggers the else clause seen in the patch and bypasses the troublesome line. However, this might cause problems for somebody installing a system with USE=-pam.