OSDN Git Service

update install-eos.sh v2.3.28p0207
authorTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Mon, 16 Nov 2015 22:47:29 +0000 (07:47 +0900)
committerTakuo Yasunaga <yasunaga@bio.kyutech.ac.jp>
Mon, 16 Nov 2015 22:47:29 +0000 (07:47 +0900)
modified:   env/install-eos.sh

env/install-eos.sh

index 2b1b0a5..52b024b 100755 (executable)
 #### 
 WD=`pwd`
 
-
-if [ -z $EOS_HOME0 ] ; then
-       EOS_HOME0=$HOME/Eos
-fi
-
-echo "Set the directroy to be installed [$EOS_HOME0]: "; read ANS
-if [ ! -z $ANS ] ; then 
-       EOS_HOME0=$ANS;
-else 
-       EOS_HOME0=$HOME/Eos; 
-fi
-unset ANS
-echo "Directory: $EOS_HOME0";
+for arg in $@; do
+       case "$arg" in 
+               -h) 
+                       echo "$0 [ EOS_HOME0 [ EOS_GITUSER0 ] ]"; 
+                       echo "    EOS_HOME0    : directory name to be installed."; 
+                       echo "    EOS_GITUSER0 : OSDN account."; 
+                       exit 1;
+                       ;;
+               -*) echo "unsupported option $arg"; exit 1;;
+       esac
+done
+
+case $# in 
+       0)
+               if [ -z $EOS_HOME0 ] ; then
+                       EOS_HOME0=$HOME/Eos
+               fi
+               if [ -z $EOS_GITUSER0 ] ; then
+                       EOS_GITUSER0=$USER
+               fi
+               ;;
+       1)
+               export EOS_HOME0=$1
+               if [ -z $EOS_GITUSER0 ] ; then
+                       EOS_GITUSER0=$USER
+               fi
+               ;;
+       2)
+               export EOS_HOME0=$1
+               export EOS_GITUSER0=$2
+               ;;
+esac           
+
+function setEosHome0() {
+       #
+       # EOS_HOME0
+       #
+       echo "Set the directroy to be installed [$EOS_HOME0]: "; read ANS
+       if [ ! -z $ANS ] ; then 
+               EOS_HOME0=$ANS;
+       fi
+       unset ANS
+       echo "Directory: $EOS_HOME0";
+       return 1
+}
+
+function setEosGitUser0() {
+       #
+       # EOS_GITUSER0
+       #
+       echo "Do you have your git account for OSDN [Y|y or N|n] ?"; read ANS
+       case $ANS in 
+               N|n) 
+                       export EOS_GITUSER0=
+                       ;;
+               Y|y)
+                       unset ANS
+                       echo "Set the git account for OSDN [$EOS_GITUSER0]: "; read ANS 
+                       if [ ! -z $ANS ] ; then
+                               export EOS_GITUSER0=$ANS
+                       fi
+                       ;;
+               *)      
+                       echo "Please run install-eos.sh again!"
+                       exit 1
+                       ;;
+       esac
+       return 1
+}
+
+function surelyHome0andGitUser0() {
+       echo "Directory:   $EOS_HOME0"
+       if [ -z $EOS_GITUSER0 ] ; then
+               echo "GIT Account: NoAcount"
+       else 
+               echo "GIT Account: $EOS_GITUSER0"
+       fi
+       unset ANS
+       echo "Are these parameters OK [Y|y or N|n]? "; read ANS
+
+       case $ANS in
+               Y|y) 
+                       echo "Directory:   $EOS_HOME0"
+                       echo "GIT Account: $EOS_GITUSER0"
+                       ;;
+               *)
+                       echo "Please run $0 again!"
+                       exit
+                       ;;
+       esac
+       return 1 
+}
+
+case $# in
+       0)
+               setEosHome0
+               setEosGitUser0
+               ;;
+       1)      
+               setEosGitUser0
+               ;;
+       2)
+               ;;
+       *)
+               echo "Please run $0 again!"
+               exit
+               ;;
+esac
 
 #### No Change
 #ROOT_EOS_SOURCEFORGE=https://sourceforge.jp/projects/eos/scm/git/base/blobs/master/
 ROOT_EOS_OSDN_GIT=git://git.osdn.jp/gitroot/eos/base.git
 ROOT_EOS_OSDN_HTTP=http://scm.osdn.jp/gitroot/eos/base.git
-ROOT_EOS_OSDN_SSH=${EOS_GITUSER}@git.osdn.jp:/gitroot/eos/base.git
+ROOT_EOS_OSDN_SSH=${EOS_GITUSER0}@git.osdn.jp:/gitroot/eos/base.git
 ROOT_EOS_OSDN_HTTPS=https://scm.osdn.jp/gitroot/eos/base.git
 
