forked from I2P_Developers/i2p.i2p

All are from the "delta-pack" with the following exceptions: * binaries for FreeBSD have been compiled in FreeBSD 7.4 to eliminate the dependency on FBSD v6 compatibility libs. They've also been stripped. * Tanuki doesn't offer win64 binaries. Since the x64 binaries had to be compiled anyway, I've added an itoopie icon to the binary and both x86 and x64 binaries are compiled by me. * Linux PPC binaries have been compiled by me since upstream mistakenly ships a 64bit PPC binary as a 32bit binary. * Linux ARMv5 have been compiled by me. * The Linux x64 and x86 binaries have been stripped.
125 lines
3.9 KiB
Bash
125 lines
3.9 KiB
Bash
#!/bin/sh
|
|
|
|
# I2P Installer - Installs and pre-configures I2P.
|
|
#
|
|
# postinstall
|
|
# 2004 The I2P Project
|
|
# http://www.i2p2.de/
|
|
# This code is public domain.
|
|
#
|
|
# author: hypercubus
|
|
#
|
|
# Installs the appropriate set of Java Service Wrapper support files for the
|
|
# user's OS then launches the I2P router as a background service.
|
|
|
|
if [ ! "X$1" = "X" ]; then
|
|
cd $1
|
|
fi
|
|
|
|
chmod 755 ./i2prouter
|
|
# chmod 755 ./install_i2p_service_unix
|
|
chmod 755 ./osid
|
|
chmod 755 ./runplain.sh
|
|
# chmod 755 ./uninstall_i2p_service_unix
|
|
|
|
ERROR_MSG="Cannot determine operating system type. From the subdirectory in lib/wrapper matching your operating system, please move i2psvc to your base I2P directory, and move the remaining two files to the lib directory."
|
|
LOGFILE=./postinstall.log
|
|
|
|
HOST_OS=`./osid`
|
|
|
|
if [ "X$HOST_OS" = "X" -o "X$HOST_OS" = "Xunknown" ]; then
|
|
echo "$ERROR_MSG"
|
|
echo "Host OS is $HOST_OS" >> $LOGFILE
|
|
echo "Host architecture is $OS_ARCH" >> $LOGFILE
|
|
echo "$ERROR_MSG" >> $LOGFILE
|
|
exit 1
|
|
fi
|
|
|
|
OS_ARCH=`uname -m`
|
|
X86_64=`echo "${OS_ARCH}" | grep x86_64`
|
|
|
|
case $HOST_OS in
|
|
debian | fedora | gentoo | linux | mandrake | redhat | suse )
|
|
if [ `echo $OS_ARCH |grep armv7` ]; then
|
|
wrapperpath="./lib/wrapper/linux-armv7"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
elif [ `echo $OS_ARCH |grep arm` ]; then
|
|
wrapperpath="./lib/wrapper/linux-armv5"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
elif [ `echo $OS_ARCH |grep ppc` ]; then
|
|
wrapperpath="./lib/wrapper/linux-ppc"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
elif [ "X$X86_64" = "X" ]; then
|
|
wrapperpath="./lib/wrapper/linux"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
else
|
|
wrapperpath="./lib/wrapper/linux64"
|
|
cp ${wrapperpath}/libwrapper.so ./lib
|
|
# the 32bit libwrapper.so will be needed if a 32 bit jvm is used
|
|
cp ./lib/wrapper/linux/libwrapper.so ./lib/libwrapper-linux-x86-32.so
|
|
fi
|
|
;;
|
|
freebsd )
|
|
if [ ! `echo $OS_ARCH | grep amd64` ]; then
|
|
wrapperpath="./lib/wrapper/freebsd"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
else
|
|
wrapperpath="./lib/wrapper/freebsd64"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
# the 32bit libwrapper.so will be needed if a 32 bit jvm is used
|
|
cp ./lib/freebsd/libwrapper.so ./lib/libwrapper-freebsd-x86-32.so
|
|
fi
|
|
;;
|
|
osx )
|
|
wrapperpath="./lib/wrapper/macosx"
|
|
cp ${wrapperpath}/libwrapper*.jnilib ./lib/
|
|
chmod 755 ./Start\ I2P\ Router.app/Contents/MacOS/i2prouter
|
|
;;
|
|
solaris )
|
|
wrapperpath="./lib/wrapper/solaris"
|
|
cp ${wrapperpath}/libwrapper.so ./lib/
|
|
;;
|
|
netbsd|openbsd )
|
|
# FIXME
|
|
# This isn't displayed when installing, but if we fall back to the "*)"
|
|
# choice, no cleanup happens and users are advised to copy the wrapper
|
|
# in place...but there is no wrapper. Figuring how how to display this,
|
|
# such as when doing a headless installation would be good.
|
|
echo "The java wrapper is not supported on this platform."
|
|
echo "Please use `pwd`/runplain.sh to start I2P."
|
|
# But at least the cleanup below will happen.
|
|
;;
|
|
* )
|
|
echo "${ERROR_MSG}"
|
|
echo "Host OS is $HOST_OS" >> $LOGFILE
|
|
echo "Host architecture is $OS_ARCH" >> $LOGFILE
|
|
echo "$ERROR_MSG" >> $LOGFILE
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if [ ! "X$wrapperpath" = "x" ]; then
|
|
cp $wrapperpath/i2psvc* .
|
|
chmod 755 ./i2psvc*
|
|
fi
|
|
|
|
chmod 755 ./eepget
|
|
rm -rf ./icons
|
|
rm -rf ./lib/wrapper
|
|
rm -f ./lib/*.dll
|
|
rm -f ./*.bat
|
|
rm -f ./*.cmd
|
|
rm -f ./*.exe
|
|
rm -rf ./installer
|
|
|
|
if [ ! `echo $HOST_OS |grep osx` ]; then
|
|
rm -rf ./Start\ I2P\ Router.app
|
|
#rm -f I2P\ Router\ Console.webloc
|
|
fi
|
|
|
|
# no, let's not start the router from the install script any more
|
|
# ./i2prouter start
|
|
rm -f ./osid
|
|
rm -f ./postinstall.sh
|
|
exit 0
|