Description of the problem / feature request:
When used with RBE (or presumably any remote execution solution), all input files have executable permissions set.
Our product is a desktop application that is built using RBE, and only certain files should have exe permissions, not all. This issue prevents us from using RBE to build the final artifacts.
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
$ ls -lht
total 4.0K
-rw-r----- 1 vsiva primarygroup 231 Jan 12 16:08 BUILD
-rwxr-x--- 1 vsiva primarygroup 0 Jan 12 16:06 bar.exe
-rw-r----- 1 vsiva primarygroup 0 Jan 12 16:06 foo.txt
$ cat BUILD
genrule(
name = "genzip",
srcs = ["foo.txt", "bar.exe"],
tools = ["@bazel_tools//tools/zip:zipper"],
outs = ["foobar.zip"],
cmd = "ls -l $(SRCS); $(location @bazel_tools//tools/zip:zipper) c $@ $(SRCS)",
)
$ bazel build :genzip
What's the output of bazel info release?
3.1.0
Any other information, logs, or outputs that you want to share?
https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTree.java#L201 has:
private static FileNode buildProto(DirectoryTree.FileNode file) {
return FileNode.newBuilder()
.setName(file.getPathSegment())
.setDigest(file.getDigest())
.setIsExecutable(true)
.build();
}
The issue seems to be with the setIsExecutable call.
Description of the problem / feature request:
When used with RBE (or presumably any remote execution solution), all input files have executable permissions set.
Our product is a desktop application that is built using RBE, and only certain files should have exe permissions, not all. This issue prevents us from using RBE to build the final artifacts.
Bugs: what's the simplest, easiest way to reproduce this bug? Please provide a minimal example if possible.
What's the output of
bazel info release?3.1.0
Any other information, logs, or outputs that you want to share?
https://github.com/bazelbuild/bazel/blob/master/src/main/java/com/google/devtools/build/lib/remote/merkletree/MerkleTree.java#L201 has:
The issue seems to be with the
setIsExecutablecall.