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:
TomSweeneyRedHat
2019-11-13 10:30:08 -05:00
parent de32b89eff
commit 6003033ada
313 changed files with 25182 additions and 1691 deletions

View File

@ -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")
}