Skip to content

Commit

Permalink
Merge pull request #10446 from rhatdan/build
Browse files Browse the repository at this point in the history
Handle hard links in different directories
  • Loading branch information
openshift-merge-robot authored May 25, 2021
2 parents a6f0ac2 + afe3357 commit 78df4f6
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion pkg/bindings/images/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ func nTar(excludes []string, sources ...string) (io.ReadCloser, error) {
hdr.Typeflag = tar.TypeLink
hdr.Linkname = orig
hdr.Size = 0

hdr.Name = name
return tw.WriteHeader(hdr)
}
f, err := os.Open(path)
Expand Down
14 changes: 11 additions & 3 deletions test/system/070-build.bats
Original file line number Diff line number Diff line change
Expand Up @@ -768,19 +768,27 @@ EOF

@test "podman build COPY hardlinks " {
tmpdir=$PODMAN_TMPDIR/build-test
mkdir -p $tmpdir
subdir=$tmpdir/subdir
subsubdir=$subdir/subsubdir
mkdir -p $subsubdir

dockerfile=$tmpdir/Dockerfile
cat >$dockerfile <<EOF
FROM $IMAGE
COPY . /test
EOF
ln $dockerfile $tmpdir/hardlink
ln $dockerfile $tmpdir/hardlink1
ln $dockerfile $subdir/hardlink2
ln $dockerfile $subsubdir/hardlink3

run_podman build -t build_test $tmpdir
run_podman run --rm build_test stat -c '%i' /test/Dockerfile
dinode=$output
run_podman run --rm build_test stat -c '%i' /test/hardlink
run_podman run --rm build_test stat -c '%i' /test/hardlink1
is "$output" "$dinode" "COPY hardlinks work"
run_podman run --rm build_test stat -c '%i' /test/subdir/hardlink2
is "$output" "$dinode" "COPY hardlinks work"
run_podman run --rm build_test stat -c '%i' /test/subdir/subsubdir/hardlink3
is "$output" "$dinode" "COPY hardlinks work"

run_podman rmi -f build_test
Expand Down

0 comments on commit 78df4f6

Please sign in to comment.