CentOS 安裝 SVN1.7.7

CentOS默認的yum --install subversion ,安裝的是1.6版本

安裝1.7腳本爲:

#!/bin/bash  
   
  
echo WANdisco Subversion Installer for CentOS 5  
echo Please report bugs or feature suggestions to [email protected]  
echo   
echo Gathering some information about your system...  
  
MINVERSION='2'  
SVNVER='1.7.7'  
NOW=$(date +"%b-%d-%y%s")  
  
#functions  
gather_info () {  
    ARCH=`uname -m`  
    SVNSTATUS=`rpm -qa|grep ^subversion-[0-9]|awk 'BEGIN { FS = "-" } ; { print $1 }'`  
}  
check_tools () {  
        COMMANDS="yum wget rpm"  
        for C in $COMMANDS; do  
                if [ -z "$(which $C)" ] ; then  
                        echo "This installer uses the $C command which was not found in \$PATH."  
            exit 1  
                fi  
        done  
}  
  
check_centos_version ()  
{  
       if [ ! -e /etc/redhat-release ]; then  
                echo "No /etc/redhat-release file, exiting"  
                echo "You are most likely not using CentOS."  
                echo "Installers for other operating systems are available from our downloads page:"  
                echo "http://www.wandisco.com/subversion/download"  
        echo "Exiting.."  
                exit 1  
        fi;  
    cat /etc/redhat-release |grep -e 5.[0-9]  
    if [ $? == 0 ]; then  
        echo "CentOS version 5.x confirmed.."  
    else  
                echo "You are most likely using an incompatible version of CentOS."  
        echo "This installer is made for CentOS 5.x"  
                echo "Installers for other operating systems are available from our downloads page:"  
                echo "http://www.wandisco.com/subversion/download"  
                exit 1  
    fi;  
}  
  
  
check_is_root ()  
{  
    if [[ $EUID -ne 0 ]]; then  
        echo "This script must be run as root" 1>&2  
        exit 1  
    fi    
}  
svn_remove_old ()  
{  
    if [ -f /etc/httpd/conf.d/subversion.conf ]; then  
        echo Backing up /etc/httpd/conf.d/subversion.conf to /etc/httpd/conf.d/subversion.conf.backup-$NOW  
        cp /etc/httpd/conf.d/subversion.conf /etc/httpd/subversion.conf.backup-$NOW  
    fi  
    echo Removing old packages...  
    yum -y remove mod_dav_svn subversion subversion-devel subversion-perl subversion-python subversion-tools &>/dev/null  
}  
add_repo_config ()  
{  
        echo Adding repository configuration to /etc/yum.repos.d/  
        echo '  
# WANdisco Repo  
  
[WANdisco-dev]  
name=WANdisco SVN Repo 1.7  
enabled=1  
baseurl=http://opensource.wandisco.com/centos/5/devel/RPMS/$basearch/  
gpgcheck=1  
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco' >/etc/yum.repos.d/WANdisco-1.7.repo       
    echo "Importing GPG key"  
    wget http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco -O /tmp/RPM-GPG-KEY-WANdisco &>/dev/null  
    rpm --import /tmp/RPM-GPG-KEY-WANdisco  
    rm -rf /tmp/RPM-GPG-KEY-WANdisco  
    echo " ------ Installing yum repo: Done ------"   
}  
install_svn ()  
{  
        echo Checking to see if you already have Subversion installed via rpm...  
        if [[ "$SVNSTATUS" =~ subversion ]]; then  
            echo Subversion is already installed on the system.  
            echo Do you wish to replace the version of subversion currently installed with the WANdisco version?   
        echo This action will remove the previous version from your system   
        echo "[y/n]"  
        read svn_install_confirm  
        if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then  
            svn_remove_old  
            add_repo_config  
            echo          
            echo Installing Subversion $SVNVER  
            echo  
            yum -y install subversion.$ARCH subversion-perl.$ARCH subversion-python.$ARCH subversion-javahl.$ARCH subversion-tools.$ARCH  
            echo Would you like to install apache and the apache SVN modules?  
            echo "[y/n]"  
            read dav_svn_confirm  
            if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then  
                echo Installing apache and subversion modules  
                yum -y install mod_dav_svn.$ARCH httpd  
                echo "Installation complete."  
                echo "You can find the subversion configuration file for apache HTTPD at /etc/httpd/conf.d/subversion.conf"  
                echo "By default, the modules are commented out in subversion.conf."  
                echo "To enable the modules, please edit subversion.conf and remove the # infront of the LoadModule lines."  
                echo "You should then restart httpd (/etc/init.d/httpd restart)"  
            fi  
              
            else  
            echo "Install Cancelled"  
            exit 1  
        fi  
  
    else  
        # Install SVN  
        echo "Subversion is not currently installed"  
        echo "Starting installation, are you sure you wish to continue?"  
        echo "[y/n]"  
        read svn_install_confirm  
                if [ "$svn_install_confirm" == "y" -o "$svn_install_confirm" == "Y" ]; then  
            add_repo_config  
                        echo  
                        echo Installing Subversion $SVNVER  
                        echo  
            yum -y install subversion.$ARCH subversion-perl.$ARCH subversion-python.$ARCH subversion-tools.$ARCH  
                        echo Would you like to install apache HTTPD and the apache SVN modules?  
            echo "[y/n]"  
                        read dav_svn_confirm  
                        if [ "$dav_svn_confirm" == "y" -o "$dav_svn_confirm" == "Y" ]; then  
                                echo Installing apache and subversion modules  
                yum -y install mod_dav_svn.$ARCH httpd  
                                echo "Installation complete."  
                                echo "You can find the subversion configuration file for apache HTTPD at /etc/httpd/conf.d/subversion.conf"  
                                echo "By default, the modules are commented out in subversion.conf."  
                                echo "To enable the modules, please edit subversion.conf and remove the # infront of the LoadModule lines."  
                                echo "You should then restart httpd (/etc/init.d/httpd restart)"  
                        fi  
  
                else  
                        echo "Install Cancelled"  
                        exit 1  
                fi  
          
        fi  
      
}  
  
install_32 ()  
{  
        echo Installing for $ARCH  
    install_svn  
}  
install_64 ()  
{  
        echo Installing for $ARCH  
    install_svn  
}  
  
#Main  
check_is_root  
check_centos_version  
check_tools  
gather_info  
  
echo Checking your system arch  
if [ "$ARCH" == "i686" -o "$ARCH" == "i386" ]; then  
    if [ "$ARCH" == "i686" ]; then  
        ARCH="i386"  
    fi;  
    install_32  
elif [ "$ARCH" == "x86_64" ];  
then  
    install_64  
else   
    echo Unsupported platform: $ARCH  
    exit 1  
fi  


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章