forked from I2P_Developers/i2p.i2p
Improved support for GNU/kFreeBSD
- add kFreeBSD to NBI and CPUID - add kFreeBSD to jcpuid/jbigi build scripts - refresh debian patches to compensate for kFreeBSD changes - i2prouter: Detect kFreeBSD and normalize its name - clean up osid (switching to "elif") and adding support for detecting kFreeBSD - update postinstall.sh; I2P cannot be installed using gij so postinstall.sh will not be run. If/when openjdk finally comes to kFreeBSD, we'll be ready for it.
This commit is contained in:
@ -25,6 +25,10 @@ elif [ $UNIXTYPE = "linux" ] && [ -e /etc/arch-release ]; then
|
||||
fi
|
||||
elif [ $UNIXTYPE = "darwin" ]; then
|
||||
JAVA_HOME=$(/usr/libexec/java_home)
|
||||
elif [ $UNIXTYPE = "gnu/kfreebsd" ]; then
|
||||
if [ -d /usr/lib/jvm/java-gcj ]; then
|
||||
JAVA_HOME="/usr/lib/jvm/java-gcj"
|
||||
fi
|
||||
fi
|
||||
|
||||
export JAVA_HOME
|
||||
|
@ -35,6 +35,8 @@ SunOS*|OpenBSD*|NetBSD*|*FreeBSD*|Linux*)
|
||||
UNIXTYPE=$(uname -s | tr "[A-Z]" "[a-z]")
|
||||
if [ $UNIXTYPE = "sunos" ]; then
|
||||
UNIXTYPE="solaris"
|
||||
elif [ $UNIXTYPE = "gnu/kfreebsd" ]; then
|
||||
UNIXTYPE="linux"
|
||||
fi
|
||||
COMPILEFLAGS="-fPIC -Wall"
|
||||
INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}"
|
||||
|
@ -1,5 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
# If JAVA_HOME isn't set we'll try to figure it out
|
||||
[ -z $JAVA_HOME ] && . ../find-java-home
|
||||
if [ ! -f "$JAVA_HOME/include/jni.h" ]; then
|
||||
echo "Cannot find jni.h! Looked in '$JAVA_HOME/include/jni.h'"
|
||||
echo "Please set JAVA_HOME to a java home that has the JNI"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#FIXME What platforms for MacOS?
|
||||
MISC_DARWIN_PLATFORMS="powerpc powerpc64 powerpc64le powerpcle"
|
||||
|
||||
@ -49,6 +57,8 @@ X86_PLATFORMS="pentium pentiummmx pentium2 pentium3 pentiumm k6 k62 k63 athlon g
|
||||
|
||||
if [ $(uname -s |tr "[A-Z]" "[a-z]") = "linux" ]; then
|
||||
ECHO="/bin/echo"
|
||||
elif [ $(uname -s |tr "[A-Z]" "[a-z]") = "gnu/kfreebsd" ]; then
|
||||
ECHO="/bin/echo"
|
||||
else
|
||||
ECHO="echo"
|
||||
fi
|
||||
@ -81,19 +91,23 @@ MINGW*)
|
||||
PLATFORM_LIST="${MINGW_PLATFORMS}"
|
||||
NAME="jbigi"
|
||||
TYPE="dll"
|
||||
TARGET="-windows-"
|
||||
TARGET="windows"
|
||||
$ECHO "Building windows .dlls for all architectures";;
|
||||
Darwin*)
|
||||
PLATFORM_LIST="${DARWIN_PLATFORMS}"
|
||||
NAME="libjbigi"
|
||||
TYPE="jnilib"
|
||||
TARGET="-osx-"
|
||||
TARGET="osx"
|
||||
$ECHO "Building ${TARGET} .jnilibs for all architectures";;
|
||||
Linux*)
|
||||
Linux*|*kFreeBSD)
|
||||
NAME="libjbigi"
|
||||
TYPE="so"
|
||||
PLATFORM_LIST=""
|
||||
TARGET="-linux-"
|
||||
if [ $(uname -s | tr "[A-Z]" "[a-z]") = "gnu/kfreebsd" ]; then
|
||||
TARGET="kfreebsd"
|
||||
else
|
||||
TARGET="linux"
|
||||
fi
|
||||
arch=$(uname -m | cut -f1 -d" ")
|
||||
case ${arch} in
|
||||
i[3-6]86)
|
||||
@ -102,13 +116,13 @@ Linux*)
|
||||
case ${arch} in
|
||||
x86_64 | amd64)
|
||||
PLATFORM_LIST="${X86_64_PLATFORMS}"
|
||||
TARGET="-linux-X86_64-";;
|
||||
TARGET="$TARGET-X86_64";;
|
||||
ia64)
|
||||
PLATFORM_LIST="${X86_64_PLATFORMS}"
|
||||
TARGET="-linux-ia64-";;
|
||||
TARGET="$TARGET-ia64";;
|
||||
x86)
|
||||
PLATFORM_LIST="${X86_PLATFORMS}"
|
||||
TARGET="-linux-x86-";;
|
||||
TARGET="$TARGET-x86";;
|
||||
*)
|
||||
PLATFORM_LIST="${LINUX_PLATFORMS}";;
|
||||
esac
|
||||
@ -126,13 +140,13 @@ NetBSD*|FreeBSD*|OpenBSD*)
|
||||
case ${arch} in
|
||||
x86_64|amd64)
|
||||
PLATFORM_LIST="${X86_64_PLATFORMS}"
|
||||
TARGET="-${BSDTYPE}-X86_64-";;
|
||||
TARGET="${BSDTYPE}-X86_64";;
|
||||
ia64)
|
||||
PLATFORM_LIST="${X86_64_PLATFORMS}"
|
||||
TARGET="-${BSDTYPE}-ia64-";;
|
||||
TARGET="${BSDTYPE}-ia64";;
|
||||
x86)
|
||||
PLATFORM_LIST="${X86_PLATFORMS}"
|
||||
TARGET="-${BSDTYPE}-x86-";;
|
||||
TARGET="${BSDTYPE}-x86";;
|
||||
*)
|
||||
case ${BSDTYPE} in
|
||||
netbsd)
|
||||
@ -153,6 +167,10 @@ NetBSD*|FreeBSD*|OpenBSD*)
|
||||
esac
|
||||
|
||||
make_static () {
|
||||
#
|
||||
# TODO
|
||||
# Fix formatting of output filename. Final versions will need to look
|
||||
# like libjbigi-linux-athlon64.so or libjbigi-linux-athlon64_64.so
|
||||
$ECHO "Attempting .${4} creation for ${3}${5}${2}"
|
||||
../../build_jbigi.sh static || return 1
|
||||
cp ${3}.${4} ../../lib/net/i2p/util/${3}${5}${2}.${4}
|
||||
@ -217,7 +235,7 @@ do
|
||||
rm -Rf *
|
||||
fi
|
||||
|
||||
build_file "$VER" "$x" "$NAME" "$TYPE" "$TARGET"
|
||||
build_file "$VER" "$x" "$NAME" "$TYPE" "-$TARGET-"
|
||||
)
|
||||
done
|
||||
|
||||
|
@ -35,11 +35,13 @@ case `uname -s` in
|
||||
LINKFLAGS="-dynamiclib -framework JavaVM"
|
||||
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-x86-darwin.jnilib";;
|
||||
Linux*|OpenBSD*|NetBSD*|*FreeBSD*|SunOS*)
|
||||
KFREEBSD=0
|
||||
UNIXTYPE="`uname -s | tr [A-Z] [a-z]`"
|
||||
if [ ${UNIXTYPE} = "sunos" ]; then
|
||||
UNIXTYPE="solaris"
|
||||
elif [ ${UNIXTYPE} = "kfreebsd" ]; then
|
||||
elif [ ${UNIXTYPE} = "gnu/kfreebsd" ]; then
|
||||
UNIXTYPE="linux"
|
||||
KFREEBSD=1
|
||||
fi
|
||||
# If JAVA_HOME isn't set, try to figure it out on our own
|
||||
[ -z $JAVA_HOME ] && . ../find-java-home
|
||||
@ -62,11 +64,15 @@ case `uname -s` in
|
||||
ARCH="x86";;
|
||||
*)
|
||||
echo "Unsupported build environment. jcpuid is only used on x86 systems."
|
||||
exit 1;;
|
||||
exit 0;;
|
||||
esac
|
||||
|
||||
LINKFLAGS="-shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so"
|
||||
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so"
|
||||
if [ $KFREEBSD -eq 1 ]; then
|
||||
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-kfreebsd.so"
|
||||
else
|
||||
LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so"
|
||||
fi
|
||||
COMPILEFLAGS="-fPIC -Wall"
|
||||
INCLUDES="-I. -Iinclude -I${JAVA_HOME}/include -I${JAVA_HOME}/include/${UNIXTYPE}";;
|
||||
esac
|
||||
|
@ -55,7 +55,8 @@ public class CPUID {
|
||||
private static final String libPrefix = isWindows ? "" : "lib";
|
||||
private static final String libSuffix = isWindows ? ".dll" : ".so";
|
||||
private static final boolean isLinux = System.getProperty("os.name").toLowerCase(Locale.US).contains("linux");
|
||||
private static final boolean isFreebsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("freebsd");
|
||||
private static final boolean isKFreebsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("kfreebsd");
|
||||
private static final boolean isFreebsd = (!isKFreebsd) && System.getProperty("os.name").toLowerCase(Locale.US).contains("freebsd");
|
||||
private static final boolean isNetbsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("netbsd");
|
||||
private static final boolean isOpenbsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("openbsd");
|
||||
private static final boolean isSunos = System.getProperty("os.name").toLowerCase(Locale.US).contains("sunos");
|
||||
@ -447,6 +448,8 @@ public class CPUID {
|
||||
return "jcpuid-x86-osx"; // The convention on Intel Macs
|
||||
}
|
||||
}
|
||||
if(isKFreebsd)
|
||||
return "jcpuid-x86-kfreebsd"; // The convention on kfreebsd...
|
||||
if(isFreebsd)
|
||||
return "jcpuid-x86-freebsd"; // The convention on freebsd...
|
||||
if(isNetbsd)
|
||||
@ -464,6 +467,8 @@ public class CPUID {
|
||||
private static final String get64LibraryMiddlePart() {
|
||||
if(isWindows)
|
||||
return "jcpuid-x86_64-windows";
|
||||
if(isKFreebsd)
|
||||
return "jcpuid-x86_64-kfreebsd";
|
||||
if(isFreebsd)
|
||||
return "jcpuid-x86_64-freebsd";
|
||||
if(isNetbsd)
|
||||
|
@ -162,7 +162,8 @@ public class NativeBigInteger extends BigInteger {
|
||||
private static final boolean _isOS2 = System.getProperty("os.name").startsWith("OS/2");
|
||||
private static final boolean _isMac = SystemVersion.isMac();
|
||||
private static final boolean _isLinux = System.getProperty("os.name").toLowerCase(Locale.US).contains("linux");
|
||||
private static final boolean _isFreebsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("freebsd");
|
||||
private static final boolean _isKFreebsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("kfreebsd");
|
||||
private static final boolean _isFreebsd = (!_isKFreebsd) && System.getProperty("os.name").toLowerCase(Locale.US).contains("freebsd");
|
||||
private static final boolean _isNetbsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("netbsd");
|
||||
private static final boolean _isOpenbsd = System.getProperty("os.name").toLowerCase(Locale.US).contains("openbsd");
|
||||
private static final boolean _isSunos = System.getProperty("os.name").toLowerCase(Locale.US).contains("sunos");
|
||||
@ -773,6 +774,8 @@ public class NativeBigInteger extends BigInteger {
|
||||
private static final String getMiddleName1() {
|
||||
if(_isWin)
|
||||
return "jbigi-windows-";
|
||||
if(_isKFreebsd)
|
||||
return "jbigi-kfreebsd-";
|
||||
if(_isFreebsd)
|
||||
return "jbigi-freebsd-";
|
||||
if(_isNetbsd)
|
||||
|
6
debian/patches/0001-path-substitution.patch
vendored
6
debian/patches/0001-path-substitution.patch
vendored
@ -107,7 +107,7 @@ Debian wrapper.config to try to prevent confusion.
|
||||
if [ -n "$FIXED_COMMAND" ]
|
||||
then
|
||||
COMMAND="$FIXED_COMMAND"
|
||||
@@ -905,9 +856,6 @@
|
||||
@@ -908,9 +859,6 @@
|
||||
# The string passed to eval must handles spaces in paths correctly.
|
||||
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" $ANCHORPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP $ADDITIONAL_PARA"
|
||||
eval $COMMAND_LINE
|
||||
@ -117,7 +117,7 @@ Debian wrapper.config to try to prevent confusion.
|
||||
else
|
||||
eval echo `gettext '$APP_LONG_NAME is already running.'`
|
||||
exit 1
|
||||
@@ -1031,9 +979,6 @@
|
||||
@@ -1034,9 +982,6 @@
|
||||
# The string passed to eval must handles spaces in paths correctly.
|
||||
COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=\"$APP_NAME\" wrapper.java.command=\"$JAVABINARY\" wrapper.pidfile=\"$PIDFILE\" wrapper.name=\"$APP_NAME\" wrapper.displayname=\"$APP_LONG_NAME\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $STATUSPROP $COMMANDPROP $LOCKPROP $LOGPROP $ADDITIONAL_PARA"
|
||||
eval $COMMAND_LINE
|
||||
@ -127,7 +127,7 @@ Debian wrapper.config to try to prevent confusion.
|
||||
else
|
||||
eval echo `gettext '$APP_LONG_NAME is already running.'`
|
||||
exit 1
|
||||
@@ -1874,18 +1819,9 @@
|
||||
@@ -1877,18 +1822,9 @@
|
||||
status
|
||||
;;
|
||||
|
||||
|
6
debian/patches/0002-jbigi-soname.patch
vendored
6
debian/patches/0002-jbigi-soname.patch
vendored
@ -12,8 +12,8 @@ a soname to shut lintian up.
|
||||
|
||||
--- a/core/c/jbigi/build_jbigi.sh
|
||||
+++ b/core/c/jbigi/build_jbigi.sh
|
||||
@@ -37,7 +37,7 @@
|
||||
UNIXTYPE="solaris"
|
||||
@@ -39,7 +39,7 @@
|
||||
UNIXTYPE="linux"
|
||||
fi
|
||||
COMPILEFLAGS="-fPIC -Wall"
|
||||
- INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/${UNIXTYPE}"
|
||||
@ -21,7 +21,7 @@ a soname to shut lintian up.
|
||||
LINKFLAGS="-shared -Wl,-soname,libjbigi.so"
|
||||
LIBFILE="libjbigi.so";;
|
||||
*)
|
||||
@@ -56,7 +56,7 @@
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
echo "Compiling C code..."
|
||||
rm -f jbigi.o $LIBFILE
|
||||
|
10
debian/patches/0003-renaming-jcpuid.patch
vendored
10
debian/patches/0003-renaming-jcpuid.patch
vendored
@ -8,12 +8,16 @@ Subject: rename jcpuid
|
||||
|
||||
--- a/core/c/jcpuid/build.sh
|
||||
+++ b/core/c/jcpuid/build.sh
|
||||
@@ -65,8 +65,8 @@
|
||||
exit 1;;
|
||||
@@ -67,12 +67,8 @@
|
||||
exit 0;;
|
||||
esac
|
||||
|
||||
- LINKFLAGS="-shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so"
|
||||
- LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so"
|
||||
- if [ $KFREEBSD -eq 1 ]; then
|
||||
- LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-kfreebsd.so"
|
||||
- else
|
||||
- LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so"
|
||||
- fi
|
||||
+ LINKFLAGS="-shared -Wl,-soname,libjcpuid.so"
|
||||
+ LIBFILE="../jbigi/libjcpuid.so"
|
||||
COMPILEFLAGS="-fPIC -Wall"
|
||||
|
@ -1,3 +1,7 @@
|
||||
2012-11-19 kytv
|
||||
* Add support for kFreeBSD to NBI and CPUID
|
||||
* Improve kFreeBSD support in jcupid/jbigi scripts
|
||||
|
||||
2012-11-19 zzz
|
||||
* BuildHandler: Disable CoDel, wasn't helping
|
||||
* NetDB: Add negative lookup cache
|
||||
|
@ -357,6 +357,9 @@ case "$DIST_OS" in
|
||||
'unix_sv')
|
||||
DIST_OS="unixware"
|
||||
;;
|
||||
'gnu/kfreebsd')
|
||||
DIST_OS="kfreebsd"
|
||||
;;
|
||||
'os/390')
|
||||
DIST_OS="zos"
|
||||
;;
|
||||
|
@ -34,6 +34,7 @@ fi
|
||||
|
||||
DARWIN=`echo "$HOST_OS" | grep Darwin`
|
||||
MAC=`echo "$HOST_OS" | grep Mac`
|
||||
KFREEBSD=`echo "$HOST_OS" | grep kFreeBSD`
|
||||
FREEBSD=`echo "$HOST_OS" | grep FreeBSD`
|
||||
LINUX=`echo "$HOST_OS" | grep Linux`
|
||||
SOLARIS=`echo "$HOST_OS" | grep Solaris`
|
||||
@ -43,25 +44,15 @@ OPENBSD=`echo "$HOST_OS" |grep OpenBSD`
|
||||
|
||||
if [ ! "X$DARWIN" = "X" -o ! "X$MAC" = "X" ]; then
|
||||
echo osx
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$FREEBSD" = "X" ]; then
|
||||
elif [ ! "X$KFREEBSD" = "X" ]; then
|
||||
echo kfreebsd
|
||||
elif [ ! "X$FREEBSD" = "X" ]; then
|
||||
echo freebsd
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$NETBSD" = "X" ]; then
|
||||
elif [ ! "X$NETBSD" = "X" ]; then
|
||||
echo netbsd
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$OPENBSD" = "X" ]; then
|
||||
elif [ ! "X$OPENBSD" = "X" ]; then
|
||||
echo openbsd
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$LINUX" = "X" ]; then
|
||||
elif [ ! "X$LINUX" = "X" ]; then
|
||||
|
||||
LINUX_DISTRO=`cat /proc/version`
|
||||
DEBIAN=`echo $LINUX_DISTRO | grep Debian`
|
||||
@ -73,43 +64,21 @@ if [ ! "X$LINUX" = "X" ]; then
|
||||
|
||||
if [ ! "X$DEBIAN" = "X" ]; then
|
||||
echo debian
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$FEDORA" = "X" ]; then
|
||||
elif [ ! "X$FEDORA" = "X" ]; then
|
||||
echo fedora
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$GENTOO" = "X" ]; then
|
||||
elif [ ! "X$GENTOO" = "X" ]; then
|
||||
echo gentoo
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$MANDRAKE" = "X" ]; then
|
||||
elif [ ! "X$MANDRAKE" = "X" ]; then
|
||||
echo mandrake
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$REDHAT" = "X" ]; then
|
||||
elif [ ! "X$REDHAT" = "X" ]; then
|
||||
echo redhat
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$SUSE" = "X" ]; then
|
||||
elif [ ! "X$SUSE" = "X" ]; then
|
||||
echo suse
|
||||
exit 0
|
||||
else
|
||||
echo linux
|
||||
fi
|
||||
|
||||
echo linux
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ ! "X$SOLARIS" = "X" -o ! "X$SUNOS" = "X" ]; then
|
||||
elif [ ! "X$SOLARIS" = "X" -o ! "X$SUNOS" = "X" ]; then
|
||||
echo solaris
|
||||
exit 0
|
||||
else
|
||||
echo unknown
|
||||
fi
|
||||
|
||||
echo unknown
|
||||
exit 0
|
||||
|
||||
|
@ -81,7 +81,7 @@ case $HOST_OS in
|
||||
wrapperpath="./lib/wrapper/solaris"
|
||||
cp ${wrapperpath}/libwrapper.so ./lib/
|
||||
;;
|
||||
netbsd|openbsd )
|
||||
netbsd|openbsd|kfreebsd)
|
||||
# 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
|
||||
|
Reference in New Issue
Block a user