Blob Blame History Raw
diff --git a/build/linux/dist/arduino b/build/linux/dist/arduino
index d4e7f19..9f575c5 100755
--- a/build/linux/dist/arduino
+++ b/build/linux/dist/arduino
@@ -1,35 +1,38 @@
 #!/usr/bin/env bash

-APPDIR="$(dirname -- "$(readlink -f -- "${0}")" )"
-
-for LIB in \
-    "$APPDIR"/java/lib/rt.jar \
-    "$APPDIR"/java/lib/tools.jar \
-    "$APPDIR"/lib/*.jar \
-    ;
-do
-    CLASSPATH="${CLASSPATH}:${LIB}"
-done
-export CLASSPATH
+if [[ `id -u` -ne 0 ]]; then
+    for group in dialout lock; do
+        if ! groups $USER | grep -q " : .*\b$group\b"; then
+            missing_groups="$missing_groups\n$group"
+        fi
+    done
+    if [[ -n $missing_groups ]] && zenity --title=Arduino --window-icon=/usr/share/icons/hicolor/16x16/apps/arduino.png --question --text "You need to be a member of the following groups to upload code to an Arduino microcontroller over the USB or serial ports:\n$missing_groups" --ok-label='Add' --cancel-label='Ignore'; then
+        pkexec /usr/libexec/arduino-add-groups \
+        && zenity --title=Arduino --window-icon=/usr/share/icons/hicolor/16x16/apps/arduino.png --info --text "You must log out and log in again before any changes will take effect."
+    fi
+fi

-LD_LIBRARY_PATH=$APPDIR/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
-export LD_LIBRARY_PATH
+. /usr/share/java-utils/java-functions

-export PATH="${APPDIR}/java/bin:${PATH}"
+MAIN_CLASS=processing.app.Base

-export JAVA_TOOL_OPTIONS=`echo $JAVA_TOOL_OPTIONS | sed 's|-javaagent:/usr/share/java/jayatanaag.jar||g'`
+set_classpath apache-commons-codec apache-commons-compress apache-commons-exec \
+apache-commons-lang3 apache-commons-logging apache-commons-net bcpg bcprov \
+jackson-core jackson-databind jackson-modules-base jmdns jsch jsemver jssc \
+guava objectweb-asm jackson-annotations \
+jakarta-commons-httpclient rsyntaxtextarea

-JAVA=java
-if [ -x "$APPDIR/java/bin/java" ]; then
-  JAVA=$APPDIR/java/bin/java
-fi
+for lib in /usr/share/arduino/*.jar; do
+    CLASSPATH="$CLASSPATH:$lib"
+done

-# Collect options to java in an array, to properly handle whitespace in options
-JAVA_OPTIONS=("-DAPP_DIR=$APPDIR" "-Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel")
+set_flags -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel $SPLASH

 if [[ "$@" != *"--upload"* && "$@" != *"--verify"* && "$@" != *"--get-pref"* && "$@" != *"--install-board"* && "$@" != *"--install-library"* ]] ; then
-	JAVA_OPTIONS+=("-splash:$APPDIR/lib/splash.png")
+  SPLASH="-splash:/usr/share/arduino/lib/splash.png"
 fi

-"$JAVA" "${JAVA_OPTIONS[@]}" processing.app.Base "$@"
+cd /usr/share/arduino

+run "$@"