From 3abc7770624c19072e7c32cf3de20fd51cb6398c Mon Sep 17 00:00:00 2001 From: zzz Date: Sun, 19 Nov 2017 16:58:51 +0000 Subject: [PATCH] Debian: Fix builds for x32 (ticket #2076) Incorporate patches 2 and 3 into build scripts --- core/c/jbigi/build_jbigi.sh | 27 ++++++++++--- core/c/jcpuid/build.sh | 40 ++++++++++++------- debian/patches/0002-jbigi-soname.patch | 35 ---------------- debian/patches/0003-rename-jcpuid.patch | 27 ------------- debian/patches/series | 2 - history.txt | 16 +++++++- .../src/net/i2p/router/RouterVersion.java | 2 +- 7 files changed, 63 insertions(+), 86 deletions(-) delete mode 100644 debian/patches/0002-jbigi-soname.patch delete mode 100644 debian/patches/0003-rename-jcpuid.patch diff --git a/core/c/jbigi/build_jbigi.sh b/core/c/jbigi/build_jbigi.sh index 30cdad5ca..c862303b0 100755 --- a/core/c/jbigi/build_jbigi.sh +++ b/core/c/jbigi/build_jbigi.sh @@ -68,7 +68,13 @@ sunos*|openbsd*|netbsd*|*freebsd*|linux*) BUILD_OS="linux" fi COMPILEFLAGS="-fPIC -Wall $CFLAGS" - INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/$BUILD_OS -I/usr/local/include" + # change the path that build_jbigi.sh expects to find the source files at. + # formerly 0002-jbigi-soname.patch + if [ "$DEBIANVERSION" ] ; then + INCLUDES="-I. -I./jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/$BUILD_OS -I/usr/local/include" + else + INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/$BUILD_OS -I/usr/local/include" + fi LINKFLAGS="-shared -Wl,-soname,libjbigi.so" LIBFILE="libjbigi.so";; *) @@ -85,12 +91,23 @@ else STATICLIBS=".libs/libgmp.a" fi -[ $BITS -eq 32 -a "${UNAME#*86}" != "$UNAME" ] && COMPILEFLAGS="-m32 $COMPILEFLAGS" && LINKFLAGS="-m32 $LINKFLAGS" -[ $BITS -eq 64 -a "${UNAME#*86}" != "$UNAME" ] && COMPILEFLAGS="-m64 $COMPILEFLAGS" && LINKFLAGS="-m64 $LINKFLAGS" +# Debian builds are presumed to be native, we don't need the -mxx flag unless cross-compile, +# and this breaks the x32 build +if [ -z "$DEBIANVERSION" ] ; then + [ $BITS -eq 32 -a "${UNAME#*86}" != "$UNAME" ] && COMPILEFLAGS="-m32 $COMPILEFLAGS" && LINKFLAGS="-m32 $LINKFLAGS" + [ $BITS -eq 64 -a "${UNAME#*86}" != "$UNAME" ] && COMPILEFLAGS="-m64 $COMPILEFLAGS" && LINKFLAGS="-m64 $LINKFLAGS" +fi echo "Compiling C code..." -echo "Compile: \"$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c\"" -$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c || exit 1 +# change the path that build_jbigi.sh expects to find the source files at. +# formerly 0002-jbigi-soname.patch +if [ "$DEBIANVERSION" ] ; then + echo "Compile: \"$CC -c $COMPILEFLAGS $INCLUDES ./jbigi/src/jbigi.c\"" + $CC -c $COMPILEFLAGS $INCLUDES ./jbigi/src/jbigi.c || exit 1 +else + echo "Compile: \"$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c\"" + $CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c || exit 1 +fi echo "Link: \"$CC $LINKFLAGS $INCLUDES -o $LIBFILE jbigi.o $INCLUDELIBS $STATICLIBS $LIBPATH\"" $CC $LINKFLAGS $INCLUDES -o $LIBFILE jbigi.o $INCLUDELIBS $STATICLIBS $LIBPATH || exit 1 diff --git a/core/c/jcpuid/build.sh b/core/c/jcpuid/build.sh index ecb21a9cd..5e48b7f25 100755 --- a/core/c/jcpuid/build.sh +++ b/core/c/jcpuid/build.sh @@ -55,17 +55,21 @@ if [ -z $CC ]; then fi -if [ $BITS -eq 32 ]; then - export ABI=32 - export CFLAGS="-m32 -mtune=i686 -march=i686" - export LDFLAGS="-m32" -elif [ $BITS -eq 64 ]; then - export ABI=64 - export CFLAGS="-m64 -mtune=generic" - export LDFLAGS="-m64" -else - printf "BITS value \"$BITS\" not valid, please select 32 or 64\n" >&2 - exit 1 +# Debian builds are presumed to be native, we don't need the -mxx flag unless cross-compile, +# and this breaks the x32 build +if [ -z "$DEBIANVERSION" ] ; then + if [ $BITS -eq 32 ]; then + export ABI=32 + export CFLAGS="-m32 -mtune=i686 -march=i686" + export LDFLAGS="-m32" + elif [ $BITS -eq 64 ]; then + export ABI=64 + export CFLAGS="-m64 -mtune=generic" + export LDFLAGS="-m64" + else + printf "BITS value \"$BITS\" not valid, please select 32 or 64\n" >&2 + exit 1 + fi fi [ -z $ARCH ] && case `uname -m` in @@ -125,11 +129,17 @@ case $TARGET in exit 1 fi - LDFLAGS="${LDFLAGS} -shared -Wl,-soname,libjcpuid-${ARCH}-${UNIXTYPE}.so" - if [ $KFREEBSD -eq 1 ]; then - LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-kfreebsd.so" + # rename jcpuid, formerly 0003-rename-jcpuid.patch + if [ "$DEBIANVERSION" ] ; then + LDFLAGS="${LDFLAGS} -shared -Wl,-soname,libjcpuid.so" + LIBFILE="../jbigi/libjcpuid.so" else - LIBFILE="lib/freenet/support/CPUInformation/libjcpuid-${ARCH}-${UNIXTYPE}.so" + LDFLAGS="${LDFLAGS} -shared -Wl,-soname,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 fi CFLAGS="${CFLAGS} -fPIC -Wall" INCLUDES="-I. -Iinclude -I${JAVA_HOME}/include -I${JAVA_HOME}/include/${UNIXTYPE}";; diff --git a/debian/patches/0002-jbigi-soname.patch b/debian/patches/0002-jbigi-soname.patch deleted file mode 100644 index 08c4748a1..000000000 --- a/debian/patches/0002-jbigi-soname.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: Kill Your TV -Date: Wed, 11 May 2011 00:12:04 +0000 -Subject: jbigi soname - -The purpose of this patch is to change the path that build_jbigi.sh -expects to find the source files at. At the same time I'm specifying -a soname to shut lintian up. ---- - core/c/jbigi/build_jbigi.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/core/c/jbigi/build_jbigi.sh b/core/c/jbigi/build_jbigi.sh -index 1521392..6a89c92 100755 ---- a/core/c/jbigi/build_jbigi.sh -+++ b/core/c/jbigi/build_jbigi.sh -@@ -68,7 +68,7 @@ - BUILD_OS="linux" - fi - COMPILEFLAGS="-fPIC -Wall $CFLAGS" -- INCLUDES="-I. -I../../jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/$BUILD_OS -I/usr/local/include" -+ INCLUDES="-I. -I./jbigi/include -I$JAVA_HOME/include -I$JAVA_HOME/include/$BUILD_OS -I/usr/local/include" - LINKFLAGS="-shared -Wl,-soname,libjbigi.so" - LIBFILE="libjbigi.so";; - *) -@@ -89,8 +89,8 @@ - [ $BITS -eq 64 -a "${UNAME#*86}" != "$UNAME" ] && COMPILEFLAGS="-m64 $COMPILEFLAGS" && LINKFLAGS="-m64 $LINKFLAGS" - - echo "Compiling C code..." --echo "Compile: \"$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c\"" --$CC -c $COMPILEFLAGS $INCLUDES ../../jbigi/src/jbigi.c || exit 1 -+echo "Compile: \"$CC -c $COMPILEFLAGS $INCLUDES ./jbigi/src/jbigi.c\"" -+$CC -c $COMPILEFLAGS $INCLUDES ./jbigi/src/jbigi.c || exit 1 - echo "Link: \"$CC $LINKFLAGS $INCLUDES -o $LIBFILE jbigi.o $INCLUDELIBS $STATICLIBS $LIBPATH\"" - $CC $LINKFLAGS $INCLUDES -o $LIBFILE jbigi.o $INCLUDELIBS $STATICLIBS $LIBPATH || exit 1 - diff --git a/debian/patches/0003-rename-jcpuid.patch b/debian/patches/0003-rename-jcpuid.patch deleted file mode 100644 index 336a70d1e..000000000 --- a/debian/patches/0003-rename-jcpuid.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Kill Your TV -Date: Tue, 24 May 2011 21:26:10 +0000 -Subject: rename jcpuid - ---- - core/c/jcpuid/build.sh | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/core/c/jcpuid/build.sh b/core/c/jcpuid/build.sh -index 5b63c6c..f39148d 100755 ---- a/core/c/jcpuid/build.sh -+++ b/core/c/jcpuid/build.sh -@@ -125,12 +125,8 @@ - exit 1 - fi - -- LDFLAGS="${LDFLAGS} -shared -Wl,-soname,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 -+ LDFLAGS="${LDFLAGS} -shared -Wl,-soname,libjcpuid.so" -+ LIBFILE="../jbigi/libjcpuid.so" - CFLAGS="${CFLAGS} -fPIC -Wall" - INCLUDES="-I. -Iinclude -I${JAVA_HOME}/include -I${JAVA_HOME}/include/${UNIXTYPE}";; - esac diff --git a/debian/patches/series b/debian/patches/series index 9ff42c435..9767bacd6 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1 @@ 0001-path-substitution.patch -0002-jbigi-soname.patch -0003-rename-jcpuid.patch diff --git a/history.txt b/history.txt index 3657535f1..5107bcfdf 100644 --- a/history.txt +++ b/history.txt @@ -1,5 +1,19 @@ +2017-11-19 zzz + * Debian: + - Fix builds for x32 (ticket #2076) + - Incorporate patches 2 and 3 into build scripts + * DTG: On OSX, set dock icon, and enable by default + 2017-11-18 zzz - * Reseed: Add SOCKS proxy support (ticket #1130) + * Reseed: + - Add SOCKS proxy support (ticket #1130) + - Show proxy info, if applicable, in logs + - Show status in summary bar for manual reseed (previously hidden if more than 30 routers) + - Show status in summary bar after successul completion + - Show reseed button in summary bar if less than 50 known RIs (previously 30) + - Show current status on /configreseed if already running + - Consolidate proxy settings detection in ReseedRunner constructor + - Enhance help text on /configreseed (tickets #423, #1130) 2017-11-17 zzz * Addressbook: Fix adding alternates after importing an empty book (ticket #2072) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index f6e6df3a5..4e28a2c8d 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 4; + public final static long BUILD = 5; /** for example "-test" */ public final static String EXTRA = "";