<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<div>Package: podman</div>
<div>Version: 4.3.1</div>
<div><br>
</div>
<div><br>
</div>
<div>Podman cannot load images compressed with gzip. Uncompressed
images or bzip2 compressed images work right therefore it seems to
be a problem related to gzip handling.</div>
<div><br>
</div>
<div>
<div>It seems to be the same problem reported here:</div>
<div><br>
</div>
<div><a class="moz-txt-link-freetext" href="https://github.com/containers/podman/issues/15944">https://github.com/containers/podman/issues/15944</a></div>
<div><br>
</div>
<div><br>
</div>
</div>
<div>Tested under Bookworm with podman 4.3.1:</div>
<div><br>
</div>
<div><b>$ podman image pull hello-world:latest</b><br>
Resolved "hello-world" as an alias
(/etc/containers/registries.conf.d/shortnames.conf)<br>
Trying to pull docker.io/library/hello-world:latest...<br>
Getting image source signatures<br>
Copying blob 2db29710123e done<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412<br>
<br>
<b>$ podman image save hello-world:latest > hello-world.tar</b><br>
<br>
<b>$ podman image save hello-world:latest | gzip >
hello-world.tar.gz</b><br>
<br>
<b>$ podman image save hello-world:latest | bzip2 >
hello-world.tar.bz2</b><br>
<br>
<b>$ podman image load -i hello-world.tar</b><br>
Getting image source signatures<br>
Copying blob e07ee1baac5f skipped: already exists<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
Loaded image: docker.io/library/hello-world:latest<br>
<br>
<b>$ podman image load -i hello-world.tar.gz</b><br>
Error: payload does not match any of the supported image formats:<br>
* oci: initializing source oci:hello-world.tar.gz:: open
hello-world.tar.gz/index.json: not a directory<br>
* oci-archive: loading index: open
/var/tmp/oci3062655986/index.json: no such file or directory<br>
* docker-archive: loading tar component manifest.json: unexpected
EOF<br>
* dir: open hello-world.tar.gz/manifest.json: not a directory<br>
<br>
<b>$ podman image load -i hello-world.tar.bz2</b><br>
Getting image source signatures<br>
Copying blob e07ee1baac5f skipped: already exists<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
Loaded image: docker.io/library/hello-world:latest<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>Attached you have the debug output of the failing command:</div>
<div><br>
</div>
<div><b>$ podman --debug image load -i hello-world.tar.gz</b><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>In Bullseye with podman 3.0.1 all works as expected:</div>
<div><br>
</div>
<div><b>$ podman image pull hello-world:latest</b><br>
Resolved "hello-world" as an alias
(/etc/containers/registries.conf.d/shortnames.conf)<br>
Trying to pull docker.io/library/hello-world:latest...<br>
Getting image source signatures<br>
Copying blob 2db29710123e done<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412<br>
<br>
<b>$ podman image save hello-world:latest > hello-world.tar</b><br>
Copying blob e07ee1baac5f done<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
<br>
<b>$ podman image save hello-world:latest | gzip >
hello-world.tar.gz</b><br>
Copying blob e07ee1baac5f done<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
<br>
<b>$ podman image save hello-world:latest | bzip2 >
hello-world.tar.bz2</b><br>
Copying blob e07ee1baac5f done<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
<br>
<b>$ podman image load -i hello-world.tar</b><br>
Getting image source signatures<br>
Copying blob e07ee1baac5f [--------------------------------------]
0.0b / 0.0b<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
Loaded image(s): docker.io/library/hello-world:latest<br>
<br>
<b>$ podman image load -i hello-world.tar.gz</b><br>
Getting image source signatures<br>
Copying blob e07ee1baac5f skipped: already exists<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
Loaded image(s): docker.io/library/hello-world:latest<br>
<br>
<b>$ podman image load -i hello-world.tar.bz2</b><br>
Getting image source signatures<br>
Copying blob e07ee1baac5f [--------------------------------------]
0.0b / 0.0b<br>
Copying config feb5d9fea6 done<br>
Writing manifest to image destination<br>
Storing signatures<br>
Loaded image(s): docker.io/library/hello-world:latest</div>
<div><br>
</div>
<br>
<div>Best regards.</div>
<div><br>
</div>
<p></p>
</body>
</html>