Search code examples
appimage

How to include binaries besides the one that will be executed?


I have an app that has an entry point binary which needs to be able to call other custom binaries. What do I have to do to get appimage to package those also?


Solution

  • You have to copy the binaries into the AppDir in the same place they are found in the system. By example, if you want to ship the cp command you will copy it into AppDir/bin/cp.

    This path can by resolved at runtime using the $APPDIR environment variable, so you may want to ensure that it's added to the PATH environment at runtime, like this: export PATH=$APPDIR:/bin:$PATH

    If you're using appimage-builder the path will be properly set by the tool and you only have to include the package that provides the binary in the AppDir > apt > include section.

    If the binary is built with your app, just make sure it also being deployed into the AppDir.

    If you're using other tool you will have to create a startup script and set it manually as in the example above.