mirror of
https://github.com/containers/podman.git
synced 2025-10-25 02:04:43 +08:00
remote build: EvalSymlinks() the context directory
Use EvalSymlinks() to find the context directory, in case there's shenanigans. Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
This commit is contained in:
@ -230,6 +230,9 @@ func Build(ctx context.Context, containerFiles []string, options entities.BuildO
|
||||
params.Add("platform", platform)
|
||||
}
|
||||
}
|
||||
if contextDir, err := filepath.EvalSymlinks(options.ContextDirectory); err == nil {
|
||||
options.ContextDirectory = contextDir
|
||||
}
|
||||
|
||||
params.Set("pullpolicy", options.PullPolicy.String())
|
||||
|
||||
|
||||
@ -956,6 +956,15 @@ EOF
|
||||
run_podman build -t build_test $tmpdir
|
||||
}
|
||||
|
||||
@test "podman build build context is a symlink to a directory" {
|
||||
tmpdir=$PODMAN_TMPDIR/build-test
|
||||
mkdir -p $tmpdir/target
|
||||
ln -s target $tmpdir/link
|
||||
echo FROM alpine > $tmpdir/link/Dockerfile
|
||||
echo RUN echo hello >> $tmpdir/link/Dockerfile
|
||||
run_podman build -t build_test $tmpdir/link
|
||||
}
|
||||
|
||||
function teardown() {
|
||||
# A timeout or other error in 'build' can leave behind stale images
|
||||
# that podman can't even see and which will cascade into subsequent
|
||||
|
||||
Reference in New Issue
Block a user