AM-SAMPLE-Anywhere-generic 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/sh
  2. APP=SAMPLE
  3. SITE="REPLACETHIS"
  4. # CREATE THE FOLDER
  5. mkdir /opt/$APP
  6. cd /opt/$APP
  7. # ADD THE REMOVER
  8. echo '#!/bin/sh' >> /opt/$APP/remove
  9. echo "rm -R -f /usr/share/applications/AM-$APP.desktop /opt/$APP /usr/local/bin/$APP" >> /opt/$APP/remove
  10. chmod a+x /opt/$APP/remove
  11. # DOWNLOAD THE ARCHIVE
  12. mkdir tmp
  13. cd ./tmp
  14. version=$(THISISTHEURL)
  15. wget $version
  16. echo "$version" >> /opt/$APP/version
  17. cd ..
  18. FUNCTION
  19. rm -R -f ./tmp
  20. # LINK
  21. ln -s /opt/$APP/$APP /usr/local/bin/$APP
  22. # SCRIPT TO UPDATE THE PROGRAM
  23. cat >> /opt/$APP/AM-updater << 'EOF'
  24. #!/usr/bin/env bash
  25. APP=SAMPLE
  26. version0=$(cat /opt/$APP/version)
  27. version=$(THISISTHEURL)
  28. if [ $version = $version0 ]; then
  29. echo "Update not needed!"
  30. else
  31. notify-send "A new version of $APP is available, please wait"
  32. mkdir /opt/$APP/tmp
  33. cd /opt/$APP/tmp
  34. wget $version
  35. cd ..
  36. FUNCTION
  37. rm ./version
  38. echo $version >> ./version
  39. rm -R -f ./tmp ./*~
  40. notify-send "$APP is updated!"
  41. fi
  42. EOF
  43. chmod a+x /opt/$APP/AM-updater
  44. # LAUNCHER & ICON
  45. app=$(echo $APP | cut -c -3)
  46. cd /opt/$APP
  47. mv ./*.desktop ./$APP.desktop 2>/dev/null
  48. CHANGEEXEC=$(cat ./$APP.desktop | grep Exec= | tr ' ' '\n' | tr '=' '\n' | tr '/' '\n' | grep $app | head -1)
  49. sed -i "s#$CHANGEEXEC#$APP#g" ./$APP.desktop
  50. sed -i "s#Exec=/bin/#Exec=#g" ./$APP.desktop
  51. sed -i "s#Exec=/usr/bin/#Exec=#g" ./$APP.desktop
  52. CHANGEICON=$(cat ./$APP.desktop | grep Icon= | head -1)
  53. sed -i "s#$CHANGEICON#Icon=/opt/$APP/icons/$APP#g" ./$APP.desktop
  54. mkdir icons
  55. mv ./*.svg ./icons/$APP 2>/dev/null
  56. mv ./*.png ./icons/$APP 2>/dev/null
  57. mv ./*$app*.png ./icons/$APP 2>/dev/null
  58. mv ./*128*.png ./icons/$APP 2>/dev/null
  59. mv ./*256*.png ./icons/$APP 2>/dev/null
  60. mv ./$APP.desktop /usr/share/applications/AM-$APP.desktop
  61. # CHANGE THE PERMISSIONS
  62. currentuser=$(who | awk '{print $1}')
  63. chown -R $currentuser /opt/$APP
  64. # MESSAGE
  65. echo "
  66. $APP is provided by $SITE
  67. "