171 lines
3.8 KiB
Bash
Executable File
171 lines
3.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to install Spotify on Debian/Ubuntu
|
|
# Created by clamsawd (clamsawd@openmailbox.org)
|
|
# Licensed by GPL v.2
|
|
# Last update: 19-09-2015
|
|
# --------------------------------------
|
|
VERSION=0.1
|
|
SPOTIFY_VERSION=`spotify --version | cut -d "," -f 1`
|
|
URL_SPOTIFY="http://repository.spotify.com/pool/non-free/s/spotify-client"
|
|
|
|
#Check if user is root
|
|
user=$(whoami)
|
|
if [ "$user" == "root" ] ; then
|
|
echo "OK" > /dev/null
|
|
else
|
|
echo "You must be root!"
|
|
exit 0
|
|
fi
|
|
|
|
#Check name of kernel
|
|
KERNEL=$(uname -s)
|
|
if [ $KERNEL == "Linux" ]; then
|
|
KERNEL=linux
|
|
else
|
|
echo "OS not supported ($KERNEL)"
|
|
exit 0
|
|
fi
|
|
|
|
#Check if your system is Debian or Ubuntu
|
|
CHECK_SYSTEM=`uname -a`
|
|
CHECK_DEBIAN=`uname -a | grep "Debian"`
|
|
CHECK_UBUNTU=`uname -a | grep "Ubuntu"`
|
|
|
|
clear
|
|
echo ""
|
|
echo "Spotify installer ($VERSION)"
|
|
echo ""
|
|
|
|
if [ "$CHECK_SYSTEM" == "$CHECK_DEBIAN" ]; then
|
|
echo "$CHECK_DEBIAN"
|
|
elif [ "$CHECK_SYSTEM" == "$CHECK_UBUNTU" ]; then
|
|
echo "$CHECK_UBUNTU"
|
|
else
|
|
echo "Your system is not Debian or Ubuntu!"
|
|
echo -n "(Default: n) Continue anyway? (y/n): " ; read CONTINUE
|
|
if [ "$CONTINUE" == "y" ]; then
|
|
echo "$CONTINUE"
|
|
else
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
#Check 'curl' in your system.
|
|
curl --help > /dev/null
|
|
if [ "$?" -eq 0 ] ; then
|
|
echo "curl OK"
|
|
clear
|
|
else
|
|
apt-get update
|
|
apt-get install curl -y
|
|
fi
|
|
#Check 'wget' in your system
|
|
wget --help > /dev/null
|
|
if [ "$?" -eq 0 ] ; then
|
|
echo "wget OK"
|
|
clear
|
|
else
|
|
apt-get update
|
|
apt-get install wget -y
|
|
fi
|
|
#Check 'gdebi' in your system
|
|
gdebi --help > /dev/null
|
|
if [ "$?" -eq 0 ] ; then
|
|
echo "gdebi OK"
|
|
clear
|
|
else
|
|
apt-get update
|
|
apt-get install gdebi -y
|
|
fi
|
|
|
|
#Get the current versions of Spotify
|
|
SPOTIFY_32=`curl $URL_SPOTIFY/ | cut -d ">" -f 2 | cut -d "<" -f 1 | grep i386`
|
|
SPOTIFY_64=`curl $URL_SPOTIFY/ | cut -d ">" -f 2 | cut -d "<" -f 1 | grep amd64`
|
|
if [ $? -eq 0 ] ; then
|
|
echo "Connection OK" > /dev/null
|
|
else
|
|
clear
|
|
echo ""
|
|
echo "Error: Failed to obtain the required information from the server!"
|
|
echo "Connection Fail!"
|
|
echo ""
|
|
exit
|
|
fi
|
|
|
|
#Menu
|
|
MENU_VARIABLE=1
|
|
while [ $MENU_VARIABLE -le 2 ] ; do
|
|
clear
|
|
echo ""
|
|
echo "Spotify installer ($VERSION)"
|
|
echo ""
|
|
echo "Installed: $SPOTIFY_VERSION"
|
|
echo ""
|
|
echo "Available packages:"
|
|
echo ""
|
|
echo "(1) $SPOTIFY_32 (32-bits)"
|
|
echo "(2) $SPOTIFY_64 (64-bits)"
|
|
echo ""
|
|
echo "(q) - quit"
|
|
echo ""
|
|
echo -n "(Default: autodetect) Choose an option; " ; read PACKAGE
|
|
if [ "${PACKAGE:-NO_VALUE}" == "NO_VALUE" ] ; then
|
|
|
|
# Detect the arch of the system if variable
|
|
# 'PACKAGE' is empty.
|
|
archs=`uname -m`
|
|
case "$archs" in
|
|
i?86)
|
|
cd /tmp/
|
|
wget -c $URL_SPOTIFY/$SPOTIFY_32
|
|
gdebi $SPOTIFY_32
|
|
rm -rf $SPOTIFY_32
|
|
echo "Exiting..."
|
|
MENU_VARIABLE=3
|
|
;;
|
|
x86_64)
|
|
cd /tmp/
|
|
wget -c $URL_SPOTIFY/$SPOTIFY_64
|
|
gdebi $SPOTIFY_64
|
|
rm -rf $SPOTIFY_64
|
|
echo "Exiting..."
|
|
MENU_VARIABLE=3
|
|
;;
|
|
*)
|
|
echo "Unsupported Arquitecture ($archs)"
|
|
exit 0
|
|
esac
|
|
|
|
elif [ "$PACKAGE" == "1" -o "$PACKAGE" == "32" ] ; then
|
|
cd /tmp/
|
|
wget -c $URL_SPOTIFY/$SPOTIFY_32
|
|
gdebi $SPOTIFY_32
|
|
rm -rf $SPOTIFY_32
|
|
echo "Exiting..."
|
|
MENU_VARIABLE=3
|
|
|
|
elif [ "$PACKAGE" == "2" -o "$PACKAGE" == "64" ] ; then
|
|
cd /tmp/
|
|
wget -c $URL_SPOTIFY/$SPOTIFY_64
|
|
gdebi $SPOTIFY_64
|
|
rm -rf $SPOTIFY_64
|
|
echo "Exiting..."
|
|
MENU_VARIABLE=3
|
|
|
|
elif [ "$PACKAGE" == "q" -o "$PACKAGE" == "quit" ] ; then
|
|
echo "Exiting..."
|
|
MENU_VARIABLE=3
|
|
|
|
else
|
|
clear
|
|
echo ""
|
|
echo "Invalid option, please, choose any available arch"
|
|
echo ""
|
|
echo "Press 'ENTER' to return"
|
|
read NOOPTION
|
|
fi
|
|
done
|
|
|
|
|