From 2d1b3e6c305edd1d1689d52aa19094b6c95874e1 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Fri, 21 Sep 2018 06:45:28 -0400 Subject: Vendor in latest containers/buildah Fixes issues with builtin volumes having correct ownership and permissions when doing podman builds. Signed-off-by: Daniel J Walsh Closes: #1525 Approved by: giuseppe --- vendor/github.com/containers/buildah/README.md | 2 +- vendor/github.com/containers/buildah/run.go | 11 ++++++++++- vendor/github.com/containers/buildah/vendor.conf | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) (limited to 'vendor') diff --git a/vendor/github.com/containers/buildah/README.md b/vendor/github.com/containers/buildah/README.md index b04957591..fa4a58fd9 100644 --- a/vendor/github.com/containers/buildah/README.md +++ b/vendor/github.com/containers/buildah/README.md @@ -60,7 +60,7 @@ storage differences, you can not see Podman containers from within Buildah or vi In short Buildah is an efficient way to create OCI images while Podman allows you to manage and maintain those images and containers in a production environment using -familiar container cli commands. For more details, see the +familiar container cli commands. For more details, see the [Container Tools Guide](https://github.com/containers/buildah/tree/master/docs/containertools). ## Example diff --git a/vendor/github.com/containers/buildah/run.go b/vendor/github.com/containers/buildah/run.go index 3d9b909ae..d73f0d239 100644 --- a/vendor/github.com/containers/buildah/run.go +++ b/vendor/github.com/containers/buildah/run.go @@ -506,10 +506,19 @@ func runSetupBuiltinVolumes(mountLabel, mountPoint, containerDir string, copyWit return nil, errors.Wrapf(err, "error relabeling directory %q for volume %q", volumePath, volume) } srcPath := filepath.Join(mountPoint, volume) + stat, err := os.Stat(srcPath) + if err != nil { + return nil, errors.Wrapf(err, "failed to stat %q for volume %q", srcPath, volume) + } + if err = os.Chmod(volumePath, stat.Mode().Perm()); err != nil { + return nil, errors.Wrapf(err, "failed to chmod %q for volume %q", volumePath, volume) + } + if err = os.Chown(volumePath, int(stat.Sys().(*syscall.Stat_t).Uid), int(stat.Sys().(*syscall.Stat_t).Gid)); err != nil { + return nil, errors.Wrapf(err, "error chowning directory %q for volume %q", volumePath, volume) + } if err = copyWithTar(srcPath, volumePath); err != nil && !os.IsNotExist(err) { return nil, errors.Wrapf(err, "error populating directory %q for volume %q using contents of %q", volumePath, volume, srcPath) } - } // Add the bind mount. mounts = append(mounts, specs.Mount{ diff --git a/vendor/github.com/containers/buildah/vendor.conf b/vendor/github.com/containers/buildah/vendor.conf index 0112a2d91..e69c92496 100644 --- a/vendor/github.com/containers/buildah/vendor.conf +++ b/vendor/github.com/containers/buildah/vendor.conf @@ -4,7 +4,7 @@ github.com/BurntSushi/toml master github.com/containerd/continuity master github.com/containernetworking/cni v0.7.0-alpha1 github.com/seccomp/containers-golang master -github.com/containers/image d8b5cf2b804a48489e5203d51254ef576794049d +github.com/containers/image 85d7559d44fd71f30e46e43d809bfbf88d11d916 github.com/containers/storage 243c4cd616afdf06b4a975f18c4db083d26b1641 github.com/docker/distribution 5f6282db7d65e6d72ad7c2cc66310724a57be716 github.com/docker/docker 86f080cff0914e9694068ed78d503701667c4c00 -- cgit v1.2.3-54-g00ecf