#!/bin/sh ## Copyright (c) JonDos GmbH ## ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without modification, ## are permitted provided that the following conditions are met: ## ## * Redistributions of source code must retain the above copyright notice, this list ## of conditions and the following disclaimer. ## * Redistributions in binary form must reproduce the above copyright notice, ## this list of conditions and the following disclaimer in the documentation and/or ## other materials provided with the distribution. ## * Neither the name of the University of Technology Dresden, Germany, nor the name of ## the JonDos GmbH, nor the names of their contributors may be used to endorse or ## promote products derived from this software without specific prior written permission. ## ## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ## "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ## LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ## A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ## LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ## NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ## PREFIX="/usr/local" JAVA="java" printHelpText() { echo "JonDo installation for Linux/UNIX, (2013 Copyright (c) JonDos GmbH)" echo "usage: $0 [options]" echo echo "The following files will be installed:" echo echo " [installpath]/bin/jondo" echo " [installpath]/share/java/JAP.jar" echo " [installpath]/share/pixmaps/jondo.png" echo " [installpath]/share/applications/jondo.desktop" echo " [installpath]/share/menu/jondo" echo " [installpath]/man/man1/jondo.1" echo echo "If not specified installpath defaults to \"/usr/local\"." echo echo "Options are:" echo " -h -? shows this help text" echo " -j java full path to java binary (JRE)" echo " -i installpath installpath for installation" echo "" } javaCheck() { ${JAVA} -version && return 0 echo "WARNING: Java VM installation ${JAVA} not found." echo "JonDo will not be able to run without Java." echo "You may set the path to Java VM with option -j /path/to/java" echo "" exit 1 } OPTSTR="j:i:h" getopts "${OPTSTR}" CMD_OPT while [ $? -eq 0 ]; do case ${CMD_OPT} in j) # path to java JAVA=${OPTARG} ;; i) # path to java PREFIX=${OPTARG} ;; h) printHelpText; exit 0;; *) echo "unrecognized option: ${CMD_OPT}" printHelpText exit 1;; esac getopts "${OPTSTR}" CMD_OPT done javaCheck if [ -w ${PREFIX} ]; then install -d ${PREFIX}/bin install -d ${PREFIX}/share/java install -d ${PREFIX}/share/pixmaps install -d ${PREFIX}/share/applications install -d ${PREFIX}/share/menu install -d ${PREFIX}/man/man1 cp -f JAP.jar ${PREFIX}/share/java cp -f icons/jondo-48.png ${PREFIX}/share/pixmaps/jondo.png cp -f icons/jondo-16.png ${PREFIX}/share/pixmaps/jondo-16.png cp -f man1/jondo.1 ${PREFIX}/man/man1/jondo.1 cp -f desktop/jondo.menu ${PREFIX}/share/menu/jondo echo "command=\"${PREFIX}/bin/jondo\" " >> ${PREFIX}/share/menu/jondo cp -f desktop/jondo.desktop ${PREFIX}/share/applications echo "Exec=${PREFIX}/bin/jondo" >> ${PREFIX}/share/applications/jondo.desktop echo "#!/bin/sh" > ${PREFIX}/bin/jondo echo "case \"\$1\" in" >> ${PREFIX}/bin/jondo echo " --remove)" >> ${PREFIX}/bin/jondo echo " echo \"Delete all installed JonDo files...\"" >> ${PREFIX}/bin/jondo echo " rm ${PREFIX}/share/applications/jondo.desktop" >> ${PREFIX}/bin/jondo echo " rm ${PREFIX}/share/pixmaps/jondo.png" >> ${PREFIX}/bin/jondo echo " rm ${PREFIX}/share/pixmaps/jondo-16.png" >> ${PREFIX}/bin/jondo echo " rm ${PREFIX}/man/man1/jondo.1" >> ${PREFIX}/bin/jondo echo " rm ${PREFIX}/share/menu/jondo" >> ${PREFIX}/bin/jondo echo " rm ${PREFIX}/share/java/JAP.jar" >> ${PREFIX}/bin/jondo echo " if [ -x \"\`which update-menus 2>/dev/null\`\" ]; then" >> ${PREFIX}/bin/jondo echo " update-menus" >> ${PREFIX}/bin/jondo echo " fi" >> ${PREFIX}/bin/jondo echo " exec rm \$0 " >> ${PREFIX}/bin/jondo echo " ;;" >> ${PREFIX}/bin/jondo echo " --help)" >> ${PREFIX}/bin/jondo echo " $JAVA -XX:-UsePerfData -jar ${PREFIX}/share/java/JAP.jar --help" >> ${PREFIX}/bin/jondo echo " echo \"--remove Deletes all installed JonDo files\"" >> ${PREFIX}/bin/jondo echo " ;;" >> ${PREFIX}/bin/jondo echo " *)" >> ${PREFIX}/bin/jondo echo " $JAVA -Djava.net.preferIPv4Stack=true -XX:-UsePerfData -jar ${PREFIX}/share/java/JAP.jar --noSystemErrorLog \"\$@\" " >> ${PREFIX}/bin/jondo echo " ;;" >> ${PREFIX}/bin/jondo echo "esac" >> ${PREFIX}/bin/jondo echo " " >> ${PREFIX}/bin/jondo chmod +x ${PREFIX}/bin/jondo if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus fi echo "" echo "Installation successful." echo "" exit 0 else echo "" echo "ERROR: No write permission for installpath ${PREFIX}." echo "You may specify another installpath with option -i ." echo "" exit 1 fi