#!/bin/sh # AM INSTALL SCRIPT VERSION 3.5 set -u APP=kdegames SITE="ivan-hc/KDE-games-suite-appimage"; METAPKG="bomber bovo granatier kajongg kapman katomic kblackbox kblocks kbounce kbreakout kdiamond kfourinline kgoldrunner kigo killbots kiriki kjumpingcube klickety klines kmahjongg kmines knavalbattle knetwalk knights kolf kollision konquest kpat kreversi kshisen ksirk ksnakeduel kspaceduel ksquares ksudoku ktuberling kubrick lskat palapeli picmi" # CREATE DIRECTORIES AND ADD REMOVER [ -n "$APP" ] && mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 printf "#!/bin/sh\nset -e\nrm -f /usr/local/bin/$APP\nrm -R -f /opt/$APP" > ../remove printf '\n%s' "rm -f /usr/local/share/applications/$APP-*-AM.desktop" >> ../remove chmod a+x ../remove || exit 1 # DOWNLOAD AND PREPARE THE APP, $version is also used for updates version=$(curl -Ls https://api.github.com/repos/ivan-hc/KDE-games-suite-appimage/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) wget "$version" || exit 1 # Keep this space in sync with other installation scripts # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. cd .. mv ./tmp/*mage ./"$APP" # Keep this space in sync with other installation scripts rm -R -f ./tmp || exit 1 echo "$version" > ./version chmod a+x ./"$APP" || exit 1 # LINK TO PATH ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" # SCRIPT TO UPDATE THE PROGRAM cat >> ./AM-updater << 'EOF' #!/bin/sh set -u APP=kdegames SITE="ivan-hc/KDE-games-suite-appimage" version0=$(cat "/opt/$APP/version") version=$(curl -Ls https://api.github.com/repos/ivan-hc/KDE-games-suite-appimage/releases | sed 's/[()",{} ]/\n/g' | grep -oi "https.*mage$" | grep -vi "i386\|i686\|aarch64\|arm64\|armv7l" | head -1) [ -n "$version" ] || { echo "Error getting link"; exit 1; } if command -v appimageupdatetool >/dev/null 2>&1; then cd "/opt/$APP" || exit 1 appimageupdatetool -Or ./"$APP" && chmod a+x ./"$APP" && echo "$version" > ./version && exit 0 fi if [ "$version" != "$version0" ]; then mkdir "/opt/$APP/tmp" && cd "/opt/$APP/tmp" || exit 1 notify-send "A new version of $APP is available, please wait" wget "$version" || exit 1 # Use tar fx ./*tar* here for example in this line in case a compressed file is downloaded. cd .. mv --backup=t ./tmp/*mage ./"$APP" chmod a+x ./"$APP" || exit 1 echo "$version" > ./version rm -R -f ./*zs-old ./*.part ./tmp ./*~ notify-send "$APP is updated!" else echo "Update not needed!" fi EOF chmod a+x ./AM-updater || exit 1 # LAUNCHERS AND ICONS ./kdegames --appimage-extract ".junest/usr/share/icons/hicolor/128x128/apps/*" > /dev/null ./kdegames --appimage-extract ".junest/usr/share/applications/*" > /dev/null for m in $METAPKG; do cp ./squashfs-root/.junest/usr/share/icons/hicolor/128x128/apps/*"$m"* /opt/"$APP"/icons/ 2>/dev/null done cd /opt/"$APP"/icons for file in *.png; do mv -- "$file" "${file%%.png}"; done cd .. mkdir /opt/"$APP"/launchers for m in $METAPKG; do cp ./squashfs-root/.junest/usr/share/applications/*"$m"* /opt/"$APP"/launchers/ 2>/dev/null done cd /opt/"$APP"/launchers for f in *; do mv "$f" "$APP-${f%.desktop}-AM.desktop"; 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 sed -i "s/^Name\(.*\)$/Name\1 [$APP]/" /opt/"$APP"/launchers/*.desktop cp /opt/"$APP"/launchers/*.desktop /usr/local/share/applications/ rm -R -f /opt/"$APP"/launchers rm -R -f /opt/"$APP"/squashfs-root