/ programs / aarch64 / 86box
86box
  1  #!/bin/sh
  2  
  3  APP=86box
  4  REPO="86Box/86Box"
  5  
  6  # CREATE THE FOLDER
  7  mkdir /opt/$APP
  8  cd /opt/$APP
  9  
 10  # ADD THE REMOVER
 11  echo '#!/bin/sh' >> /opt/$APP/remove
 12  echo "rm -R -f /usr/local/share/applications/$APP-AM.desktop /opt/$APP /usr/local/bin/$APP" >> /opt/$APP/remove
 13  chmod a+x /opt/$APP/remove
 14  
 15  # DOWNLOAD THE ARCHIVE
 16  mkdir tmp
 17  cd ./tmp
 18  
 19  version=$(curl -Ls https://api.github.com/repos/$REPO/releases | grep -i arm64 | grep browser_download_url | grep -i appimage | cut -d '"' -f 4 | head -1)
 20  wget $version
 21  echo "$version" >> /opt/$APP/version
 22  cd ..
 23  mv ./tmp/*mage ./$APP
 24  chmod a+x /opt/$APP/$APP
 25  rmdir ./tmp
 26  
 27  # LINK
 28  ln -s /opt/$APP/$APP /usr/local/bin/$APP
 29  
 30  # SCRIPT TO UPDATE THE PROGRAM
 31  cat >> /opt/$APP/AM-updater << 'EOF'
 32  #!/usr/bin/env bash
 33  APP=86box
 34  REPO="86Box/86Box"
 35  version0=$(cat /opt/$APP/version)
 36  version=$(curl -Ls https://api.github.com/repos/$REPO/releases | grep -i arm64 | grep browser_download_url | grep -i appimage | cut -d '"' -f 4 | head -1)
 37  if [ $version = $version0 ]; then
 38    echo "Update not needed!"
 39  else
 40    notify-send "A new version of $APP is available, please wait"
 41    mkdir /opt/$APP/tmp
 42    cd /opt/$APP/tmp
 43    wget $version
 44    if ls . | grep mage; then
 45  	cd ..
 46    	if test -f ./tmp/*mage; then rm ./version
 47    	fi
 48    	echo $version >> ./version
 49    	mv --backup=t ./tmp/*mage ./$APP
 50    	chmod a+x /opt/$APP/$APP
 51    	rm -R -f ./tmp ./*~
 52    fi
 53    notify-send "$APP is updated!"
 54  fi
 55  EOF
 56  chmod a+x /opt/$APP/AM-updater
 57  
 58  # LAUNCHER & ICON
 59  app=$(echo $APP | cut -c -3)
 60  cd /opt/$APP
 61  ./$APP --appimage-extract *.desktop 1>/dev/null
 62  ./$APP --appimage-extract share/applications/*.desktop 1>/dev/null
 63  ./$APP --appimage-extract usr/share/applications/*.desktop 1>/dev/null
 64  mv squashfs-root/*.desktop ./$APP.desktop
 65  mv squashfs-root/share/applications/*.desktop ./$APP.desktop
 66  mv squashfs-root/usr/share/applications/*.desktop ./$APP.desktop
 67  if [ ! -e ./$APP.desktop ]; then 
 68  	rm ./$APP.desktop; ./$APP --appimage-extract usr/share/applications/*$app*.desktop 
 69  	mv squashfs-root/usr/share/applications/*.desktop ./$APP.desktop
 70  fi
 71  if [ ! -e ./$APP.desktop ]; then 
 72  	rm ./$APP.desktop; ./$APP --appimage-extract share/applications/*$app*.desktop 1>/dev/null
 73  	mv squashfs-root/share/applications/*.desktop ./$APP.desktop
 74  fi
 75  CHANGEEXEC=$(cat ./$APP.desktop | grep Exec= | tr ' ' '\n' | tr '=' '\n' | tr '/' '\n' | grep $app | head -1)
 76  sed -i "s#$CHANGEEXEC#$APP#g" ./$APP.desktop
 77  sed -i "s#AppRun#$APP#g" ./$APP.desktop
 78  sed -i "s#Exec=/bin/#Exec=#g" ./$APP.desktop
 79  sed -i "s#Exec=/usr/bin/#Exec=#g" ./$APP.desktop
 80  CHANGEICON=$(cat ./$APP.desktop | grep Icon= | head -1)
 81  sed -i "s#$CHANGEICON#Icon=/opt/$APP/icons/$APP#g" ./$APP.desktop
 82  
 83  mkdir icons
 84  ./$APP --appimage-extract *.png 2>&1 | grep -v "squashfs-root"; mv ./squashfs-root/*$app* ./icons/$APP 2>/dev/null
 85  ./$APP --appimage-extract *.svg 2>&1 | grep -v "squashfs-root"; mv ./squashfs-root/*$app* ./icons/$APP 2>/dev/null
 86  ./$APP --appimage-extract share/icons/*/*/* 1>/dev/null
 87  ./$APP --appimage-extract usr/share/icons/*/*/* 1>/dev/null
 88  ./$APP --appimage-extract share/icons/*/*/*/* 1>/dev/null
 89  ./$APP --appimage-extract usr/share/icons/*/*/*/* 1>/dev/null
 90  mv ./squashfs-root/share/icons/hicolor/22x22/apps/*$app* ./icons/$APP 2>/dev/null
 91  mv ./squashfs-root/share/icons/hicolor/24x24/apps/*$app* ./icons/$APP 2>/dev/null
 92  mv ./squashfs-root/share/icons/hicolor/32x32/apps/*$app* ./icons/$APP 2>/dev/null
 93  mv ./squashfs-root/share/icons/hicolor/48x48/apps/*$app* ./icons/$APP 2>/dev/null
 94  mv ./squashfs-root/share/icons/hicolor/64x64/apps/*$app* ./icons/$APP 2>/dev/null
 95  mv ./squashfs-root/share/icons/hicolor/128x128/apps/*$app* ./icons/$APP 2>/dev/null
 96  mv ./squashfs-root/share/icons/hicolor/256x256/apps/*$app* ./icons/$APP 2>/dev/null
 97  mv ./squashfs-root/share/icons/hicolor/512x512/apps/*$app* ./icons/$APP 2>/dev/null
 98  mv ./squashfs-root/share/icons/hicolor/scalable/apps/*$app* ./icons/$APP 2>/dev/null
 99  mv ./squashfs-root/usr/share/icons/hicolor/22x22/apps/*$app* ./icons/$APP 2>/dev/null
100  mv ./squashfs-root/usr/share/icons/hicolor/24x24/apps/*$app* ./icons/$APP 2>/dev/null
101  mv ./squashfs-root/usr/share/icons/hicolor/32x32/apps/*$app* ./icons/$APP 2>/dev/null
102  mv ./squashfs-root/usr/share/icons/hicolor/48x48/apps/*$app* ./icons/$APP 2>/dev/null
103  mv ./squashfs-root/usr/share/icons/hicolor/64x64/apps/*$app* ./icons/$APP 2>/dev/null
104  mv ./squashfs-root/usr/share/icons/hicolor/128x128/apps/*$app* ./icons/$APP 2>/dev/null
105  mv ./squashfs-root/usr/share/icons/hicolor/256x256/apps/*$app* ./icons/$APP 2>/dev/null
106  mv ./squashfs-root/usr/share/icons/hicolor/512x512/apps/*$app* ./icons/$APP 2>/dev/null
107  mv ./squashfs-root/usr/share/icons/hicolor/scalable/apps/*$app* ./icons/$APP 2>/dev/null
108  
109  rm -R -f /opt/$APP/squashfs-root
110  mv ./$APP.desktop /usr/local/share/applications/$APP-AM.desktop