uber / prototool

Your Swiss Army Knife for Protocol Buffers
MIT License
5.05k stars 345 forks source link

File permission issues when using the Docker image #552

Open matyat opened 4 years ago

matyat commented 4 years ago

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?

smaye81 commented 4 years ago

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.

matyat commented 4 years ago

Yup chmod -R o+r /usr/include/google or similar in the Dockerfile is all it would take to fix this issue.

smaye81 commented 4 years ago

There's been a bit of inactivity on that PR. Feel free to up your own and I can close that one.