If a directory contains a file with a backslash in its name, doins -r will error out. Example ebuild and patch will follow.
Created attachment 258357 [details] Minimal test ebuild to reproduce the error This produces the following output: >>> Install foo-1 into /var/tmp/portage/app-misc/foo-1/image/ category app-misc install: cannot stat `./barbaz': No such file or directory !!! doins: ./barbaz does not exist doins failed * ERROR: app-misc/foo-1 failed: * (no error message) * * Call stack: * ebuild.sh, line 56: Called src_install * environment, line 206: Called die * The specific snippet of code: * doins -r . || die
Created attachment 258358 [details, diff] Patch for doins that fixes the problem for me There are several other occurences of find ... -print0 | while read -d $'\0' x; do ...; done in portage's bash scripts which are likely to suffer from the same problem. I suggest that a -r option is added to all of them.
Thanks, this is in git now: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=f4e2a596a3b4bfb22d7910e7eb3fff4a5c31fad5 http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1bed4ba3bbc019ee267a37bc28109e4e3deb3af3
This is fixed in 2.1.9.27.