#!/bin/sh APP=deadbeef SITE="https://deadbeef.sourceforge.io" # CREATE DIRECTORIES if [ -z "$APP" ]; then exit 1; fi mkdir -p "/opt/$APP/tmp" "/opt/$APP/icons" && cd "/opt/$APP/tmp" || exit 1 # ADD THE REMOVER echo "#!/bin/sh rm -f /usr/share/applications/AM-$APP.desktop /usr/local/bin/$APP rm -R -f /opt/$APP" >> "/opt/$APP/remove" chmod a+x "/opt/$APP/remove" # DOWNLOAD AND PREPARE THE APP # $version is also used for updates version=$(curl -Ls https://deadbeef.sourceforge.io/download.html | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | sort -u | grep "tar.bz" | grep static) wget "$version" -O download.tar.bz2 echo "$version" >> "/opt/$APP/version" tar fx ./*tar*; rm -f -R ./*tar* cd .. mv --backup=t ./tmp/*/* ./ rm -R -f ./tmp # LINK ln -s "/opt/$APP/$APP" "/usr/local/bin/$APP" chmod a+x "/opt/$APP/$APP" # SCRIPT TO UPDATE THE PROGRAM cat >> /opt/$APP/AM-updater << 'EOF' #!/bin/sh APP=deadbeef version0=$(cat /opt/$APP/version) version=$(curl -Ls https://deadbeef.sourceforge.io/download.html | grep -Eo "(http|https)://[a-zA-Z0-9./?=_%:-]*" | sort -u | grep "tar.bz" | grep static) 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" || exit 1 wget $version -O download.tar.bz2 tar fx ./*tar*; rm -f -R ./*tar* cd .. mv --backup=t ./tmp/*/* ./ rm ./version echo "$version" >> ./version rm -R -f ./tmp ./*~ notify-send "$APP is updated!" fi EOF chmod a+x "/opt/$APP/AM-updater" # DESKTOP & ICON DESKTOP="https://raw.githubusercontent.com/DeaDBeeF-Player/deadbeef/master/deadbeef.desktop.in" ICON="https://raw.githubusercontent.com/DeaDBeeF-Player/deadbeef/master/icons/scalable/deadbeef.svg" wget "$DESKTOP" -O ./"$APP".desktop 2>/dev/null && wget "$ICON" -O ./deadbeef.svg 2>/dev/null sed -i "s#Exec=[^ ]*#Exec=$APP#g; s#Icon=.*#Icon=/opt/$APP/icons/$APP#g" ./"$APP".desktop mv ./"$APP".desktop /usr/share/applications/AM-"$APP".desktop && mv ./deadbeef.svg ./icons/"$APP" 2>/dev/null