summaryrefslogtreecommitdiffstats
path: root/package/linux
diff options
context:
space:
mode:
Diffstat (limited to 'package/linux')
-rwxr-xr-xpackage/linux/MultiMC25
1 files changed, 20 insertions, 5 deletions
diff --git a/package/linux/MultiMC b/package/linux/MultiMC
index a2ef0c81..8229b24f 100755
--- a/package/linux/MultiMC
+++ b/package/linux/MultiMC
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# Basic start script for running MultiMC with the libs packaged with it.
MMC_DIR=`dirname "$0"`
@@ -10,9 +10,24 @@ export LD_LIBRARY_PATH="${MMC_DIR}/bin":$LD_LIBRARY_PATH
export QT_PLUGIN_PATH="${MMC_DIR}/plugins"
export QT_FONTPATH="${MMC_DIR}/fonts"
-# Just to be sure...
-chmod +x "${MMC_DIR}/bin/MultiMC"
+# Detect missing dependencies...
+DEPS_LIST=`ldd "${MMC_DIR}"/plugins/*/*.so | grep "not found" | awk -vORS=", " '{ print $1 }'`
+if [ -z $DEPS_LIST ]; then
+ # We have all our dependencies. Run MultiMC.
+ echo "No missing dependencies found."
-# run MultiMC
-"${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" $@
+ # Just to be sure...
+ chmod +x "${MMC_DIR}/bin/MultiMC"
+
+ # Run MultiMC
+ "${MMC_DIR}/bin/MultiMC" -d "${MMC_DIR}" $@
+
+ # Exit with MultiMC's exit code.
+ exit $?
+else
+ echo "Error: MultiMC is missing the following libraries that it needs to work correctly:"
+ echo "\t${DEPS_LIST}"
+ echo "Please install them from your distribution's package manager."
+ exit 1
+fi