File permission issues when using the Docker image
Some file permission in the docker image for prototool don't seem to be correct and when running as non-root (so the produced code isn't root owned) you get error like this:
$ docker run --user=1001:1001 --rm -v $PWD:/work uber/prototool:1.9.0 prototool generate
...
2020-05-06T08:56:10.243Z WARN protoc returned a line we do not understand, please file this as an issue at https://github.com/uber/prototool/issues/new {"protocLine": "google/protobuf/time
stamp.proto: Read access is denied for file: /usr/include/google/protobuf/timestamp.proto"}
...
The cause of this would seem to be the fact that proto files shipped in the container are not world readable.
/work # ls -lh /usr/include/google/protobuf/timestamp.proto
-rw-r----- 1 root root 6.0K Mar 31 14:04 /usr/include/google/protobuf/timestamp.proto
Would it be possible to change these permission on included protofiles from 640 to 644?
We had a PR put up for something related a few months ago: https://github.com/uber/prototool/pull/526
I planned on closing this due to inactivity, but curious if this would solve your issue.
Yup chmod -R o+r /usr/include/google or similar in the Dockerfile is all it would take to fix this issue.
There's been a bit of inactivity on that PR. Feel free to up your own and I can close that one.