summaryrefslogtreecommitdiffstats
path: root/packaging/appimage/Wireshark-AppRun.in
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/appimage/Wireshark-AppRun.in')
-rw-r--r--packaging/appimage/Wireshark-AppRun.in41
1 files changed, 41 insertions, 0 deletions
diff --git a/packaging/appimage/Wireshark-AppRun.in b/packaging/appimage/Wireshark-AppRun.in
new file mode 100644
index 0000000..c3bc06f
--- /dev/null
+++ b/packaging/appimage/Wireshark-AppRun.in
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+# Custom AppRun entry point that allows symlinking multiple
+# executables, e.g. wireshark, tshark, dumpcap, editcap, etc.
+
+# Adapted from
+# https://github.com/probonopd/ippsample/blob/feature/appimage/appimage/AppRun
+
+SELF=$(readlink -f "$0")
+HERE=${SELF%/*}
+
+# https://github.com/AppImage/AppImageKit/issues/126
+export LD_LIBRARY_PATH="${APPDIR}/usr/lib:${LD_LIBRARY_PATH}"
+
+# We should probably set these relative to the program path in
+# wsutil/filesystem.c
+if [ -z "$WIRESHARK_DATA_DIR" ] ; then
+ export WIRESHARK_DATA_DIR="$APPDIR@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_DATADIR@/wireshark"
+fi
+
+if [ -z "$WIRESHARK_EXTCAP_DIR" ] ; then
+ export WIRESHARK_EXTCAP_DIR="$APPDIR@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/wireshark/extcap"
+fi
+
+if [ -z "$WIRESHARK_PLUGIN_DIR" ] ; then
+ export WIRESHARK_PLUGIN_DIR="$APPDIR@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/wireshark/plugins"
+fi
+
+# See if we were called by runtime.c, which sets APPIMAGE, ARGV0,
+# and APPDIR.
+if [ -n "$APPIMAGE" ] && [ -n "$ARGV0" ] ; then
+ BINARY_NAME=${ARGV0##*/}
+else
+ BINARY_NAME=${0##*/}
+fi
+
+if [ -e "$HERE/usr/bin/$BINARY_NAME" ] ; then
+ exec "$HERE/usr/bin/$BINARY_NAME" "$@"
+else
+ exec "$HERE/usr/bin/wireshark" "$@"
+fi