Re: Can't build gatesgarth after PSEUDO_IGNORE_PATHS change in poky


Ramsay, Lincoln <Lincoln.Ramsay@...>
 

Hi,

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 :)

Lincoln

Join yocto@lists.yoctoproject.org to automatically receive all group messages.