From d0c3e5006de45143fa4a16a003d5de1e31005910 Mon Sep 17 00:00:00 2001 From: Peter Stevenson <2E0PGS@gmail.com> Date: Sat, 5 May 2018 16:00:15 +0100 Subject: [PATCH 1/3] Add symlink creation and removal lines. This will need sudoers password. --- build/linux/dist/install.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/build/linux/dist/install.sh b/build/linux/dist/install.sh index e4bd8b6338e..fc2dec0fbbe 100755 --- a/build/linux/dist/install.sh +++ b/build/linux/dist/install.sh @@ -66,6 +66,9 @@ xdg_install_f() { # Make Arduino IDE the default application for *.ino xdg-mime default ${RESOURCE_NAME}.desktop text/x-arduino + # Add symlink for arduino so it's in users path + sudo ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino + # Clean up rm "${TMP_DIR}/${RESOURCE_NAME}.desktop" rmdir "$TMP_DIR" @@ -98,6 +101,9 @@ simple_install_f() { chmod u+x "${XDG_DESKTOP_DIR}/${RESOURCE_NAME}.desktop" fi + # Add symlink for arduino so it's in users path + sudo ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino + # Clean up temp dir rm "${TMP_DIR}/${RESOURCE_NAME}.desktop" rmdir "${TMP_DIR}" @@ -138,6 +144,9 @@ xdg_uninstall_f() { # Remove Arduino MIME type xdg-mime uninstall "${SCRIPT_PATH}/lib/${RESOURCE_NAME}.xml" + # Remove symlink for arduino + sudo rm /usr/local/bin/arduino + } # Uninstall by simply removing desktop files (fallback), incl. old one @@ -169,6 +178,9 @@ simple_uninstall_f() { rm "${XDG_DESKTOP_DIR}/${RESOURCE_NAME}.desktop" fi + # Remove symlink for arduino + sudo rm /usr/local/bin/arduino + } # Update desktop file and mime databases (if possible) From f056137924010259524b1095058f2e0e7e69523c Mon Sep 17 00:00:00 2001 From: Peter Stevenson <2E0PGS@gmail.com> Date: Sat, 5 May 2018 16:08:25 +0100 Subject: [PATCH 2/3] Ensure password request message goes on new line. --- build/linux/dist/install.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build/linux/dist/install.sh b/build/linux/dist/install.sh index fc2dec0fbbe..0001f483285 100755 --- a/build/linux/dist/install.sh +++ b/build/linux/dist/install.sh @@ -67,6 +67,7 @@ xdg_install_f() { xdg-mime default ${RESOURCE_NAME}.desktop text/x-arduino # Add symlink for arduino so it's in users path + echo "" # Ensure password request message is on new line sudo ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino # Clean up @@ -102,6 +103,7 @@ simple_install_f() { fi # Add symlink for arduino so it's in users path + echo "" # Ensure password request message is on new line sudo ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino # Clean up temp dir @@ -145,6 +147,7 @@ xdg_uninstall_f() { xdg-mime uninstall "${SCRIPT_PATH}/lib/${RESOURCE_NAME}.xml" # Remove symlink for arduino + echo "" # Ensure password request message is on new line sudo rm /usr/local/bin/arduino } @@ -179,6 +182,7 @@ simple_uninstall_f() { fi # Remove symlink for arduino + echo "" # Ensure password request message is on new line sudo rm /usr/local/bin/arduino } From 69c5765398f0404adb8831ac562f1631b0fcd9e8 Mon Sep 17 00:00:00 2001 From: Peter Stevenson <2E0PGS@gmail.com> Date: Wed, 23 May 2018 12:30:46 +0100 Subject: [PATCH 3/3] Display a more user friendly error if script isn't ran as root. symlink. --- build/linux/dist/install.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/build/linux/dist/install.sh b/build/linux/dist/install.sh index 0001f483285..78cf8772d10 100755 --- a/build/linux/dist/install.sh +++ b/build/linux/dist/install.sh @@ -68,7 +68,9 @@ xdg_install_f() { # Add symlink for arduino so it's in users path echo "" # Ensure password request message is on new line - sudo ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino + if ! ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino; then + echo "Adding symlink failed. Hope that's OK. If not then rerun as root with sudo." + fi # Clean up rm "${TMP_DIR}/${RESOURCE_NAME}.desktop" @@ -104,7 +106,9 @@ simple_install_f() { # Add symlink for arduino so it's in users path echo "" # Ensure password request message is on new line - sudo ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino + if ! ln -s ${SCRIPT_PATH}/arduino /usr/local/bin/arduino; then + echo "Adding symlink failed. Hope that's OK. If not then rerun as root with sudo." + fi # Clean up temp dir rm "${TMP_DIR}/${RESOURCE_NAME}.desktop" @@ -148,7 +152,9 @@ xdg_uninstall_f() { # Remove symlink for arduino echo "" # Ensure password request message is on new line - sudo rm /usr/local/bin/arduino + if ! rm /usr/local/bin/arduino; then + echo "Removing symlink failed. Hope that's OK. If not then rerun as root with sudo." + fi } @@ -183,7 +189,9 @@ simple_uninstall_f() { # Remove symlink for arduino echo "" # Ensure password request message is on new line - sudo rm /usr/local/bin/arduino + if ! rm /usr/local/bin/arduino; then + echo "Removing symlink failed. Hope that's OK. If not then rerun as root with sudo." + fi }