Prepare user environment at build time and update user and group id at runtime if necessary.
Update submodule sync step to avoid a dependency on cargo
Run `make update all` instead of just `make all`. The target `update` didn't update the container environment since it was executed on the host.
Selinux blocks the following:
- gosu execution labeling (no selinux policy).
- permission is denied to the container's user on the tree source binding
under /src. Using a different location doesn't solve the issue.
The workaround consists in disabling selinux labeling when running the container.