mirror of
https://github.com/podman-container-tools/podman.git
synced 2026-10-23 06:17:37 +00:00
Merge pull request #24049 from TomSweeneyRedHat/dev/tsweeney/v5.2_Buildah_1.37_bump
[v5.2] Bump Buildah to v1.37.3
This commit is contained in:
commit
d41ed5a9cc
11 changed files with 112 additions and 91 deletions
4
go.mod
4
go.mod
|
|
@ -12,7 +12,7 @@ require (
|
|||
github.com/checkpoint-restore/checkpointctl v1.2.1
|
||||
github.com/checkpoint-restore/go-criu/v7 v7.1.0
|
||||
github.com/containernetworking/plugins v1.5.1
|
||||
github.com/containers/buildah v1.37.2
|
||||
github.com/containers/buildah v1.37.3
|
||||
github.com/containers/common v0.60.3
|
||||
github.com/containers/conmon v2.0.20+incompatible
|
||||
github.com/containers/gvisor-tap-vsock v0.7.4
|
||||
|
|
@ -48,7 +48,7 @@ require (
|
|||
github.com/mattn/go-shellwords v1.0.12
|
||||
github.com/mattn/go-sqlite3 v1.14.22
|
||||
github.com/mdlayher/vsock v1.2.1
|
||||
github.com/moby/sys/user v0.2.0
|
||||
github.com/moby/sys/user v0.3.0
|
||||
github.com/moby/term v0.5.0
|
||||
github.com/nxadm/tail v1.4.11
|
||||
github.com/onsi/ginkgo/v2 v2.20.0
|
||||
|
|
|
|||
8
go.sum
8
go.sum
|
|
@ -77,8 +77,8 @@ github.com/containernetworking/cni v1.2.3 h1:hhOcjNVUQTnzdRJ6alC5XF+wd9mfGIUaj8F
|
|||
github.com/containernetworking/cni v1.2.3/go.mod h1:DuLgF+aPd3DzcTQTtp/Nvl1Kim23oFKdm2okJzBQA5M=
|
||||
github.com/containernetworking/plugins v1.5.1 h1:T5ji+LPYjjgW0QM+KyrigZbLsZ8jaX+E5J/EcKOE4gQ=
|
||||
github.com/containernetworking/plugins v1.5.1/go.mod h1:MIQfgMayGuHYs0XdNudf31cLLAC+i242hNm6KuDGqCM=
|
||||
github.com/containers/buildah v1.37.2 h1:KiJ3jVNUvdtGORxDz8fjjLkR81ZHQZIfnGWJWavks40=
|
||||
github.com/containers/buildah v1.37.2/go.mod h1:alFCM3X0xfhE6ZjsFQkUlOMyKzOnbv9FL9fe1Ho48PA=
|
||||
github.com/containers/buildah v1.37.3 h1:nSmbdBqaRMjvTtwVuOKZGT2jefaUKsZXbgpH9b4HzIs=
|
||||
github.com/containers/buildah v1.37.3/go.mod h1:alFCM3X0xfhE6ZjsFQkUlOMyKzOnbv9FL9fe1Ho48PA=
|
||||
github.com/containers/common v0.60.3 h1:pToT7gtFx/KWyMtWw98g4pIbW54i9KfGH2QrdN2s1io=
|
||||
github.com/containers/common v0.60.3/go.mod h1:I0upBi1qJX3QmzGbUOBN1LVP6RvkKhd3qQpZbQT+Q54=
|
||||
github.com/containers/conmon v2.0.20+incompatible h1:YbCVSFSCqFjjVwHTPINGdMX1F6JXHGTUje2ZYobNrkg=
|
||||
|
|
@ -367,8 +367,8 @@ github.com/moby/sys/mountinfo v0.7.2 h1:1shs6aH5s4o5H2zQLn796ADW1wMrIwHsyJ2v9Kou
|
|||
github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4=
|
||||
github.com/moby/sys/sequential v0.5.0 h1:OPvI35Lzn9K04PBbCLW0g4LcFAJgHsvXsRyewg5lXtc=
|
||||
github.com/moby/sys/sequential v0.5.0/go.mod h1:tH2cOOs5V9MlPiXcQzRC+eEyab644PWKGRYaaV5ZZlo=
|
||||
github.com/moby/sys/user v0.2.0 h1:OnpapJsRp25vkhw8TFG6OLJODNh/3rEwRWtJ3kakwRM=
|
||||
github.com/moby/sys/user v0.2.0/go.mod h1:RYstrcWOJpVh+6qzUqp2bU3eaRpdiQeKGlKitaH0PM8=
|
||||
github.com/moby/sys/user v0.3.0 h1:9ni5DlcW5an3SvRSx4MouotOygvzaXbaSrc/wGDFWPo=
|
||||
github.com/moby/sys/user v0.3.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs=
|
||||
github.com/moby/term v0.5.0 h1:xt8Q1nalod/v7BqbG21f8mQPqH+xAaC9C3N3wfWbVP0=
|
||||
github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y=
|
||||
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
|
||||
|
|
|
|||
36
vendor/github.com/containers/buildah/.packit.yaml
generated
vendored
36
vendor/github.com/containers/buildah/.packit.yaml
generated
vendored
|
|
@ -14,6 +14,8 @@ packages:
|
|||
specfile_path: rpm/buildah.spec
|
||||
buildah-rhel:
|
||||
specfile_path: rpm/buildah.spec
|
||||
buildah-eln:
|
||||
specfile_path: rpm/buildah.spec
|
||||
|
||||
srpm_build_deps:
|
||||
- make
|
||||
|
|
@ -26,8 +28,21 @@ jobs:
|
|||
failure_comment:
|
||||
message: "Ephemeral COPR build failed. @containers/packit-build please check."
|
||||
targets:
|
||||
fedora-all-x86_64: {}
|
||||
fedora-all-aarch64: {}
|
||||
- fedora-development-x86_64
|
||||
- fedora-development-aarch64
|
||||
- fedora-latest-x86_64
|
||||
- fedora-latest-aarch64
|
||||
- fedora-latest-stable-x86_64
|
||||
- fedora-latest-stable-aarch64
|
||||
- fedora-40-x86_64
|
||||
- fedora-40-aarch64
|
||||
enable_net: true
|
||||
|
||||
- job: copr_build
|
||||
trigger: pull_request
|
||||
packages: [buildah-eln]
|
||||
notifications: *copr_build_failure_notification
|
||||
targets:
|
||||
fedora-eln-x86_64:
|
||||
additional_repos:
|
||||
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/"
|
||||
|
|
@ -73,7 +88,7 @@ jobs:
|
|||
trigger: release
|
||||
packages: [buildah-fedora]
|
||||
update_release: false
|
||||
dist_git_branches:
|
||||
dist_git_branches: &fedora_targets
|
||||
- fedora-all
|
||||
|
||||
# Sync to CentOS Stream
|
||||
|
|
@ -84,12 +99,13 @@ jobs:
|
|||
dist_git_branches:
|
||||
- c10s
|
||||
|
||||
# Fedora Koji build
|
||||
- job: koji_build
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- fedora-all
|
||||
|
||||
- job: bodhi_update
|
||||
trigger: commit
|
||||
dist_git_branches:
|
||||
- fedora-branched # rawhide updates are created automatically
|
||||
sidetag_group: podman-releases
|
||||
# Dependents are not rpm dependencies, but the package whose bodhi update
|
||||
# should include this package.
|
||||
# Ref: https://packit.dev/docs/fedora-releases-guide/releasing-multiple-packages
|
||||
dependents:
|
||||
- podman
|
||||
dist_git_branches: *fedora_targets
|
||||
|
|
|
|||
9
vendor/github.com/containers/buildah/CHANGELOG.md
generated
vendored
9
vendor/github.com/containers/buildah/CHANGELOG.md
generated
vendored
|
|
@ -2,6 +2,15 @@
|
|||
|
||||
# Changelog
|
||||
|
||||
## v1.37.3 (2024-09-20)
|
||||
|
||||
Do not error on trying to write IMA xattr as rootless
|
||||
imagebuildah.StageExecutor: clean up volumes/volumeCache
|
||||
`manifest add --artifact`: handle multiple values
|
||||
Packit: split out ELN jobs and reuse fedora downstream targets
|
||||
Packit: Enable sidetags for bodhi updates
|
||||
Use Epoch: 2 and respect the epoch in dependencies.
|
||||
|
||||
## v1.37.2 (2024-08-20)
|
||||
|
||||
[release-1.37] Bump c/common to v0.60.2, c/image to v5.32.2
|
||||
|
|
|
|||
8
vendor/github.com/containers/buildah/changelog.txt
generated
vendored
8
vendor/github.com/containers/buildah/changelog.txt
generated
vendored
|
|
@ -1,3 +1,11 @@
|
|||
- Changelog for v1.37.3 (2024-09-20)
|
||||
* Do not error on trying to write IMA xattr as rootless
|
||||
* imagebuildah.StageExecutor: clean up volumes/volumeCache
|
||||
* `manifest add --artifact`: handle multiple values
|
||||
* Packit: split out ELN jobs and reuse fedora downstream targets
|
||||
* Packit: Enable sidetags for bodhi updates
|
||||
* Use Epoch: 2 and respect the epoch in dependencies.
|
||||
|
||||
- Changelog for v1.37.2 (2024-08-20)
|
||||
* [release-1.37] Bump c/common to v0.60.2, c/image to v5.32.2
|
||||
|
||||
|
|
|
|||
11
vendor/github.com/containers/buildah/copier/xattrs.go
generated
vendored
11
vendor/github.com/containers/buildah/copier/xattrs.go
generated
vendored
|
|
@ -10,15 +10,18 @@ import (
|
|||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/containers/storage/pkg/unshare"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
const (
|
||||
xattrsSupported = true
|
||||
imaXattr = "security.ima"
|
||||
)
|
||||
|
||||
var (
|
||||
relevantAttributes = []string{"security.capability", "security.ima", "user.*"} // the attributes that we preserve - we discard others
|
||||
relevantAttributes = []string{"security.capability", imaXattr, "user.*"} // the attributes that we preserve - we discard others
|
||||
initialXattrListSize = 64 * 1024
|
||||
initialXattrValueSize = 64 * 1024
|
||||
)
|
||||
|
|
@ -93,7 +96,11 @@ func Lsetxattrs(path string, xattrs map[string]string) error {
|
|||
for attribute, value := range xattrs {
|
||||
if isRelevantXattr(attribute) {
|
||||
if err := unix.Lsetxattr(path, attribute, []byte(value), 0); err != nil {
|
||||
return fmt.Errorf("setting value of extended attribute %q on %q: %w", attribute, path, err)
|
||||
if unshare.IsRootless() && attribute == imaXattr {
|
||||
logrus.Warnf("Unable to set %q xattr on %q: %v", attribute, path, err)
|
||||
} else {
|
||||
return fmt.Errorf("setting value of extended attribute %q on %q: %w", attribute, path, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
2
vendor/github.com/containers/buildah/define/types.go
generated
vendored
2
vendor/github.com/containers/buildah/define/types.go
generated
vendored
|
|
@ -29,7 +29,7 @@ const (
|
|||
// identify working containers.
|
||||
Package = "buildah"
|
||||
// Version for the Package. Also used by .packit.sh for Packit builds.
|
||||
Version = "1.37.2"
|
||||
Version = "1.37.3"
|
||||
|
||||
// DefaultRuntime if containers.conf fails.
|
||||
DefaultRuntime = "runc"
|
||||
|
|
|
|||
2
vendor/github.com/containers/buildah/imagebuildah/build.go
generated
vendored
2
vendor/github.com/containers/buildah/imagebuildah/build.go
generated
vendored
|
|
@ -143,7 +143,7 @@ func BuildDockerfiles(ctx context.Context, store storage.Store, options define.B
|
|||
}
|
||||
contents, err = os.Open(dfile)
|
||||
if err != nil {
|
||||
return "", nil, err
|
||||
return "", nil, fmt.Errorf("reading build instructions: %w", err)
|
||||
}
|
||||
dinfo, err = contents.Stat()
|
||||
if err != nil {
|
||||
|
|
|
|||
2
vendor/github.com/containers/buildah/imagebuildah/executor.go
generated
vendored
2
vendor/github.com/containers/buildah/imagebuildah/executor.go
generated
vendored
|
|
@ -222,7 +222,7 @@ func newExecutor(logger *logrus.Logger, logPrefix string, store storage.Store, o
|
|||
} else {
|
||||
rusageLogFile, err = os.OpenFile(options.RusageLogFile, os.O_TRUNC|os.O_CREATE|os.O_WRONLY, 0644)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("creating file to store rusage logs: %w", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
115
vendor/github.com/containers/buildah/imagebuildah/stage_executor.go
generated
vendored
115
vendor/github.com/containers/buildah/imagebuildah/stage_executor.go
generated
vendored
|
|
@ -67,9 +67,9 @@ type StageExecutor struct {
|
|||
name string
|
||||
builder *buildah.Builder
|
||||
preserved int
|
||||
volumes imagebuilder.VolumeSet
|
||||
volumeCache map[string]string
|
||||
volumeCacheInfo map[string]os.FileInfo
|
||||
volumes imagebuilder.VolumeSet // list of directories which are volumes
|
||||
volumeCache map[string]string // mapping from volume directories to cache archives (used by vfs method)
|
||||
volumeCacheInfo map[string]os.FileInfo // mapping from volume directories to perms/datestamps to reset after restoring
|
||||
mountPoint string
|
||||
output string
|
||||
containerIDs []string
|
||||
|
|
@ -92,7 +92,7 @@ type StageExecutor struct {
|
|||
// writeable while the RUN instruction is being handled, even if any changes
|
||||
// made within the directory are ultimately discarded.
|
||||
func (s *StageExecutor) Preserve(path string) error {
|
||||
logrus.Debugf("PRESERVE %q in %q", path, s.builder.ContainerID)
|
||||
logrus.Debugf("PRESERVE %q in %q (already preserving %v)", path, s.builder.ContainerID, s.volumes)
|
||||
|
||||
// Try and resolve the symlink (if one exists)
|
||||
// Set archivedPath and path based on whether a symlink is found or not
|
||||
|
|
@ -111,71 +111,61 @@ func (s *StageExecutor) Preserve(path string) error {
|
|||
return fmt.Errorf("evaluating path %q: %w", path, err)
|
||||
}
|
||||
|
||||
// Whether or not we're caching and restoring the contents of this
|
||||
// directory, we need to ensure it exists now.
|
||||
const createdDirPerms = os.FileMode(0o755)
|
||||
if s.executor.compatVolumes != types.OptionalBoolTrue {
|
||||
logrus.Debugf("ensuring volume path %q exists", path)
|
||||
st, err := os.Stat(archivedPath)
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
// Yup, we do have to create it. That means it's not in any
|
||||
// cached copy of the path that covers it, so we have to
|
||||
// invalidate such cached copy.
|
||||
logrus.Debugf("have to create volume %q", path)
|
||||
createdDirPerms := createdDirPerms
|
||||
if err := copier.Mkdir(s.mountPoint, archivedPath, copier.MkdirOptions{ChmodNew: &createdDirPerms}); err != nil {
|
||||
return fmt.Errorf("ensuring volume path exists: %w", err)
|
||||
}
|
||||
logrus.Debugf("not doing volume save-and-restore of %q in %q", path, s.builder.ContainerID)
|
||||
return nil
|
||||
if err := s.volumeCacheInvalidate(path); err != nil {
|
||||
return fmt.Errorf("ensuring volume path %q is preserved: %w", filepath.Join(s.mountPoint, path), err)
|
||||
}
|
||||
if st, err = os.Stat(archivedPath); err != nil {
|
||||
return fmt.Errorf("checking on just-created volume path: %w", err)
|
||||
}
|
||||
}
|
||||
if err != nil {
|
||||
return fmt.Errorf("reading info cache for volume at %q: %w", path, err)
|
||||
}
|
||||
|
||||
if s.volumes.Covers(path) {
|
||||
// This path is a subdirectory of a volume path that we're
|
||||
// already preserving, so there's nothing new to be done except
|
||||
// ensure that it exists.
|
||||
st, err := os.Stat(archivedPath)
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
// We do have to create it. That means it's not in any
|
||||
// cached copy of the path that covers it, so we have
|
||||
// to invalidate such cached copy.
|
||||
logrus.Debugf("have to create volume %q", path)
|
||||
createdDirPerms := createdDirPerms
|
||||
if err := copier.Mkdir(s.mountPoint, filepath.Join(s.mountPoint, path), copier.MkdirOptions{ChmodNew: &createdDirPerms}); err != nil {
|
||||
return fmt.Errorf("ensuring volume path exists: %w", err)
|
||||
}
|
||||
if err := s.volumeCacheInvalidate(path); err != nil {
|
||||
return fmt.Errorf("ensuring volume path %q is preserved: %w", filepath.Join(s.mountPoint, path), err)
|
||||
}
|
||||
if st, err = os.Stat(archivedPath); err != nil {
|
||||
return fmt.Errorf("checking on just-created volume path: %w", err)
|
||||
}
|
||||
}
|
||||
// already preserving, so there's nothing new to be done now
|
||||
// that we've ensured that it exists.
|
||||
s.volumeCacheInfo[path] = st
|
||||
return nil
|
||||
}
|
||||
|
||||
// Figure out where the cache for this volume would be stored.
|
||||
s.preserved++
|
||||
cacheDir, err := s.executor.store.ContainerDirectory(s.builder.ContainerID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to locate temporary directory for container")
|
||||
}
|
||||
cacheFile := filepath.Join(cacheDir, fmt.Sprintf("volume%d.tar", s.preserved))
|
||||
|
||||
// Save info about the top level of the location that we'll be archiving.
|
||||
st, err := os.Stat(archivedPath)
|
||||
if errors.Is(err, os.ErrNotExist) {
|
||||
logrus.Debugf("have to create volume %q", path)
|
||||
createdDirPerms := os.FileMode(0o755)
|
||||
if err = copier.Mkdir(s.mountPoint, archivedPath, copier.MkdirOptions{ChmodNew: &createdDirPerms}); err != nil {
|
||||
return fmt.Errorf("ensuring volume path exists: %w", err)
|
||||
}
|
||||
st, err = os.Stat(archivedPath)
|
||||
}
|
||||
if err != nil {
|
||||
logrus.Debugf("error reading info about %q: %v", archivedPath, err)
|
||||
return err
|
||||
}
|
||||
s.volumeCacheInfo[path] = st
|
||||
// Add the new volume path to the ones that we're tracking.
|
||||
if !s.volumes.Add(path) {
|
||||
// This path is not a subdirectory of a volume path that we're
|
||||
// already preserving, so adding it to the list should have
|
||||
// worked.
|
||||
return fmt.Errorf("adding %q to the volume cache", path)
|
||||
}
|
||||
s.volumeCacheInfo[path] = st
|
||||
|
||||
// If we're not doing save/restore, we're done, since volumeCache
|
||||
// should be empty.
|
||||
if s.executor.compatVolumes != types.OptionalBoolTrue {
|
||||
logrus.Debugf("not doing volume save-and-restore of %q in %q", path, s.builder.ContainerID)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Decide where the cache for this volume will be stored.
|
||||
s.preserved++
|
||||
cacheDir, err := s.executor.store.ContainerDirectory(s.builder.ContainerID)
|
||||
if err != nil {
|
||||
return fmt.Errorf("unable to locate temporary directory for container")
|
||||
}
|
||||
cacheFile := filepath.Join(cacheDir, fmt.Sprintf("volume%d.tar", s.preserved))
|
||||
s.volumeCache[path] = cacheFile
|
||||
|
||||
// Now prune cache files for volumes that are newly supplanted by this one.
|
||||
|
|
@ -206,7 +196,7 @@ func (s *StageExecutor) Preserve(path string) error {
|
|||
if errors.Is(err, os.ErrNotExist) {
|
||||
continue
|
||||
}
|
||||
return err
|
||||
return fmt.Errorf("removing cache of %q: %w", archivedPath, err)
|
||||
}
|
||||
delete(s.volumeCache, cachedPath)
|
||||
}
|
||||
|
|
@ -256,16 +246,12 @@ func (s *StageExecutor) volumeCacheSaveVFS() (mounts []specs.Mount, err error) {
|
|||
continue
|
||||
}
|
||||
if !errors.Is(err, os.ErrNotExist) {
|
||||
return nil, err
|
||||
}
|
||||
createdDirPerms := os.FileMode(0755)
|
||||
if err := copier.Mkdir(s.mountPoint, archivedPath, copier.MkdirOptions{ChmodNew: &createdDirPerms}); err != nil {
|
||||
return nil, fmt.Errorf("ensuring volume path exists: %w", err)
|
||||
return nil, fmt.Errorf("checking for presence of a cached copy of %q at %q: %w", cachedPath, cacheFile, err)
|
||||
}
|
||||
logrus.Debugf("caching contents of volume %q in %q", archivedPath, cacheFile)
|
||||
cache, err := os.Create(cacheFile)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, fmt.Errorf("creating cache for volume %q: %w", archivedPath, err)
|
||||
}
|
||||
defer cache.Close()
|
||||
rc, err := chrootarchive.Tar(archivedPath, nil, s.mountPoint)
|
||||
|
|
@ -298,16 +284,12 @@ func (s *StageExecutor) volumeCacheRestoreVFS() (err error) {
|
|||
logrus.Debugf("restoring contents of volume %q from %q", archivedPath, cacheFile)
|
||||
cache, err := os.Open(cacheFile)
|
||||
if err != nil {
|
||||
return err
|
||||
return fmt.Errorf("restoring contents of volume %q: %w", archivedPath, err)
|
||||
}
|
||||
defer cache.Close()
|
||||
if err := copier.Remove(s.mountPoint, archivedPath, copier.RemoveOptions{All: true}); err != nil {
|
||||
return err
|
||||
}
|
||||
createdDirPerms := os.FileMode(0o755)
|
||||
if err := copier.Mkdir(s.mountPoint, archivedPath, copier.MkdirOptions{ChmodNew: &createdDirPerms}); err != nil {
|
||||
return err
|
||||
}
|
||||
err = chrootarchive.Untar(cache, archivedPath, nil)
|
||||
if err != nil {
|
||||
return fmt.Errorf("extracting archive at %q: %w", archivedPath, err)
|
||||
|
|
@ -334,13 +316,11 @@ func (s *StageExecutor) volumeCacheRestoreVFS() (err error) {
|
|||
}
|
||||
|
||||
// Save the contents of each of the executor's list of volumes for which we
|
||||
// don't already have a cache file.
|
||||
// don't already have a cache file. For overlay, we "save" and "restore" by
|
||||
// using it as a lower for an overlay mount in the same location, and then
|
||||
// discarding the upper.
|
||||
func (s *StageExecutor) volumeCacheSaveOverlay() (mounts []specs.Mount, err error) {
|
||||
for cachedPath := range s.volumeCache {
|
||||
err = copier.Mkdir(s.mountPoint, filepath.Join(s.mountPoint, cachedPath), copier.MkdirOptions{})
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("ensuring volume exists: %w", err)
|
||||
}
|
||||
volumePath := filepath.Join(s.mountPoint, cachedPath)
|
||||
mount := specs.Mount{
|
||||
Source: volumePath,
|
||||
|
|
@ -1079,6 +1059,7 @@ func (s *StageExecutor) prepare(ctx context.Context, from string, initializeIBCo
|
|||
s.mountPoint = mountPoint
|
||||
s.builder = builder
|
||||
// Now that the rootfs is mounted, set up handling of volumes from the base image.
|
||||
s.volumes = make([]string, 0, len(s.volumes))
|
||||
s.volumeCache = make(map[string]string)
|
||||
s.volumeCacheInfo = make(map[string]os.FileInfo)
|
||||
for _, v := range builder.Volumes() {
|
||||
|
|
|
|||
6
vendor/modules.txt
vendored
6
vendor/modules.txt
vendored
|
|
@ -140,7 +140,7 @@ github.com/containernetworking/cni/pkg/version
|
|||
# github.com/containernetworking/plugins v1.5.1
|
||||
## explicit; go 1.20
|
||||
github.com/containernetworking/plugins/pkg/ns
|
||||
# github.com/containers/buildah v1.37.2
|
||||
# github.com/containers/buildah v1.37.3
|
||||
## explicit; go 1.21.0
|
||||
github.com/containers/buildah
|
||||
github.com/containers/buildah/bind
|
||||
|
|
@ -811,8 +811,8 @@ github.com/moby/sys/mountinfo
|
|||
# github.com/moby/sys/sequential v0.5.0
|
||||
## explicit; go 1.17
|
||||
github.com/moby/sys/sequential
|
||||
# github.com/moby/sys/user v0.2.0
|
||||
## explicit; go 1.21
|
||||
# github.com/moby/sys/user v0.3.0
|
||||
## explicit; go 1.17
|
||||
github.com/moby/sys/user
|
||||
# github.com/moby/term v0.5.0
|
||||
## explicit; go 1.18
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue