Skip to content

Fix pkg_tar to not add the ./ to the prefix of every member.#554

Merged
aiuto merged 2 commits intobazelbuild:mainfrom
aiuto:tardot
Mar 5, 2022
Merged

Fix pkg_tar to not add the ./ to the prefix of every member.#554
aiuto merged 2 commits intobazelbuild:mainfrom
aiuto:tardot

Conversation

@aiuto
Copy link
Copy Markdown
Collaborator

@aiuto aiuto commented Mar 3, 2022

Fixes: #531

Note that the code is intentionaly not testing use cases that try to add "./"
as an explicit root. This might still work, but it is a bad idea, for the
reasons described in #531 . If someone comes up with a real need for
using a leading "./" AND it does not work, they can file a feature
request to support it.

@aiuto aiuto requested a review from jylinv0 March 3, 2022 04:18
@aiuto aiuto requested a review from nacl as a code owner March 3, 2022 04:18
aiuto added 2 commits March 3, 2022 14:03
Fixes: bazelbuild#531

- Remove leading './' from merged tar files. Also applies to pkg_deb.
- Remove package_base from pkg_tar. Closes bazelbuild#549
- Use build_tar --directory as the prefix to add to everything.

Note that the code is intentionaly not testing use cases that try to add "./"
as an explicit root. This might still work, but it is a bad idea, for the
reasons described in bazelbuild#531 . If someone comes up with a real need for
using a leading "./" AND it does not work, they can file a feature
request to support it.
aiuto added a commit to aiuto/rules_pkg that referenced this pull request Mar 4, 2022
Closes bazelbuild#404

While adding tests to make sure we actually could strip it with
pkg_files, I discovered a deficiency in pkg_tar_test. It was not doing
a check on the file names, only content and type.  Fixing that exposed
a pre-existing bug.

Fortunately, the problem uncovered is fixed by bazelbuild#554, so the tests
should pass once that, followed by this PR are submitted.

Allow pkg_files.strip_prefix to work on tree artifact without having to
use `renames`.

Update to 0.7.0 to reflect that this is sort of a big behavioral change.
aiuto added a commit to aiuto/rules_pkg that referenced this pull request Mar 4, 2022
Closes bazelbuild#404

While adding tests to make sure we actually could strip it with
pkg_files, I discovered a deficiency in pkg_tar_test. It was not doing
a check on the file names, only content and type.  Fixing that exposed
a pre-existing bug.

Fortunately, the problem uncovered is fixed by bazelbuild#554, so the tests
should pass once that, followed by this PR are submitted.

Allow pkg_files.strip_prefix to work on tree artifact without having to
use `renames`.

Update to 0.7.0 to reflect that this is sort of a big behavioral change.
@aiuto aiuto merged commit e68e175 into bazelbuild:main Mar 5, 2022
@aiuto aiuto deleted the tardot branch March 5, 2022 03:57
aiuto added a commit that referenced this pull request Mar 6, 2022
Closes #404

While adding tests to make sure we actually could strip it with
pkg_files, I discovered a deficiency in pkg_tar_test. It was not doing
a check on the file names, only content and type.  Fixing that exposed
a pre-existing bug.

Fortunately, the problem uncovered is fixed by #554, so the tests
should pass once that, followed by this PR are submitted.

Allow pkg_files.strip_prefix to work on tree artifact without having to
use `renames`.

Update to 0.7.0 to reflect that this is sort of a big behavioral change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pkg_tar has both package_dir and package_base. pkg_tar should not put ./ at the beginning of all paths

2 participants