AppImage

Guideline in creating an AppImage

Dear all,
I was recently asked to investigate the AppImage approach to package our application which is currently distributed as a an archive (.tar.gz), one per supported platform.
I went through the online documentation, but still, I am missing some bits.
I understand from the documentation, that the most suited approach in our case, would be to use the pkg2appimage and proceed as follows:

  • start from an old supported platform (in our case CentOS 6, I assume choosing a rather old distribution is driven by glibc?)

  • create a folder named AppDir with the following structure:
    AppDir
    AppDir/application.yml
    AppDir/usr/bin
    AppDir/usr/lib
    AppDir/usr/share
    AppDir/share/applications
    AppDir/share/applications/application.desktop

  • copy our application launcher to AppDir/usr/bin

  • copy all the application embedded libraries into AppDir/usr/lib

  • in the yml application file:

    • in section labelled ingredients target a given platform (by the way, all examples I could find are for Debian flavors, it would be great to have something about RHEL as well).
    • in subsection labelled packages list the extra packages that one would need to install with for instance yum ( I need for instance in our case to have tbb installed)
    • add some installation steps in section scripts (obscure still though…)

Here are some questions and I will be grateful, if someone could take time to provide some guideline, or tell whether the above approach is consistent.

Question 1: am I using here the most appropriate approach, or is it too complicated ? (sorry if I missed something obvious in the developer documentation)

Question 2: what do I have to set in the yml file, such that I target say CentOS 6 (sorry if this question is rather basic…, but all examples seem to be about Debian flavor)

Question 3: i am a little bit confused by the script section, especially if I look the Mu.yml example pkg2appimage/recipes/

I may have additional questions, but I will be grateful if some expert could tell whether what I plan to do here, is the right approach to use.
Thanks.