* Running as root will (among other things) try to re-create the root
user in the container. Avoid this by not passing the arguments and
letting the container use its defaults.
A few ENV variables are set in the Docker file, most notably those
related to ccache. The move to a docker entrypoint script called
sudo to switch to the AOSP user and reset the ENV varibles.
Preserve these variables so that things set in the Dockerfile are
inherited by the environment as expected.
This commit introduces the "docker_entrypoint" script that will create
a user with uid/gid matching given `USER_ID` and `GROUP_ID` (or default to
`1000` if not provided).
Fixes#9
This approach works around missing docker feature discussed in
docker/docker#7198 and allow to have executable in the docker container
manipulating files in the shared volume owned by the `USER_ID:GROUP_ID`
The utility script `aosp` has also been updated to automatically
set `USER_ID` and `GROUP_ID` to the value matching the current user
by invoking "docker run" with
```
-e USER_ID=$(id -u) -e GROUP_ID=$(id -g)
```
Finally, the output has also been updated to be more verbose. For example:
```
$ AOSP_VOL=/home/jcfr/Projects/aosp-root/ aosp id
aosp: Checking if /home/jcfr/Projects/aosp-root/aosp exists
aosp: Checking if /home/jcfr/Projects/aosp-root/aosp exists - ok
aosp: Checking if /home/jcfr/Projects/aosp-root/ccache exists
aosp: Checking if /home/jcfr/Projects/aosp-root/ccache exists - ok
docker_entrypoint: Creating user UID/GID [1000/1000]
docker_entrypoint: Creating user UID/GID [1000/1000] - done
docker_entrypoint: Copying .gitconfig and .ssh/config to new user home
docker_entrypoint: Copying .gitconfig and .ssh/config to new user home - done
docker_entrypoint: Creating /tmp/ccache and /asop directory
docker_entrypoint: Creating /tmp/ccache and /asop directory - done
uid=1000(aosp) gid=1000(aosp) groups=1000(aosp)
```