Merge pull request #189 from fbs/new-installer

Installer updates.
This commit is contained in:
Bozhidar Batsov 2012-06-23 02:54:10 -07:00
commit a027018eb9
2 changed files with 74 additions and 78 deletions

View file

View file

@ -2,26 +2,23 @@ install_prelude () {
printf " Cloning the repository.\n$RESET"
if [ x$PRELUDE_VERBOSE != x ]
then
/usr/bin/env git clone $PRELUDE_URL $PRELUDE_INSTALL_DIR
/usr/bin/env git clone $PRELUDE_URL $PRELUDE_INSTALL_DIR
else
/usr/bin/env git clone $PRELUDE_URL $PRELUDE_INSTALL_DIR > /dev/null 2>&1
/usr/bin/env git clone $PRELUDE_URL $PRELUDE_INSTALL_DIR > /dev/null 2>&1
fi
if ! [ $? -eq 0 ]
then
printf "$RED Unkown git error occured during installation, "
printf "please check the source url: $PRELUDE_URL\n$RESET"
exit 1
printf "$RED Unkown git error occured during installation, "
printf "please check the source url: $PRELUDE_URL\n$RESET"
exit 1
fi
}
make_prelude_dirs () {
printf " Making the required directories.\n$RESET"
mkdir $PRELUDE_INSTALL_DIR/vendor $PRELUDE_INSTALL_DIR/personal > /dev/null 2>&1
mkdir $PRELUDE_INSTALL_DIR/themes $PRELUDE_INSTALL_DIR/snippets > /dev/null 2>&1
if ! [ $? -eq 0 ]
then
printf "$RED failed to create directories.\n$RESET"
fi
mkdir $PRELUDE_INSTALL_DIR/vendor $PRELUDE_INSTALL_DIR/personal
mkdir $PRELUDE_INSTALL_DIR/themes $PRELUDE_INSTALL_DIR/snippets
mkdir $PRELUDE_INSTALL_DIR/savefile
}
colors () {
@ -84,46 +81,46 @@ usage() {
while [ $# -gt 0 ]
do
case $1 in
-d | --directory)
PRELUDE_INSTALL_DIR=$2
shift 2
;;
-c | --colors)
colors
shift 1
;;
-s | --source)
PRELUDE_URL=$2
shift 2
;;
-i | --into)
PRELUDE_INTO='true'
shift 1
;;
-n | --no-bytecompile)
PRELUDE_SKIP_BC='true'
shift 1
;;
-h | --help)
usage
exit 0
;;
-v | --verbose)
echo "prelude verbose $PRELUDE_VERBOSE"
PRELUDE_VERBOSE='true';
shift 1
;;
*)
printf "Unkown option: $1\n"
shift 1
;;
-d | --directory)
PRELUDE_INSTALL_DIR=$2
shift 2
;;
-c | --colors)
colors
shift 1
;;
-s | --source)
PRELUDE_URL=$2
shift 2
;;
-i | --into)
PRELUDE_INTO='true'
shift 1
;;
-n | --no-bytecompile)
PRELUDE_SKIP_BC='true'
shift 1
;;
-h | --help)
usage
exit 0
;;
-v | --verbose)
echo "prelude verbose $PRELUDE_VERBOSE"
PRELUDE_VERBOSE='true';
shift 1
;;
*)
printf "Unkown option: $1\n"
shift 1
;;
esac
done
VERBOSE_COLOR=$BBLUE
[ -z $PRELUDE_URL ] && PRELUDE_URL='https://github.com/bbatsov/prelude.git'
[ -z $PRELUDE_INSTALL_DIR ] && PRELUDE_INSTALL_DIR='$HOME/.emacs.d'
[ -z $PRELUDE_URL ] && PRELUDE_URL="https://github.com/bbatsov/prelude.git"
[ -z $PRELUDE_INSTALL_DIR ] && PRELUDE_INSTALL_DIR="$HOME/.emacs.d"
if [ x$PRELUDE_VERBOSE != x ]
then
@ -133,15 +130,24 @@ then
printf "SOURCE_URL = $PRELUDE_URL\n"
if [ -n $PRELUDE_SKIP_BC ]
then
printf "Skipping bytecompilation.\n"
printf "Skipping bytecompilation.\n"
fi
if [ -n $PRELUDE_INTO ]
then
printf "Replacing existing config (if one exists).\n"
printf "Replacing existing config (if one exists).\n"
fi
printf "$RESET"
fi
# If prelude is already installed
if [ -d $PRELUDE_INSTALL_DIR/prelude ]
then
printf "\n\n$BRED"
printf "You already have Prelude installed.$RESET\nYou'll need to remove $PRELUDE_INSTALL_DIR/prelude if you want to install Prelude again.\n"
printf "If you want to update your copy of prelude, run 'git pull origin master' from your prelude directory\n\n"
exit 1;
fi
### Check dependencies
printf "$CYAN Checking to see if git is installed... $RESET"
if hash git 2>&-
@ -174,15 +180,6 @@ then
printf "$YELLOW WARNING:$RESET Prelude depends on emacs $RED 24$RESET !\n"
fi
# If prelude is already installed
if [ -d $PRELUDE_INSTALL_DIR/prelude ]
then
printf "\n\n$BRED"
printf "You already have Prelude installed.$RESET\nYou'll need to remove $PRELUDE_INSTALL_DIR/prelude if you want to install Prelude again.\n"
printf "If you want to update your copy of prelude, run 'git pull origin master' from your prelude directory\n\n"
exit 1;
fi
if [ -d $PRELUDE_INSTALL_DIR ] || [ -f $PRELUDE_INSTALL_DIR ]
then
# Existing file/directory found -> backup
@ -191,13 +188,13 @@ then
# Overwrite existing?
if [ -n $PRELUDE_INTO ]
then
# Install into existing config
PRELUDE_INSTALL_DIR+='/prelude'
install_prelude
# Install into existing config
PRELUDE_INSTALL_DIR=$PRELUDE_INSTALL_DIR"/prelude"
install_prelude
else
# Replace existing config
install_prelude
make_prelude_dirs
# Replace existing config
install_prelude
make_prelude_dirs
fi
elif [ -e $PRELUDE_INSTALL_DIR ]
then
@ -217,28 +214,27 @@ if [ -z $PRELUDE_SKIP_BC ];
then
if which emacs 2>&1 > /dev/null
then
printf " Bytecompiling Prelude.\n"
if [ x$PRELUDE_VERBOSE != x ]
then
emacs -batch -f batch-byte-compile $PRELUDE_INSTALL_DIR/prelude/*.el
emacs -batch -f batch-byte-compile "$PRELUDE_INSTALL_DIR/prelude/*.el"
else
emacs -batch -f batch-byte-compile $PRELUDE_INSTALL_DIR/prelude/*.el > /dev/null 2>&1
fi
printf " Bytecompiling Prelude.\n"
if [ x$PRELUDE_VERBOSE != x ]
then
emacs -batch -f batch-byte-compile $PRELUDE_INSTALL_DIR/prelude/*.el
else
emacs -batch -f batch-byte-compile $PRELUDE_INSTALL_DIR/prelude/*.el > /dev/null 2>&1
fi
else
printf "$YELLOW Emacs not found.$RESET Skipping bytecompilation.\n"
printf "$YELLOW Emacs not found.$RESET Skipping bytecompilation.\n"
fi
else
printf "Skipping bytecompilation.\n"
fi
# Print usage message if prelude didn't replace .emacs.d
if [ $PRELUDE_INSTALL_DIR != "$HOME/.emacs.d" ]
then
printf "\n To use prelude, add: $CYAN\n (defvar prelude-dir \"$PRELUDE_INSTALL_DIR/\")\n"
printf " (load-file (concat prelude-dir \"init.el\"))\n$RESET"
printf " To your emacs init file.\n\n"
fi
# if [ $PRELUDE_INSTALL_DIR != "$HOME/.emacs.d" ]
# then
# printf "\n To use prelude, add: $CYAN\n (defvar prelude-dir \"$PRELUDE_INSTALL_DIR/\")\n"
# printf " (load-file (concat prelude-dir \"init.el\"))\n$RESET"
# printf " To your emacs init file.\n\n"
# fi
printf "\n"
printf "$BBLUE ____ _ _ \n"