diff --git a/project/bundles/appimage/data/AppRun b/project/bundles/appimage/data/AppRun index 0cad17c858..f0ae968e78 100755 --- a/project/bundles/appimage/data/AppRun +++ b/project/bundles/appimage/data/AppRun @@ -1,141 +1,141 @@ #!/bin/bash # Main AppImage script to wrap XDG_* variable properly for Qt5. # # Copyright (c) 2015-2019, Gilles Caulier, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # preload_shared_library () { FILE=$1 echo $FILE if [[ "$(arch)" = "x86_64" ]] ; then # 64 bits system if [ -f "/usr/lib64/$FILE" ] ; then export LD_PRELOAD=$LD_PRELOAD:/usr/lib64/$FILE elif [ -f "/usr/lib/x86_64-linux-gnu/$FILE" ] ; then export LD_PRELOAD=$LD_PRELOAD:/usr/lib/x86_64-linux-gnu/$FILE elif [ -f "/lib/x86_64-linux-gnu/$FILE" ] ; then export LD_PRELOAD=$LD_PRELOAD:/lib/x86_64-linux-gnu/$FILE fi else # 32 bits system if [ -f "/usr/lib/$FILE" ] ; then export LD_PRELOAD=$LD_PRELOAD:/usr/lib/$FILE elif [ -f "/usr/lib/i386-linux-gnu/$FILE" ] ; then export LD_PRELOAD=$LD_PRELOAD:/usr/lib/i386-linux-gnu/$FILE elif [ -f "/lib/i386-linux-gnu/$FILE" ] ; then export LD_PRELOAD=$LD_PRELOAD:/lib/i386-linux-gnu/$FILE fi fi } preload_shared_library libfreetype.so preload_shared_library libudev.so -exit + echo "-- digiKam AppImage Bundle" echo "-- Use 'help' as CLI argument to know all available options for digiKam application" echo "-- Preloading shared libs: $LD_PRELOAD" DIR="`dirname \"$0\"`" DIR="`( cd \"$DIR\" && pwd )`" export APPDIR=$DIR export APPIMAGE_ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH export APPIMAGE_ORIGINAL_QT_PLUGIN_PATH=$QT_PLUGIN_PATH export APPIMAGE_ORIGINAL_XDG_DATA_DIRS=$XDG_DATA_DIRS export APPIMAGE_ORIGINAL_PATH=$PATH export LD_LIBRARY_PATH=$DIR/usr/lib/:$LD_LIBRARY_PATH export QT_PLUGIN_PATH=$DIR/usr/plugins/ export XDG_DATA_DIRS=$DIR/usr/share/:$XDG_DATA_DIRS export PATH=$DIR/usr/bin:$DIR/usr/lib:$DIR/usr/lib/libexec/kf5:$DIR/usr/share/digikam/utils:$PATH export KDE_FORK_SLAVES=1 export CAMLIBS=$DIR/usr/lib/libgphoto2 export IOLIBS=$DIR/usr/lib/libgphoto2_port # code to disable Plasma desktopk detection with QDesktopService export APPIMAGE_ORIGINAL_KDE_FULL_SESSION=$KDE_FULL_SESSION export APPIMAGE_ORIGINAL_DESKTOP_SESSION=$DESKTOP_SESSION export APPIMAGE_ORIGINAL_XDG_CURRENT_DESKTOP=$XDG_CURRENT_DESKTOP export APPIMAGE_ORIGINAL_XDG_SESSION_DESKTOP=$XDG_SESSION_DESKTOP #unset KDE_FULL_SESSION #unset DESKTOP_SESSION #unset XDG_CURRENT_DESKTOP #unset XDG_SESSION_DESKTOP # if no customized Qt debug loggin variable is set, turn on one for a better readability if [ -z "$QT_MESSAGE_PATTERN" ]; then export QT_MESSAGE_PATTERN="`echo -e "\033[34m%{function}\033[0m: %{message}"`" fi export APPIMAGE_STARTUP_LD_LIBRARY_PATH=$LD_LIBRARY_PATH export APPIMAGE_STARTUP_QT_PLUGIN_PATH=$QT_PLUGIN_PATH export APPIMAGE_STARTUP_XDG_DATA_DIRS=$XDG_DATA_DIRS export APPIMAGE_STARTUP_PATH=$PATH # Parse CLI options. if [[ $1 == "showfoto" ]] ; then # Run Showfoto as well. showfoto ${@:2} elif [[ $1 == "debug" ]] ; then if [[ $2 == "showfoto" ]] ; then # Showfoto in debug mode. echo "Starting Showfoto into GDB..." echo "Use 'bt' command on debugger prompt to get a crash backtrace." echo "Use 'q' command to quit debugger session." gdb -ex=r --args showfoto ${@:3} else # digiKam in debug mode. echo "Starting digiKam into GDB..." echo "Use 'bt' command on debugger prompt to get a crash backtrace." echo "Use 'q' command to quit debugger session." gdb -ex=r --args digikam ${@:2} fi elif [[ $1 == "help" ]] ; then # digiKam/Showfoto CLI help. echo "digiKam AppImage bundle CLI options:" echo " without option : run digiKam." echo " : run Showfoto instead digiKam." echo " : run digiKam into GDB." echo " : run Showfoto into GDB." echo " : run native AppImage script for a desktop integration." echo " : show these information." elif [[ ($1 == "desktopintegration") ]] ; then # Native AppImage CLI options. echo "Call native AppImage CLI tools for desktop integration..." digikam.wrapper $@ else # Run digiKam as well. digikam $@ fi