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

[Feature request] dwarfs support. #21

Open
Samueru-sama opened this issue Nov 17, 2024 · 5 comments
Open

[Feature request] dwarfs support. #21

Samueru-sama opened this issue Nov 17, 2024 · 5 comments

Comments

@Samueru-sama
Copy link
Contributor

Hi, I've recently been experimenting with the appimage runtime that supports dwarfs.

The big oopsie I ran into is that of course aisap doesn't work with it since it expects squashfs only.

However it is worth noting that it is possible to make aisap in its current state work with dwarfs, the problem is that it takes a horrible hack that uses two wrapper scripts.

So in theory all that would need to be done is check if the target appimage is dwarfs, after that the dwarfs binary can handle the rest and even find the offset on its own.

@mgord9518
Copy link
Owner

Haha the overlap in our projects is crazy, I was actually playing around with DwarFS app bundles a year or so ago. I should be able to add it fairly easily, all I need is a way to check. This will come with the assumption that the target machine has DwarFS installed though because it's pretty massive and I don't want to make aisap 5x as big for a niche use

With your format, is there a special header or does it require checking the image offset to see if it has a SquashFS or DwarFS image?

@Samueru-sama
Copy link
Contributor Author

With your format, is there a special header or does it require checking the image offset to see if it has a SquashFS or DwarFS image?

Not sure what's the best way to determine if it is dwarfs, on the hacky script screenshot I just grep the string DWARFS do determine it.

The dwarfs binary itself can determine the offset, so all that has to be done is pass dwarfs -o offset=auto appimage mountpoint

@mgord9518
Copy link
Owner

@Samueru-sama The offset isn't an issue as that's something aisap finds already (as long as it's just an ELF executable that isn't compressed with UPX or something)

I was just wondering if you had added something into the main header of the file that would hint at it being different (eg changing the AppImage header). If not it shouldn't be hard to find

@Samueru-sama
Copy link
Contributor Author

The offset isn't an issue as that's something aisap finds already (as long as it's just an ELF executable that isn't compressed with UPX or something)

I was just wondering if you had added something into the main header of the file that would hint at it being different (eg changing the AppImage header). If not it shouldn't be hard to find

I'm not sure, the runtime is fully compatible with the regular type2 appimage runtime, so to other tools like appimageupdatetool the appimage is the same.

@mgord9518
Copy link
Owner

It should only be a couple line change then, I'll try to get it implemented soonish

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