#!/bin/sh APP=kdegames REPO="ivan-hc/KDE-games-suite-appimage" # CREATE THE FOLDER mkdir /opt/$APP cd /opt/$APP # ADD THE REMOVER echo '#!/bin/sh' >> /opt/$APP/remove echo "rm -R -f /usr/share/applications/AM-$APP*.desktop /opt/$APP /usr/local/bin/$APP" >> /opt/$APP/remove chmod a+x /opt/$APP/remove # DOWNLOAD THE ARCHIVE mkdir tmp cd ./tmp version=$(curl -Ls https://api.github.com/repos/$REPO/releases | jq '.' | grep -w -v i386 | grep -w -v i686 | grep -w -v aarch64 | grep -w -v arm64 | grep -w -v armv7l | grep browser_download_url | grep -i appimage | cut -d '"' -f 4 | head -1) wget $version echo "$version" >> /opt/$APP/version cd .. mv ./tmp/*mage ./$APP chmod a+x /opt/$APP/$APP rmdir ./tmp # LINK cat >> /usr/local/bin/$APP << 'EOF' #!/bin/sh APP=kdegames export QT_QPA_PLATFORMTHEME=$QT_QPA_PLATFORMTHEME export QT_FONT_DPI=96 $APP "$*" EOF chmod a+x /usr/local/bin/$APP # SCRIPT TO UPDATE THE PROGRAM cat >> /opt/$APP/AM-updater << 'EOF' #!/usr/bin/env bash APP=kdegames REPO="ivan-hc/KDE-games-suite-appimage" version0=$(cat /opt/$APP/version) version=$(curl -Ls https://api.github.com/repos/$REPO/releases | jq '.' | grep -w -v i386 | grep -w -v i686 | grep -w -v aarch64 | grep -w -v arm64 | grep -w -v armv7l | grep browser_download_url | grep -i appimage | cut -d '"' -f 4 | head -1) if [ $version = $version0 ]; then echo "Update not needed!" else notify-send "A new version of $APP is available, please wait" mkdir /opt/$APP/tmp cd /opt/$APP/tmp wget $version if ls . | grep mage; then cd .. if test -f ./tmp/*mage; then rm ./version fi echo $version >> ./version mv --backup=t ./tmp/*mage ./$APP chmod a+x /opt/$APP/$APP rm -R -f ./tmp ./*~ fi notify-send "$APP is updated!" fi EOF chmod a+x /opt/$APP/AM-updater # LAUNCHERS AND ICONS mkdir icons ./kdegames --appimage-extract ".junest/usr/share/icons/hicolor/128x128/apps/*" > /dev/null ./kdegames --appimage-extract ".junest/usr/share/applications/*" > /dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*bomber* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*bovo* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*granatier* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kajongg* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kapman* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*katomic* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kblackbox* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kblocks* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kbounce* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kbreakout* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kdiamond* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kfourinline* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kgoldrunner* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kigo* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*killbots* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kiriki* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kjumpingcube* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*klickety* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*klines* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kmahjongg* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kmines* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*knavalbattle* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*knetwalk* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*knights* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kolf* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kollision* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*konquest* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kpat* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kreversi* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kshisen* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*ksirk* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*ksnakeduel* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kspaceduel* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*ksquares* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*ksudoku* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*ktuberling* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*kubrick* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*lskat* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*palapeli* /opt/$APP/icons/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*picmi* /opt/$APP/icons/ 2>/dev/null cd /opt/$APP/icons for file in *.png; do mv -- "$file" "${file%%.png}"; done cd .. mkdir /opt/$APP/launchers cp ./squashfs-root/.junest/usr/share/applications/*bomber* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*bovo* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*granatier* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kajongg* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kapman* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*katomic* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kblackbox* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kblocks* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kbounce* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kbreakout* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kdiamond* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kfourinline* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kgoldrunner* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kigo* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*killbots* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kiriki* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kjumpingcube* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*klickety* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*klines* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kmahjongg* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kmines* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*knavalbattle* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*knetwalk* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*knights* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kolf* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kollision* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*konquest* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kpat* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kreversi* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kshisen* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*ksirk* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*ksnakeduel* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kspaceduel* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*ksquares* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*ksudoku* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*ktuberling* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*kubrick* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*lskat* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*palapeli* /opt/$APP/launchers/ 2>/dev/null cp ./squashfs-root/.junest/usr/share/applications/*picmi* /opt/$APP/launchers/ 2>/dev/null cd /opt/$APP/launchers for file in *; do mv ./$file ./AM-$APP-$file done sed -i "s#Exec=#Exec=/opt/kdegames/kdegames #g" /opt/$APP/launchers/*.desktop sed -i "s#Icon=#Icon=/opt/kdegames/icons/#g" /opt/$APP/launchers/*.desktop cp /opt/$APP/launchers/*.desktop /usr/share/applications/ rm -R -f /opt/$APP/launchers rm -R -f /opt/$APP/squashfs-root