Files
rtinst/rtupdate
T
2014-09-30 00:57:40 +01:00

130 lines
3.3 KiB
Bash

#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/sbin
chkans=0
SERVERIP=$(ip a s eth0 | awk '/inet / {print$2}' | cut -d/ -f1)
RTFILE=/usr/local/bin/rt
installed() {
hash $1 2>/dev/null
}
get_scripts() {
local script_name=$1
local script_dest=$2
local no_err=1
local attempts=0
until [ $no_err = 0 ]
do
rm -f $script_name
wget --no-check-certificate https://raw.githubusercontent.com/arakasi72/rtinst/master/$script_name
no_err=$?
attempts=$(( $attempts + 1 ))
if [ $attempts = 20 ]
then
echo "There is a problem downloading the scripts. Please check your network or there may be an issue with the github website"
echo "If the Github website is down, you can try again later"
exit 1
fi
done
if ! [ -z "$script_dest" ]
then
mv -f $script_name $script_dest
fi
}
if [ "$LOGNAME" != "root" && ! -z "$SUDO_USER" ]
then
echo "Must be run from your primary user, with sudo"
exit 1
fi
ask_version() {
while true
do
echo "Select version to upgrade/downgrade to"
echo "1. libtorrent 0.13.2/rtorrent 0.9.2"
echo "2. libtorrent 0.13.3/rtorrent 0.9.3"
echo "3. libtorrent 0.13.4/rtorrent 0.9.4"
echo "4. Quit"
read -p "Select an option " answer
case $answer in [1] ) libvers="libtorrent-0.13.2" && rtvers="rtorrent-0.9.2" && return 0 ;;
[2] ) libvers="libtorrent-0.13.3" && rtvers="rtorrent-0.9.3" && return 0 ;;
[3] ) libvers="libtorrent-0.13.4" && rtvers="rtorrent-0.9.4" && return 0 ;;
[4] ) exit ;;
* ) echo "Enter 1-4";;
esac
done
}
confirm_answer() {
while true
do
read -p "Sure you wish to install $libvers/$rtvers? " answer
case $answer in [Yy]* ) chkans=1 && return 0 ;;
[Nn]* ) return 0 ;;
* ) echo "Enter y or n";;
esac
done
}
if ( installed rtorrent )
then
echo "rtorrent detected"
echo
else
echo "rtorrent NOT installed"
echo "This script is for upgrading/downgrading only, not for initial install"
exit 1
fi
while [ $chkans = 0 ]
do
ask_version
confirm_answer
done
echo
echo "Installing $libvers/$rtvers"
if ! [ -x $RTFILE ]
then
get_scripts rt /usr/local/bin/rt
chmod 755 /usr/local/bin/rt
fi
crontab -u $SUDO_USER -l | perl -nle 's/^([^#@])/# $1/;print' | crontab -u $SUDO_USER
rt stop
cd source
svn co https://svn.code.sf.net/p/xmlrpc-c/code/stable xmlrpc
curl http://libtorrent.rakshasa.no/downloads/$libvers.tar.gz | tar xz
curl http://libtorrent.rakshasa.no/downloads/$rtvers.tar.gz | tar xz
cd xmlrpc
./configure --prefix=/usr --enable-libxml2-backend --disable-libwww-client --disable-wininet-client --disable-abyss-server --disable-cgi-server
make
make install
cd ~/source/$libvers
./autogen.sh
./configure --prefix=/usr
make -j2
make install
cd ~/source/$rtvers
./autogen.sh
./configure --prefix=/usr --with-xmlrpc-c
make -j2
make install
ldconfig
sudo -u $SUDO_USER rt start
crontab -u $SUDO_USER -l | perl -nle 's/^#\s*([0-9*])/$1/;print' | crontab -u $SUDO_USER
echo
echo "$libvers/$rtvers installed"
echo
echo "Confirm at https://$SERVERIP/rutorrent"
echo
echo "Your .rtorrent.rc file, and download, watch, and .session directories have not been altered in any way"