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

mksquashfs and unsquashfs as a library #124

Open
flxo opened this issue Aug 2, 2021 · 3 comments
Open

mksquashfs and unsquashfs as a library #124

flxo opened this issue Aug 2, 2021 · 3 comments

Comments

@flxo
Copy link

flxo commented Aug 2, 2021

The project today is binary centric around the mksquashfs and unsquashfs binaries. Calling this binaries during a build can be annoying since the binaries need to be present on the system in the correct version. Calling foreign binaries is also something that may fail easily.

The idea is to split the two binaries into tree parts:

  • libsquashfs: Library for creating and unpacking squashfs images with a (to be defined) C API
  • mksquashfs: CLI tool to create squashfs images (uses libsquashfs)
  • unsquashfs: CLI tool to unpack squashfs images (uses libsquashfs)
@AgentD
Copy link
Contributor

AgentD commented Aug 2, 2021

So basically something like libsquashfs, which has a C API?

@flxo
Copy link
Author

flxo commented Aug 2, 2021

So basically something like libsquashfs, which has a C API?

Exactly. We tried to use squashfs-tools-ng but experienced various problems compared to the images created with the "old" mksquashfs. The API of squashfs-tools-ng is super powerful but hard to use if you just want to pack a dir with some pseudo files.

@AgentD
Copy link
Contributor

AgentD commented Aug 3, 2021

A high level abstraction wrapper is implemented in squashfs-tools-ng internally, but it was not move to libsquashfs as there were some open questions regarding a generic enough design, and it was assumed that any filesystem manipulation code would already have it's own such layer that libsquashfs would be integrated into, rather than the other way around.

I opened a ticket for this. Additional feedback is always welcome.

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

No branches or pull requests

2 participants