mirror of
https://github.com/containers/podman.git
synced 2025-12-10 07:42:12 +08:00
update c/common
Update containers common to the latest HEAD. Some bug fixes in libimage forced us to have a clearer separation between ordinary images and manifest lists. Hence, when looking up manifest lists without recursing into any of their instances, we need to use `LookupManifestList()`. Also account for some other changes in c/common (e.g., the changed order in the security labels). Further vendor the latest HEAD from Buildah which is required to get the bud tests to pass. Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
This commit is contained in:
17
vendor/github.com/containers/common/libimage/save.go
generated
vendored
17
vendor/github.com/containers/common/libimage/save.go
generated
vendored
@@ -57,9 +57,13 @@ func (r *Runtime) Save(ctx context.Context, names []string, format, path string,
|
||||
// Dispatch the save operations.
|
||||
switch format {
|
||||
case "oci-archive", "oci-dir", "docker-dir":
|
||||
if len(names) > 1 {
|
||||
return errors.Errorf("%q does not support saving multiple images (%v)", format, names)
|
||||
}
|
||||
return r.saveSingleImage(ctx, names[0], format, path, options)
|
||||
|
||||
case "docker-archive":
|
||||
options.ManifestMIMEType = manifest.DockerV2Schema2MediaType
|
||||
return r.saveDockerArchive(ctx, names, path, options)
|
||||
}
|
||||
|
||||
@@ -134,6 +138,18 @@ func (r *Runtime) saveDockerArchive(ctx context.Context, names []string, path st
|
||||
tags []reference.NamedTagged
|
||||
}
|
||||
|
||||
additionalTags := []reference.NamedTagged{}
|
||||
for _, tag := range options.AdditionalTags {
|
||||
named, err := NormalizeName(tag)
|
||||
if err == nil {
|
||||
tagged, withTag := named.(reference.NamedTagged)
|
||||
if !withTag {
|
||||
return errors.Errorf("invalid additional tag %q: normalized to untagged %q", tag, named.String())
|
||||
}
|
||||
additionalTags = append(additionalTags, tagged)
|
||||
}
|
||||
}
|
||||
|
||||
orderedIDs := []string{} // to preserve the relative order
|
||||
localImages := make(map[string]*localImage) // to assemble tags
|
||||
visitedNames := make(map[string]bool) // filters duplicate names
|
||||
@@ -153,6 +169,7 @@ func (r *Runtime) saveDockerArchive(ctx context.Context, names []string, path st
|
||||
local, exists := localImages[image.ID()]
|
||||
if !exists {
|
||||
local = &localImage{image: image}
|
||||
local.tags = additionalTags
|
||||
orderedIDs = append(orderedIDs, image.ID())
|
||||
}
|
||||
// Add the tag if the locally resolved name is properly tagged
|
||||
|
||||
Reference in New Issue
Block a user