mirror of
https://github.com/containers/podman.git
synced 2025-09-25 15:55:32 +08:00
Bump to Buildah v1.11.5
Bump to Buildah v1.11.5. Most notably changes to the podman build `--pull` functionality. `--pull=true` and `--pull=false` now work as Docker does, `--pull-never` added to supply the functionality of the old `--pull=false`. Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
This commit is contained in:
44
vendor/github.com/containers/buildah/import.go
generated
vendored
44
vendor/github.com/containers/buildah/import.go
generated
vendored
@ -5,8 +5,10 @@ import (
|
||||
|
||||
"github.com/containers/buildah/docker"
|
||||
"github.com/containers/buildah/util"
|
||||
"github.com/containers/image/v5/image"
|
||||
"github.com/containers/image/v5/manifest"
|
||||
is "github.com/containers/image/v5/storage"
|
||||
"github.com/containers/image/v5/transports"
|
||||
"github.com/containers/image/v5/types"
|
||||
"github.com/containers/storage"
|
||||
digest "github.com/opencontainers/go-digest"
|
||||
@ -28,12 +30,39 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "no such image %q", imageID)
|
||||
}
|
||||
src, err2 := ref.NewImage(ctx, systemContext)
|
||||
if err2 != nil {
|
||||
return nil, errors.Wrapf(err2, "error instantiating image")
|
||||
src, err := ref.NewImageSource(ctx, systemContext)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error instantiating image source")
|
||||
}
|
||||
defer src.Close()
|
||||
|
||||
imageDigest := ""
|
||||
manifestBytes, manifestType, err := src.GetManifest(ctx, nil)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error loading image manifest for %q", transports.ImageName(ref))
|
||||
}
|
||||
if manifestDigest, err := manifest.Digest(manifestBytes); err == nil {
|
||||
imageDigest = manifestDigest.String()
|
||||
}
|
||||
|
||||
var instanceDigest *digest.Digest
|
||||
if manifest.MIMETypeIsMultiImage(manifestType) {
|
||||
list, err := manifest.ListFromBlob(manifestBytes, manifestType)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error parsing image manifest for %q as list", transports.ImageName(ref))
|
||||
}
|
||||
instance, err := list.ChooseInstance(systemContext)
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error finding an appropriate image in manifest list %q", transports.ImageName(ref))
|
||||
}
|
||||
instanceDigest = &instance
|
||||
}
|
||||
|
||||
image, err := image.FromUnparsedImage(ctx, systemContext, image.UnparsedInstance(src, instanceDigest))
|
||||
if err != nil {
|
||||
return nil, errors.Wrapf(err, "error instantiating image for %q instance %q", transports.ImageName(ref), instanceDigest)
|
||||
}
|
||||
|
||||
imageName := ""
|
||||
if img, err3 := store.Image(imageID); err3 == nil {
|
||||
if len(img.Names) > 0 {
|
||||
@ -48,13 +77,6 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system
|
||||
}
|
||||
}
|
||||
|
||||
imageDigest := ""
|
||||
if manifestBytes, _, err := src.Manifest(ctx); err == nil {
|
||||
if manifestDigest, err := manifest.Digest(manifestBytes); err == nil {
|
||||
imageDigest = manifestDigest.String()
|
||||
}
|
||||
}
|
||||
|
||||
defaultNamespaceOptions, err := DefaultNamespaceOptions()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -79,7 +101,7 @@ func importBuilderDataFromImage(ctx context.Context, store storage.Store, system
|
||||
},
|
||||
}
|
||||
|
||||
if err := builder.initConfig(ctx, src); err != nil {
|
||||
if err := builder.initConfig(ctx, image); err != nil {
|
||||
return nil, errors.Wrapf(err, "error preparing image configuration")
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user