mirror of
https://github.com/NixOS/nix
synced 2025-07-08 11:03:54 +02:00
Merge pull request #11692 from NixOS/mergify/bp/2.24-maintenance/pr-11690
Handle tarballs where directory entries are not contiguous (backport #11690)
This commit is contained in:
commit
411ec33db3
2 changed files with 31 additions and 1 deletions
|
@ -100,3 +100,17 @@ chmod +x "$TEST_ROOT/tar_root/foo"
|
|||
tar cvf "$TEST_ROOT/tar.tar" -C "$TEST_ROOT/tar_root" .
|
||||
path="$(nix flake prefetch --refresh --json "tarball+file://$TEST_ROOT/tar.tar" | jq -r .storePath)"
|
||||
[[ $(cat "$path/foo") = bar ]]
|
||||
|
||||
# Test a tarball with non-contiguous directory entries.
|
||||
rm -rf "$TEST_ROOT/tar_root"
|
||||
mkdir -p "$TEST_ROOT/tar_root/a/b"
|
||||
echo foo > "$TEST_ROOT/tar_root/a/b/foo"
|
||||
echo bla > "$TEST_ROOT/tar_root/bla"
|
||||
tar cvf "$TEST_ROOT/tar.tar" -C "$TEST_ROOT/tar_root" .
|
||||
echo abc > "$TEST_ROOT/tar_root/bla"
|
||||
echo xyzzy > "$TEST_ROOT/tar_root/a/b/xyzzy"
|
||||
tar rvf "$TEST_ROOT/tar.tar" -C "$TEST_ROOT/tar_root" ./a/b/xyzzy ./bla
|
||||
path="$(nix flake prefetch --refresh --json "tarball+file://$TEST_ROOT/tar.tar" | jq -r .storePath)"
|
||||
[[ $(cat "$path/a/b/xyzzy") = xyzzy ]]
|
||||
[[ $(cat "$path/a/b/foo") = foo ]]
|
||||
[[ $(cat "$path/bla") = abc ]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue