Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE: add option to use an external decompressor to rpm2cpio and rpm2archive #1939

Open
pmatilai opened this issue Feb 25, 2022 · 4 comments
Open
Labels

Comments

@pmatilai
Copy link
Member

pmatilai commented Feb 25, 2022

As it is, at least rpm2cpio happens to allow an external decompressor for unsupported formats because rpmio is sloppy and just returns the compressed stream as such for any invalid/unknown decompressor flags, eg rpm2cpio foo.rpm | zstd -d | cpio can be used to work around lack of zstd support in older versions of librpm. This is an useful thing to have, but it should be an explicit option rather than lucky incident.

  1. rpmio needs to return failure for invalid compressor flags
  2. rpm2cpio (and rpm2archive) need to check for that failure and error out cleanly
  3. rpm2cpio (and rpm2archive) should offer an option to let an external decompressor handle it, ie just not reopen the piggyback stream at all
  4. as a part of this, rpm2cpio be ported to popt, finally

Inspired by https://bugzilla.redhat.com/show_bug.cgi?id=2058426

@pmatilai pmatilai added the RFE label Feb 25, 2022
@mcurlej mcurlej assigned pmatilai and unassigned pmatilai Aug 31, 2022
@dralley
Copy link
Contributor

dralley commented Apr 5, 2024

@pmatilai As a behavioral change, perhaps this is suitable for RPM v6? (as in v6 of the tool, not v6 of the format)

@pmatilai
Copy link
Member Author

pmatilai commented Apr 5, 2024

Uh? This would be just an extra option, not replace any existing functionality.

@dralley
Copy link
Contributor

dralley commented Apr 5, 2024

I read this issue as being "we should fail, but currently we ignore by default. Let's fail by default and provide an option to ignore"

Which would be a change to how it currently behaves in addition to adding a new option (to restore present behavior)

But I might have read that incorrectly

@pmatilai
Copy link
Member Author

pmatilai commented Apr 5, 2024

Oh, I forgot there were all these loosely related steps listed in the description.
Whatever happens in this space is not significant behavior changes by any measure.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Backlog
Development

No branches or pull requests

2 participants