1
0
mirror of https://github.com/elisspace/rtinst.git synced 2026-08-30 16:12:12 +00:00
Files
rtinst/rtupdate
2015-03-18 22:23:54 +00:00

130 lines
3.1 KiB
Bash

#!/bin/bash
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/bin:/sbin
RTFILE=/usr/local/bin/rt
home="/home/$SUDO_USER"
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
}
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]* ) return 0 ;;
[Nn]* ) exit ;;
* ) echo "Enter y or n";;
esac
done
}
if [ -z "$SUDO_USER" -o "$SUDO_USER" = "root" ]; then
echo "Must be run using sudo"
exit
fi
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
ask_version
confirm_answer
echo
echo "Installing $libvers/$rtvers"
if ! [ -x $RTFILE ]; then
get_scripts rt /usr/local/bin/rt
fi
cd $home
if [ -d source ]; then
cd source
else
mkdir source && cd source
fi
rm -r libtorrent* rtorrent*
echo "Fetching source files"
curl -# http://libtorrent.rakshasa.no/downloads/$libvers.tar.gz | tar xz
curl -# http://libtorrent.rakshasa.no/downloads/$rtvers.tar.gz | tar xz
echo "Compiling libtorrent"
cd $home/source/$libvers
./autogen.sh >> /dev/null 2>&1
./configure --prefix=/usr >> /dev/null 2>&1
make -j2 >> /dev/null 2>&1
make install >> /dev/null 2>&1
echo "Compiling rtorrent"
cd $home/source/$rtvers
./autogen.sh >> /dev/null 2>&1
./configure --prefix=/usr --with-xmlrpc-c >> /dev/null 2>&1
make -j2 >> /dev/null 2>&1
make install >> /dev/null 2>&1
ldconfig
cd /var/www/rutorrent/conf/users
user_list=*
for user in $user_list
do
echo "Restarting rtorrent for $user"
su $user -c 'rt restart >> /dev/null 2>&1'
done
cd $home
echo
echo "$libvers/$rtvers installed"
echo
echo "Your .rtorrent.rc file, and download, watch, and .session directories have not been altered in any way"