+
 if [ ! -d $EOS_HOME0 ] ; then
        mkdir $EOS_HOME0
 fi
@@ -33,13 +129,13 @@ if [ -d $EOS_HOME0/.git ] ; then
        echo "Already installed"
        echo "Use update-eos.sh for updating or set a new directory for installation"
 else
-       if [ -z $EOS_GITUSER ] ; then
+       if [ -z $EOS_GITUSER0 ] ; then
                INSTALL_FLAG=
        else 
                git clone --depth 1 $ROOT_EOS_OSDN_SSH $EOS_HOME0 || \
                git clone --depth 1 $ROOT_EOS_OSDN_HTTPS $EOS_HOME0 || \
-               echo "A port for SSH or HTTPS is not open, or something wrong for $EOS_GITUSER."
-               INSTALL_FLAG=INSTALL
+               echo "A port for SSH or HTTPS is not open, or something wrong for $EOS_GITUSER0."
+               INSTALL_FLAG="NOGITUSER"
        fi
        if [ -z $INSTALL_FLAG ] ; then
                git clone --depth 1 $ROOT_EOS_OSDN_GIT  $EOS_HOME0 || \
@@ -48,24 +144,26 @@ else
        fi
 fi
 
+awk 'BEGIN {EOS="no"} {if($0=="## Eos_env Start") EOS="yes"; if(EOS!="yes") print $0;if($0=="## Eos_env End") EOS="no"; }' $HOME/.bash_profile > $HOME/.bash_profile.org
 
-if [ -z $EOS_HOME0 ] ; then
-       export EOS_HOME0=$HOME/Eos
-fi
-cat >> $HOME/.bashrc << EOF
-
-##
-## Eos_env
+cat $HOME/.bash_profile.org > $HOME/.bash_profile
+cat >> $HOME/.bash_profile << EOF
+## Eos_env Start
 ##
 
 if [ ! -z $EOS_HOME0 ] ; then 
-if [ -f $EOS_HOME0/env/Eos_env -a ! -f $HOME/.Eos_env ] ; then
-       ln -s $EOS_HOME0/env/Eos_env $HOME/.Eos_env
-fi
+       if [ -f $EOS_HOME0/env/Eos_env -a ! -f $HOME/.Eos_env ] ; then
+               ln -s $EOS_HOME0/env/Eos_env $HOME/.Eos_env
+       fi
 fi
 
+export EOS_HOME=$EOS_HOME0
+export EOS_GITUSER0=$EOS_GITUSER0
+
 test -r $HOME/.Eos_env  && . $HOME/.Eos_env
 
+##
+## Eos_env End
 EOF
 
 #
@@ -77,12 +175,17 @@ if [ ! -f $HOME/.Eos_env ] ; then
        ln -sf $EOS_HOME0/env/Eos_env $HOME/.Eos_env 
 fi
 
-source ~/.Eos_env || echo "Prepare environment"
+test -r $HOME/.Eos_env || . $HOME/.Eos_env || "Prepare environment"
 echo "hostdepend for ${EOS_HOSTDIR}"
+case $INSTALL_FLAG in
+       NOGITUSER)
+               export EOS_GITUSER0=
+               ;;
+esac
 
 HOSTDEPEND_EOS_OSDN_GIT=git://git.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
 HOSTDEPEND_EOS_OSDN_HTTP=http://scm.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
-HOSTDEPEND_EOS_OSDN_SSH=${EOS_GITUSER}@git.osdn.jp:/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
+HOSTDEPEND_EOS_OSDN_SSH=${EOS_GITUSER0}@git.osdn.jp:/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
 HOSTDEPEND_EOS_OSDN_HTTPS=https://scm.osdn.jp/gitroot/eos/hostdepend${EOS_HOSTDIR}.git
 
 if [ ! -d $EOS_HOME0/hostdepend ] ; then
@@ -95,7 +198,7 @@ if [ -d $EOS_HOME0/hostdepend ] ; then
                echo "Already installed hostdepend/${EOS_HOSTDIR}"; 
                echo "Use update-eos.sh for updating or set a new directory for installation"
        else 
-               if [ -z $EOS_GITUSER ] ; then
+               if [ -z $EOS_GITUSER0 ] ; then
                        INSTALL_FLAG=
                else 
                        git clone --depth 1 ${HOSTDEPEND_EOS_OSDN_SSH} ${EOS_HOSTDIR} || \