Add options to install.sh: help, install, copy, remove, update

This commit is contained in:
Némunaire 2012-11-22 02:48:22 +01:00
parent 3371af9f21
commit 81471913ae

View File

@ -8,31 +8,74 @@ else
fi fi
DESTINATION=~ DESTINATION=~
if [ "$1" == "install" ] || [ "$1" == "link" ] || [ "$1" == "links" ]
then
REMOVE=1
BIN="ln -s"
elif [ "$1" == "update" ]
then
cd $SOURCE
git pull `git remote -v | head -n 1 | cut -f 1` &&
git submodule init && git submodule update
exit $?
elif [ "$1" == "remove" ] || [ "$1" == "uninstall" ]
then
REMOVE=0
BIN="rm"
elif [ "$1" == "copy" ]
then
REMOVE=1
BIN="cp -r"
else
echo -e "\e[01mNemunaire's configuration\e[0m"
echo -e " Author:\t\tNemunaire <nemunaire@pomail.fr>"
echo -e " Original source:\thttps://git.nemunai.re/?p=conf.git"
echo
echo "Usage:"
echo " $0 install"
echo " Create symbolic links from this directory to your home"
echo " $0 remove"
echo " Remove symbolic links from your home"
echo " $0 update"
echo " Pull last commits from the server from" `git remote -v | head -n 1 | cut -f 2`
echo " $0 copy"
echo " Copy configuration files instead of make links"
exit 0
fi
cd $SOURCE cd $SOURCE
git submodule init git submodule init
git submodule update git submodule update
#BIN="cp -r"
BIN="ln -s"
TMPERR=`mktemp` TMPERR=`mktemp`
for f in `ls -a $SOURCE` for f in `ls -a $SOURCE`
do do
if [ "$f" != "." ] && [ "$f" != ".." ] && if [ "$f" != "." ] && [ "$f" != ".." ] && [ "$f" != ".git" ] &&
[ "$f" != ".gitmodules" ] && [ "$f" != "install.sh" ] [ "$f" != ".gitmodules" ] && [ "$f" != "install.sh" ]
then then
echo -ne "Installing $f ...\t" if [ $REMOVE -eq 0 ]; then
if [ ${#f} -lt 9 ]; then echo -en "\t"; fi echo -ne "Removing $f ...\t"
if [ -L $DESTINATION/$f ] if [ -L $DESTINATION/$f ]; then
then $BIN $DESTINATION/$f >&2 2> $TMPERR
echo -e "Already installed" if [ $? == 0 ]; then echo -e "done"; else echo -e "fail"; fi
elif [ -e $DESTINATION/$f ] cat $TMPERR
then else
echo -e "Already existing $f" echo -e "Not installed"
else fi
$BIN $SOURCE/$f $DESTINATION/$f >&2 2> $TMPERR else
if [ $? == 0 ]; then echo -e "done"; else echo -e "fail"; fi echo -ne "Installing $f ...\t"
cat $TMPERR if [ ${#f} -lt 9 ]; then echo -en "\t"; fi
fi if [ -L $DESTINATION/$f ]
then
echo -e "Already installed"
elif [ -e $DESTINATION/$f ]
then
echo -e "Already existing"
else
$BIN $SOURCE/$f $DESTINATION/$f >&2 2> $TMPERR
if [ $? == 0 ]; then echo -e "done"; else echo -e "fail"; fi
cat $TMPERR
fi
fi
fi fi
done done