generated from bazel-contrib/rules-template
-
-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
The external/<name> part of the source files is removed by tar.bzl when creating a tar archive. For example for the following target:
load("@tar.bzl//:tar.bzl", "mutate", "tar")
tar(
name = "tar",
srcs = ["@multitool//tools/gh:gh"]
)
To repro:
$ git clone git@github.com:juanique/bazel-examples.git
$ cd bazel-examples
$ git checkout tar-external-repro
$ cd bazel8/tar_repro
$ bazel build :tar
$ tar -tf bazel-bin/tar.tar
expected output is something along the lines of:
external/rules_multitool++multitool+multitool/tools/
external/rules_multitool++multitool+multitool/tools/gh
external/rules_multitool++multitool+multitool/tools/gh/gh
Actual output is:
tools/
tools/gh/
tools/gh/gh
tar: Removing leading `../' from member names
../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/
../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/
../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/tools/
../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/tools/gh/
../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/tools/gh/gh
../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/_repo_mapping
Untaring the archive:
$ mkdir /tmp/tar_repro
$ tar -xf bazel-bin/tar.tar -C /tmp/tar_repro
tar: Removing leading `../' from member names
tar: ../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/: Member name contains '..'
tar: ../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/: Member name contains '..'
tar: ../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/tools/: Member name contains '..'
tar: ../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/tools/gh/: Member name contains '..'
tar: ../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/rules_multitool++multitool+multitool/tools/gh/gh: Member name contains '..'
tar: ../rules_multitool++multitool+multitool/tools/gh/gh.runfiles/_repo_mapping: Member name contains '..'
tar: Exiting with failure status due to previous errors
$ find /tmp/tar_repro
/tmp/tar_repro
/tmp/tar_repro/tools
/tmp/tar_repro/tools/gh
/tmp/tar_repro/tools/gh/gh
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels