Commit Graph

5 Commits

Author SHA1 Message Date
Valentin Rothberg e17483b871 bump to golangci-lint v1.50.0
Used `go fmt` rules to migrate away from deprecated functions, for
instance `gofmt -w -s -r 'ioutil.TempDir(a, b) -> os.MkdirTemp(a, b)'`

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-10-17 15:03:07 +02:00
Valentin Rothberg 4422f38959 libimage: load: close reader
Close the reader of an Docker archive to make sure that artifacts in
TMPDIR are removed.

Closes: github.com/containers/podman/issues/14287
Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-05-19 17:08:48 +02:00
Valentin Rothberg c08c28e17c load: support buildkit archives
Archives generated with buildkit have some kind of "hybrid" layout which
is the same for OCI and Docker archives.  OCI ones ship with a
manifest.json but set the image's reference in the index.json but in a
custom annotation and not the one the OCI image spec wants.  Archives
in the Docker format set the reference in `RepoTags` of the
manifest.json.

To support these archives, simply look for the custom containerd
annotation *and* change the order back to give OCI archives precedence.

Fixes: containers/podman/issues/12560
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-12-10 13:24:05 +01:00
Valentin Rothberg da2875b837 libimage: force remove: only untag on multi tag image
When removing an image by name, do not remove the image and all its
tags, even if force is set.  Instead, just untag the specified name.

Note: adjust the load test to preserve the order in the untagged field.

Also vendor in the latest HEAD in containers/image to fix a bug revealed
in Podman CI.

Context: containers/podman/issues/10685
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-06-17 15:46:14 +02:00
Valentin Rothberg fea35ddf36 libimage: add load unit tests
Add unit tests for loading images.  This covers the most important
formats of docker-archive and oci-archive.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2021-05-10 13:59:35 +02:00