diff --git a/integration/dockerfiles-with-context/issue-1315/Dockerfile b/integration/dockerfiles-with-context/issue-1315/Dockerfile index eff125aed0..0367b86634 100644 --- a/integration/dockerfiles-with-context/issue-1315/Dockerfile +++ b/integration/dockerfiles-with-context/issue-1315/Dockerfile @@ -1,3 +1,17 @@ +# Copyright 2021 Google, Inc. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + FROM alpine:3.11 as builder RUN mkdir -p /myapp/somedir \ diff --git a/pkg/util/fs_util.go b/pkg/util/fs_util.go index 5a6be2f099..8673235f19 100644 --- a/pkg/util/fs_util.go +++ b/pkg/util/fs_util.go @@ -905,7 +905,7 @@ func CopyFileOrSymlink(src string, destDir string, root string) error { if err != nil { return errors.Wrap(err, "copying file") } - err = CopyOwnership(src, destDir) + err = CopyOwnership(src, destDir, root) if err != nil { return errors.Wrap(err, "copying ownership") } @@ -913,7 +913,7 @@ func CopyFileOrSymlink(src string, destDir string, root string) error { } // CopyOwnership copies the file or directory ownership recursively at src to dest -func CopyOwnership(src string, destDir string) error { +func CopyOwnership(src string, destDir string, root string) error { return filepath.Walk(src, func(path string, info os.FileInfo, err error) error { if err != nil { return err @@ -921,7 +921,7 @@ func CopyOwnership(src string, destDir string) error { if IsSymlink(info) { return nil } - relPath, err := filepath.Rel(filepath.Dir(src), path) + relPath, err := filepath.Rel(root, path) if err != nil { return err } @@ -955,9 +955,7 @@ func CopyOwnership(src string, destDir string) error { return errors.Wrap(err, "reading ownership") } stat := info.Sys().(*syscall.Stat_t) - err = os.Chown(destPath, int(stat.Uid), int(stat.Gid)) - - return nil + return os.Chown(destPath, int(stat.Uid), int(stat.Gid)) }) } diff --git a/pkg/util/tar_util_test.go b/pkg/util/tar_util_test.go index 16dd055f92..1851b2a07b 100644 --- a/pkg/util/tar_util_test.go +++ b/pkg/util/tar_util_test.go @@ -62,10 +62,10 @@ func Test_IsLocalTarArchive(t *testing.T) { func Test_AddFileToTar(t *testing.T) { testDir, err := ioutil.TempDir("", "") - if err != nil { - t.Fatalf("err setting up temp dir: %v", err) - } - defer os.RemoveAll(testDir) + if err != nil { + t.Fatalf("err setting up temp dir: %v", err) + } + defer os.RemoveAll(testDir) path := filepath.Join(testDir, regularFiles[0]) if err := ioutil.WriteFile(path, []byte("hello"), os.ModePerm); err != nil {