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

Consider using sharun or userland-execve #312

Open
probonopd opened this issue Nov 16, 2024 · 2 comments
Open

Consider using sharun or userland-execve #312

probonopd opened this issue Nov 16, 2024 · 2 comments

Comments

@probonopd
Copy link
Owner

probonopd commented Nov 16, 2024

Thanks @Samueru-sama for finding this.

sharun is just a binary that you symlink to inside the AppDir and based on the name of the symlink it will find the ld-*.so and call the binary in ./shared/bin while passing every single directory that contains libraries to --library-path when calling the ld-*.so. This means that when hardlinks get used /proc/self/exe is the name of the binary instead of ld-*.so, and since every single directory with libraries gets passed down with the --library-path flag there is no need to use patchelf to set rpaths.

Similar:

Example AppImages:

AppImage/AppImageSpec#36 (comment)

@probonopd
Copy link
Owner Author

Next step:
See whether we can use it in https://github.com/probonopd/alpine2appimage

@probonopd
Copy link
Owner Author

https://zapps.app/technology/ "jumploader" seems to be doing a similar thing.

https://github.com/janispeyer/tinyshim is an implementation in assembly.

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

1 participant