2011-01-05 19:05:36 +00:00
#!/usr/bin/env zsh
2009-05-13 09:32:19 +00:00
#Copyright Joel Schaerer 2008, 2009
#This file is part of autojump
#autojump is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.
#
#autojump is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#GNU General Public License for more details.
#
#You should have received a copy of the GNU General Public License
#along with autojump. If not, see <http://www.gnu.org/licenses/>.
2010-06-21 14:29:57 +00:00
function show_help {
2011-12-24 00:04:04 +00:00
echo "sudo ./install.zsh [--local] [--prefix /usr/local]"
2010-06-21 14:29:57 +00:00
}
prefix = /usr
2011-12-24 00:04:04 +00:00
local = false
2010-06-21 14:29:57 +00:00
#command line parsing
while true; do
2011-12-24 00:04:04 +00:00
case " $1 " in
-h| --help| -\? )
show_help
exit 0
; ;
-l| --local)
local = true
prefix = ~/.autojump
shift
; ;
-p| --prefix)
if [ $# -gt 1 ] ; then
prefix = $2 ; shift 2
else
echo "--prefix or -p require an argument" 1>& 2
exit 1
fi
; ;
--)
shift
break
; ;
-*)
echo " invalid option: $1 " 1>& 2
show_help
2011-12-23 19:47:58 +00:00
exit 1
2011-12-24 00:04:04 +00:00
; ;
*)
break
; ;
esac
2010-06-21 14:29:57 +00:00
done
2012-01-13 21:05:43 +00:00
if [ [ ${ UID } != 0 ] ] && ! ${ local } ; then
2011-12-24 00:04:04 +00:00
echo "Please rerun as root or use the --local option."
exit 1
fi
2010-08-18 21:56:40 +00:00
echo " Installing main files to ${ prefix } ... "
2010-06-21 14:29:57 +00:00
2011-09-16 06:21:35 +00:00
# add git revision to autojump
2011-09-16 06:35:20 +00:00
./git-version.sh
2011-09-16 06:21:35 +00:00
2011-12-23 19:47:58 +00:00
mkdir -p ${ prefix } /share/autojump/
mkdir -p ${ prefix } /bin/
mkdir -p ${ prefix } /share/man/man1/
cp icon.png ${ prefix } /share/autojump/
cp jumpapplet ${ prefix } /bin/
cp autojump ${ prefix } /bin/
cp autojump.1 ${ prefix } /share/man/man1/
2009-03-29 20:47:15 +00:00
# autocompletion file in the first directory of the FPATH variable
2011-12-24 00:04:04 +00:00
if ( ! ${ local } ) ; then
2011-12-23 19:47:58 +00:00
fail = true
for f in $fpath
do
2011-12-24 00:04:04 +00:00
cp _j $f && fail = false && break
2011-12-23 19:47:58 +00:00
done
if $fail
then
2011-12-24 00:04:04 +00:00
echo "Couldn't find a place to put the autocompletion file, please copy _j into your \$fpath"
2011-12-23 19:47:58 +00:00
echo "Still trying to install the rest of autojump..."
else
echo " Installed autocompletion file to $f "
fi
2009-03-29 20:47:15 +00:00
2011-12-23 19:47:58 +00:00
if [ -d "/etc/profile.d" ] ; then
2011-12-24 00:04:04 +00:00
cp -v autojump.zsh /etc/profile.d/
cp -v autojump.sh /etc/profile.d/
echo
echo "Add the following line to your ~/.zshrc:"
echo
echo -e "\tsource /etc/profile.d/autojump.zsh"
2011-12-23 19:47:58 +00:00
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
2009-03-29 20:47:15 +00:00
else
2011-12-23 19:47:58 +00:00
echo "Your distribution does not have a /etc/profile.d directory, the default that we install one of the scripts to. Would you like us to copy it into your ~/.zshrc file to make it work? (If you have done this once before, delete the old version before doing it again.) [y/n]"
read ans
if [ ${# ans } -gt 0 ] ; then
2011-12-24 00:04:04 +00:00
if [ $ans = "y" -o $ans = "Y" -o $ans = "yes" -o $ans = "Yes" ] ; then
echo "" >> ~/.zshrc
echo "#autojump" >> ~/.zshrc
cat autojump.zsh >> ~/.zshrc
echo "Done!"
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!"
fi
2011-12-23 19:47:58 +00:00
else
echo "Then you need to put autojump.zsh, or the code from it, somewhere where it will get read. Good luck!"
fi
2009-03-29 20:47:15 +00:00
fi
2011-12-23 19:47:58 +00:00
else
mkdir -p ${ prefix } /functions/
cp _j ${ prefix } /functions/
mkdir -p ${ prefix } /etc/profile.d/
cp autojump.zsh ${ prefix } /etc/profile.d/
cp autojump.sh ${ prefix } /etc/profile.d/
2011-12-24 00:04:04 +00:00
echo
2011-12-23 19:47:58 +00:00
echo "Add the following lines to your ~/.zshrc:"
echo
2011-12-24 00:04:04 +00:00
echo -e " \tpath=( ${ prefix } /bin \${path}) "
echo -e " \tfpath=( ${ prefix } /functions \${fpath}) "
echo -e " \tsource ${ prefix } /etc/profile.d/autojump.zsh "
2011-12-23 19:47:58 +00:00
echo
echo "You need to source your ~/.zshrc (source ~/.zshrc) before you can start using autojump."
echo
echo " To remove autojump, delete the ${ prefix } directory and relevant lines from ~/.zshrc. "
2009-03-29 20:47:15 +00:00
fi