Parent: [2aedcd] (diff)

Download this file

recollinstall    85 lines (64 with data), 2.1 kB

#!/bin/sh

# Install recoll files. This has 2 modes, for installing the binaries or
# the personal configuration files

fatal()
{
    echo $*
    exit 1
}
usage()
{
    echo 'Usage (common files): recollinstall <dir>, ie: recollinstall /usr/local'
    fatal 'Usage (personal config): recollinstall'
}

INSTALL=${INSTALL:=install}

if test $# = 1 ; then
   # Install commands and example config to target directory
   PREFIX=$1

   echo "Installing to $PREFIX"

   test -x qtgui/recoll || fatal "qtgui/recoll does not exist." \
        " You need to build first (type 'make')."

   for d in ${PREFIX} \
	    ${PREFIX}/bin \
	    ${PREFIX}/share \
	    ${PREFIX}/share/recoll \
	    ${PREFIX}/share/recoll/examples \
	    ${PREFIX}/share/recoll/images 
   do
     test -d $d || mkdir $d || exit 1
   done


   ${INSTALL} qtgui/recoll index/recollindex recollinstall $PREFIX/bin \
	      || exit 1

   ${INSTALL} filters/rcl* ${PREFIX}/share/recoll/examples/ || exit 1

   ${INSTALL} sampleconf/recoll.conf sampleconf/mimeconf sampleconf/mimemap \
		    ${PREFIX}/share/recoll/examples/ || exit 1

   ${INSTALL} qtgui/mtpics/*.png ${PREFIX}/share/recoll/images || exit 1

   exit 0

else

  # Install configuration files to home directory
  PREFIX=${PREFIX:=/usr/local}

  me=`whoami`
  if test "$me" = root ; then
    fatal "Cowardly refusing to install personal config in root's" \
	    "home directory"
  fi
  if test ! -d ${PREFIX}/share/recoll/examples ; then
     fatal "Global install should be performed first"
  fi

  if test -d $HOME/.recoll ; then 
    cat <<EOF
     
     $HOME/.recoll already exists, no modification done.
     You should check for new filters or updated files in 
     ${PREFIX}/share/recoll/examples.
EOF
     exit 0
  fi

  mkdir $HOME/.recoll || exit 1
  cp ${PREFIX}/share/recoll/examples/* $HOME/.recoll
  chmod a+x $HOME/.recoll/rcl*
  chmod +w $HOME/.recoll/recoll.conf
  chmod +w $HOME/.recoll/mimeconf

  echo Copied configuration files and filters to $HOME/.recoll/
  echo You should now take a look at $HOME/.recoll/recoll.conf
  exit 0
fi