Control: reassign -1 golang-github-klauspost-pgzip 1.2.5-2 Control: affects -1 libpod Control: forwarded -1 https://github.com/containers/podman/issues/15944 Control: severity -1 important
Hi Antonio, Thanks for your report. I've looked through the source code, and while the exact error message doesn't exactly match, I did confirm that the current debian/sid podman is indeed built with golang 1.19, and uses an older version of klauspost/pgzip that doesn't have that code change from https://github.com/klauspost/pgzip/pull/50. I'd argue it is necessary for golang 1.19. In order to fix this, the code change needs to go into pgzip and libpod needs to be rebuilt. -rt On Sun, Apr 2, 2023 at 6:51 AM Antonio Cebrián <anceb...@gmail.com> wrote: > Package: podman > Version: 4.3.1 > > > 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. > > It seems to be the same problem reported here: > > https://github.com/containers/podman/issues/15944 > > > Tested under Bookworm with podman 4.3.1: > > *$ podman image pull hello-world:latest* > Resolved "hello-world" as an alias > (/etc/containers/registries.conf.d/shortnames.conf) > Trying to pull docker.io/library/hello-world:latest... > Getting image source signatures > Copying blob 2db29710123e done > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412 > > *$ podman image save hello-world:latest > hello-world.tar* > > *$ podman image save hello-world:latest | gzip > hello-world.tar.gz* > > *$ podman image save hello-world:latest | bzip2 > hello-world.tar.bz2* > > *$ podman image load -i hello-world.tar* > Getting image source signatures > Copying blob e07ee1baac5f skipped: already exists > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > Loaded image: docker.io/library/hello-world:latest > > *$ podman image load -i hello-world.tar.gz* > Error: payload does not match any of the supported image formats: > * oci: initializing source oci:hello-world.tar.gz:: open > hello-world.tar.gz/index.json: not a directory > * oci-archive: loading index: open /var/tmp/oci3062655986/index.json: no > such file or directory > * docker-archive: loading tar component manifest.json: unexpected EOF > * dir: open hello-world.tar.gz/manifest.json: not a directory > > *$ podman image load -i hello-world.tar.bz2* > Getting image source signatures > Copying blob e07ee1baac5f skipped: already exists > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > Loaded image: docker.io/library/hello-world:latest > > > Attached you have the debug output of the failing command: > > *$ podman --debug image load -i hello-world.tar.gz* > > > In Bullseye with podman 3.0.1 all works as expected: > > *$ podman image pull hello-world:latest* > Resolved "hello-world" as an alias > (/etc/containers/registries.conf.d/shortnames.conf) > Trying to pull docker.io/library/hello-world:latest... > Getting image source signatures > Copying blob 2db29710123e done > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > feb5d9fea6a5e9606aa995e879d862b825965ba48de054caab5ef356dc6b3412 > > *$ podman image save hello-world:latest > hello-world.tar* > Copying blob e07ee1baac5f done > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > > *$ podman image save hello-world:latest | gzip > hello-world.tar.gz* > Copying blob e07ee1baac5f done > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > > *$ podman image save hello-world:latest | bzip2 > hello-world.tar.bz2* > Copying blob e07ee1baac5f done > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > > *$ podman image load -i hello-world.tar* > Getting image source signatures > Copying blob e07ee1baac5f [--------------------------------------] 0.0b / > 0.0b > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > Loaded image(s): docker.io/library/hello-world:latest > > *$ podman image load -i hello-world.tar.gz* > Getting image source signatures > Copying blob e07ee1baac5f skipped: already exists > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > Loaded image(s): docker.io/library/hello-world:latest > > *$ podman image load -i hello-world.tar.bz2* > Getting image source signatures > Copying blob e07ee1baac5f [--------------------------------------] 0.0b / > 0.0b > Copying config feb5d9fea6 done > Writing manifest to image destination > Storing signatures > Loaded image(s): docker.io/library/hello-world:latest > > > Best regards. > > -- regards, Reinhard