my test vm has some extra *.so library symlinks so some patchelf commands were failing on the jenkins build vm - this changes the patchelf command to catch all the possible copied libraries
libfreetype 2.11 breaks compatibility with older harfbuzz that we are including to enable backwards compatibility with Ubuntu 16.04 based dists, so we now need to include libfontconfig & libpng15
In future for next we might not bother with harfbuzz,fontconfig etc as we are compiling OSG with vendor neutral dispatch (libGLvnd) that the older Mesa in 16.04 doesn't support
This option allows execution of any application stored in "/usr/bin" of the AppImage.
It has to be used as the first argument handed to the launch script.
Squashed commits:
- Add additional parameter checks and verify executability
- Print help when no value is passed to --exec-app
- Add all packaged executables as "additional executable" arguments to call of linuxdeployqt
+ Required dependencies of other applications will be deployed and library paths updated.
* Update help text
* Use find instead of ls to make file name handling robust (special chars, newlines, spaces)
- Modify find command to filter for executable files instead of using find's "-executable" option
Previously find failed to filter for executable files only when the AppImage was executed.
When the was AppImage mounted, "ls -al" showed that the file "usr/bin/qt.conf" was not executable.
However, when executing "find usr/bin/ -type f -executable" the file "usr/bin/qt.conf" still showed up.
Executing the same find command on the not-mounted source appdir did not show the file.
The change from "-executable" to logic ands/ors of "-user", "-group" and "-perm" fixes this behaviour.
Additionally this commit does no longer add "fgfs" to the additional executables since it is the main executable and processed anyways.
- Update find command to properly check permissions
Read permission and executability are required.
- Minor improvements for basename calls
* Quotes around basename argument
- Useless "basename" call
- Fix potential security flaw when matching application name input
The matching of "/" was erroneous and allowed execution of binaries outside the AppImage's /usr/bin directory.
When no arguments are pased to the AppImage, start with
the launcher for a pleasant experience.
Adjust the RPath on our copied osgDB plugins, so that dependencies
are found at the bundled lib dir.