<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:"courier new",monospace">Control: reassign -1 golang-github-klauspost-pgzip 1.2.5-2</div><div class="gmail_default" style="font-family:"courier new",monospace">Control: affects -1 libpod<br>Control: forwarded -1 <a href="https://github.com/containers/podman/issues/15944">https://github.com/containers/podman/issues/15944</a><br>Control: severity -1 important</div><div class="gmail_default" style="font-family:"courier new",monospace"><br></div><div class="gmail_default" style="font-family:"courier new",monospace">Hi Antonio,<br><br>Thanks for your report.<br><br>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  <a href="https://github.com/klauspost/pgzip/pull/50">https://github.com/klauspost/pgzip/pull/50</a>. I'd argue it is necessary for golang 1.19.<br><br>In order to fix this, the code change needs to go into pgzip and libpod needs to be rebuilt.<br><br>-rt</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Apr 2, 2023 at 6:51 AM Antonio Cebrián <<a href="mailto:ancebfer@gmail.com">ancebfer@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  

    
  
  <div>
    <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 href="https://github.com/containers/podman/issues/15944" target="_blank">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 <a href="http://docker.io/library/hello-world:latest." target="_blank">docker.io/library/hello-world:latest.</a>..<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: <a href="http://docker.io/library/hello-world:latest" target="_blank">docker.io/library/hello-world:latest</a><br>
      <br>
      <b>$ podman image load -i hello-world.tar.gz</b><br>
      Error: <span class="gmail_default" style="font-family:"courier new",monospace"></span>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: <a href="http://docker.io/library/hello-world:latest" target="_blank">docker.io/library/hello-world:latest</a><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 <a href="http://docker.io/library/hello-world:latest." target="_blank">docker.io/library/hello-world:latest.</a>..<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): <a href="http://docker.io/library/hello-world:latest" target="_blank">docker.io/library/hello-world:latest</a><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): <a href="http://docker.io/library/hello-world:latest" target="_blank">docker.io/library/hello-world:latest</a><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): <a href="http://docker.io/library/hello-world:latest" target="_blank">docker.io/library/hello-world:latest</a></div>
    <div><br>
    </div>
    <br>
    <div>Best regards.</div>
    <div><br>
    </div>
    <p></p>
  </div>

</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">regards,<br>    Reinhard</div></div>