Ramsay, Lincoln <Lincoln.Ramsay@...>
Just to follow up on this, I eventually figured out the root cause, but I still don't understand why PSEUDO_IGNORE_PATHS was allowing it to work...
When I setup my PC, I created the user and then changed the UID of the user (for NFS auth reasons). The end result of this is that my user has UID 1111 but GID 1000.
I do all of my building in Docker and a user is created that (in theory) matches my real user so that ownership for bind-mounted locations “just works”. However, the in-Docker user has UID 1111 but GID 1111.
When bb.utils.copyfile tries to copy files, it is copying from a source directory that is 1111/1000 into a target directory that would be 1111/1111. I still don’t quite know how, but that seems to be behind the chmod failing.
The chmod failing is (as already noted) why the +x is lost on the postinstall_intercept script, which is why I got failing builds instead of just the chmod warnings.
I have fixed this by updating my Docker creation scripts (to ensure the in-Docker user has GID 1000) and to find and update all the files with GID 1111 to have GID 1000 instead.
find . -gid 1111 -print0 | xargs -0 chgrp -h 1000
I can once again build without patching poky :)