From dab792e5f21939f7048868a465ed75e7acdaa48b Mon Sep 17 00:00:00 2001 From: mid-kid Date: Fri, 6 Nov 2020 13:36:00 +0100 Subject: [PATCH] Upgrade java bootstrap to 3.17.0 and 11.0.9.1+1 --- java/build.sh | 10 ++++--- java/build_gcc.sh | 6 ++--- java/build_icedtea7.sh | 7 +++-- java/build_icedtea8.sh | 2 +- java/{build_jdk10.sh => build_jdk.sh} | 17 ++++++++---- java/build_jdk11.sh | 37 -------------------------- java/build_jdk9.sh | 37 -------------------------- java/download.sh | 10 +++---- java/download.sha256 | 38 +++++++++++++-------------- java/icedtea7-fixes.patch | 27 +++++++++++++++++++ java/icedtea7-newerror.txt | 7 +++++ 11 files changed, 85 insertions(+), 113 deletions(-) rename java/{build_jdk10.sh => build_jdk.sh} (70%) delete mode 100755 java/build_jdk11.sh delete mode 100755 java/build_jdk9.sh create mode 100644 java/icedtea7-fixes.patch create mode 100644 java/icedtea7-newerror.txt diff --git a/java/build.sh b/java/build.sh index 32a4af8..58783a6 100755 --- a/java/build.sh +++ b/java/build.sh @@ -3,10 +3,14 @@ set -eu export MAKEFLAGS="-j$(nproc)" +version_jdk11=11.0.9.1+1 +version_jdk10=10.0.2+13 +version_jdk9=9+181 + [ ! -d build/install-gcc ] && ./build_gcc.sh [ ! -d build/install-ant ] && ./build_ant.sh [ ! -d build/install-icedtea7 ] && ./build_icedtea7.sh [ ! -d build/install-icedtea8 ] && ./build_icedtea8.sh -[ ! -d build/install-jdk9 ] && ./build_jdk9.sh -[ ! -d build/install-jdk10 ] && ./build_jdk10.sh -[ ! -d build/install-jdk11 ] && ./build_jdk11.sh +[ ! -d build/install-jdk9 ] && ./build_jdk.sh icedtea8 jdk9 "$version_jdk9" +[ ! -d build/install-jdk10 ] && ./build_jdk.sh jdk9 jdk10 "$version_jdk10" +[ ! -d build/install-jdk11 ] && ./build_jdk.sh jdk10 jdk11 "$version_jdk11" diff --git a/java/build_gcc.sh b/java/build_gcc.sh index a852fef..9faa6e1 100755 --- a/java/build_gcc.sh +++ b/java/build_gcc.sh @@ -19,7 +19,7 @@ sed -i -e 's/\.\/fixinc\.sh/-c true/' gcc/Makefile.in mkdir -p build; cd build # Configure source -../configure \ +CFLAGS='-O2 -w' CXXFLAGS='-O2 -w' ../configure \ --prefix="$dir_install" \ --disable-multilib \ --disable-bootstrap \ @@ -29,8 +29,8 @@ mkdir -p build; cd build --with-java-home="$dir_install/lib/jvm/jre" # Build and install -make -make install +make all-gcc all-target-libgcc all-target-libstdc++-v3 all-target-libjava +make install-gcc install-target-libgcc install-target-libstdc++-v3 install-target-libjava cd .. sed -e "s#@JAVA@#$dir_install/lib/jvm/bin/java#" \ diff --git a/java/build_icedtea7.sh b/java/build_icedtea7.sh index ce71294..8caf821 100755 --- a/java/build_icedtea7.sh +++ b/java/build_icedtea7.sh @@ -11,7 +11,7 @@ makeopts_jobs() { echo ${jobs:-1} } -version_icedtea7=2.6.19 +version_icedtea7=2.6.17 dir_download="$PWD/download" mkdir -p build; cd build @@ -21,6 +21,8 @@ dir_install="$PWD/install-icedtea7" tar xf "$dir_download/icedtea-$version_icedtea7.tar.xz" cd "icedtea-$version_icedtea7" +cp ../../icedtea7-fixes.patch . + for part in corba.tar.bz2 hotspot.tar.bz2 jaxp.tar.bz2 jaxws.tar.bz2 jdk.tar.bz2 langtools.tar.bz2 openjdk.tar.bz2; do cp "$dir_download/icedtea-$version_icedtea7-$part" "$part" done @@ -36,10 +38,11 @@ export PATH="$PWD/../install-ant/bin:$PWD/../install-gcc/lib/jvm/bin:$PWD/../ins --disable-docs \ --disable-downloading \ --without-rhino \ + --disable-system-gtk \ --disable-system-kerberos \ --disable-system-pcsc \ --disable-system-sctp # Build and install -make +make DISTRIBUTION_PATCHES=icedtea7-fixes.patch make install diff --git a/java/build_icedtea8.sh b/java/build_icedtea8.sh index fc19c07..bea959f 100755 --- a/java/build_icedtea8.sh +++ b/java/build_icedtea8.sh @@ -11,7 +11,7 @@ makeopts_jobs() { echo ${jobs:-1} } -version_icedtea8=3.13.0 +version_icedtea8=3.17.0 dir_download="$PWD/download" mkdir -p build; cd build diff --git a/java/build_jdk10.sh b/java/build_jdk.sh similarity index 70% rename from java/build_jdk10.sh rename to java/build_jdk.sh index 2cf1763..624d1bf 100755 --- a/java/build_jdk10.sh +++ b/java/build_jdk.sh @@ -11,21 +11,28 @@ makeopts_jobs() { echo ${jobs:-1} } -version_jdk10=10.0.2+13 +version_jdk_bootstrap="$1" +version_jdk_major="$2" +version_jdk="$3" dir_download="$PWD/download" mkdir -p build; cd build -dir_install="$PWD/install-jdk10" +dir_install="$PWD/install-$version_jdk_major" + +case "$version_jdk_major" in +jdk9) name="jdk" ;; +*) name="${version_jdk_major}u" ;; +esac # Prepare source -tar xf "$dir_download/jdk10u-jdk-$version_jdk10.tar.bz2" -cd "jdk10u-jdk-$version_jdk10" +tar xf "$dir_download/$name-jdk-$version_jdk.tar.bz2" +cd "$name-jdk-$version_jdk" chmod +x configure # Configure source ./configure \ --prefix="$dir_install" \ - --with-boot-jdk="$PWD/../install-jdk9" \ + --with-boot-jdk="$PWD/../install-$version_jdk_bootstrap" \ --with-jobs="$(makeopts_jobs)" \ --disable-full-docs \ --enable-headless-only \ diff --git a/java/build_jdk11.sh b/java/build_jdk11.sh deleted file mode 100755 index 5da2081..0000000 --- a/java/build_jdk11.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -set -eu - -# From: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/multiprocessing.eclass -makeopts_jobs() { - # This assumes the first .* will be more greedy than the second .* - # since POSIX doesn't specify a non-greedy match (i.e. ".*?"). - local jobs=$(echo " $MAKEFLAGS " | sed -r -n \ - -e 's:.*[[:space:]](-j|--jobs[=[:space:]])[[:space:]]*([0-9]+).*:\2:p' \ - -e 's:.*[[:space:]](-j|--jobs)[[:space:]].*:999:p') - echo ${jobs:-1} -} - -version_jdk11=11.0.5+6 - -dir_download="$PWD/download" -mkdir -p build; cd build -dir_install="$PWD/install-jdk11" - -# Prepare source -tar xf "$dir_download/jdk11u-jdk-$version_jdk11.tar.bz2" -cd "jdk11u-jdk-$version_jdk11" -chmod +x configure - -# Configure source -./configure \ - --prefix="$dir_install" \ - --with-boot-jdk="$PWD/../install-jdk10" \ - --with-jobs="$(makeopts_jobs)" \ - --disable-full-docs \ - --enable-headless-only \ - --disable-warnings-as-errors - -# Build and install -unset MAKEFLAGS -make product-images -make install diff --git a/java/build_jdk9.sh b/java/build_jdk9.sh deleted file mode 100755 index fbdab82..0000000 --- a/java/build_jdk9.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh -set -eu - -# From: https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/eclass/multiprocessing.eclass -makeopts_jobs() { - # This assumes the first .* will be more greedy than the second .* - # since POSIX doesn't specify a non-greedy match (i.e. ".*?"). - local jobs=$(echo " $MAKEFLAGS " | sed -r -n \ - -e 's:.*[[:space:]](-j|--jobs[=[:space:]])[[:space:]]*([0-9]+).*:\2:p' \ - -e 's:.*[[:space:]](-j|--jobs)[[:space:]].*:999:p') - echo ${jobs:-1} -} - -version_jdk9=9+181 - -dir_download="$PWD/download" -mkdir -p build; cd build -dir_install="$PWD/install-jdk9" - -# Prepare source -tar xf "$dir_download/jdk-jdk-$version_jdk9.tar.bz2" -cd "jdk-jdk-$version_jdk9" -chmod +x configure - -# Configure source -./configure \ - --prefix="$dir_install" \ - --with-boot-jdk="$PWD/../install-icedtea8" \ - --with-jobs="$(makeopts_jobs)" \ - --disable-full-docs \ - --enable-headless-only \ - --disable-warnings-as-errors - -# Build and install -unset MAKEFLAGS -make product-images -make install diff --git a/java/download.sh b/java/download.sh index 82ce538..c159d4f 100755 --- a/java/download.sh +++ b/java/download.sh @@ -1,14 +1,12 @@ #!/bin/sh set -eu -# BIG FAT NOTE/WARNING: Building icedtea-2.6.19 in this manner seems to fail... - -version_jdk11=11.0.5+6 # https://hg.openjdk.java.net/jdk-updates/jdk11u/tags +version_jdk11=11.0.9.1+1 # https://hg.openjdk.java.net/jdk-updates/jdk11u/tags version_jdk10=10.0.2+13 # https://hg.openjdk.java.net/jdk-updates/jdk10u/tags version_jdk9=9+181 # https://hg.openjdk.java.net/jdk/jdk/tags -version_icedtea8=3.13.0 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea -version_icedtea7=2.6.19 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea -version_ant=1.9.13 # https://ant.apache.org/manual-1.9.x/index.html (1.9.14 seems to fail) +version_icedtea8=3.17.0 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea +version_icedtea7=2.6.17 # https://icedtea.classpath.org/wiki/Main_Page#Getting_IcedTea (2.6.18+ seems to fail) +version_ant=1.9.13 # https://ant.apache.org/manual-1.9.x/index.html (1.9.14+ seems to fail) version_gcc=6.5.0 # Final version version_ecj=4.9 # Final version diff --git a/java/download.sha256 b/java/download.sha256 index f880805..aeaf9eb 100644 --- a/java/download.sha256 +++ b/java/download.sha256 @@ -1,24 +1,24 @@ fdefd01c909a69fbeab1c45a815e3a80d86351f61b992dfe2e2191d9b009aaaf apache-ant-1.9.13-src.tar.bz2 9506e75b862f782213df61af67338eb7a23c35ff425d328affc65585477d34cd ecj-4.9.jar 7ef1796ce497e89479183702635b14bb7a46b53249209a5e0f999bebf4740945 gcc-6.5.0.tar.xz -aae916ff4c1f3cbdb14f57716d03adf1f2d9cb221bf0fa0580f607d7a360245b icedtea-2.6.19-corba.tar.bz2 -fbbfa17c95891491311758d2ef595ec322c46452e0bf7b51eb42a9ca1ccc419b icedtea-2.6.19-hotspot.tar.bz2 -4545cf0b2bfeca6cd019f1c8bab3ed7317963776b859f80ffc4d8d79d3c82e8f icedtea-2.6.19-jaxp.tar.bz2 -9b2b76598996962c5128e586edded4022e162421d9898a57c3d6dce2fbe7ee6b icedtea-2.6.19-jaxws.tar.bz2 -1653315e15f30f4f250d6ec9085043b534a28c293ba445467e274c56fef84b88 icedtea-2.6.19-jdk.tar.bz2 -d9d02a7f135350d66d2dde28dad7f2257843d11cc663b641740b1cf21ec3d710 icedtea-2.6.19-langtools.tar.bz2 -2531838d9cf08755d88c91498da6fef427000d0fd527c7ddeaa60c993aa679ea icedtea-2.6.19-openjdk.tar.bz2 -2ba0d2ec3970a163f27d1996074ac4a8767075fc0b7671ef3974cd667aba277d icedtea-2.6.19.tar.xz -552827f8c7b78e442bffa58989821949d8ab07dba5436420b5a53b5a25624e6b icedtea-3.13.0-corba.tar.xz -29592d513662e853f3156a7afb961eb805f92ea731469bbe1e9812365f573372 icedtea-3.13.0-hotspot.tar.xz -bca5bcaada48e24e1cc968682bf953e4ea4c54a116155e36c9176534e6bc9e38 icedtea-3.13.0-jaxp.tar.xz -70982e8eaa599be615d7464ea619f5d8f02651c55445bca9ff15b96aecc941c5 icedtea-3.13.0-jaxws.tar.xz -77508213af438f96a92a1764d1dcff3ce2d8b96dc90962b34ae372a9ed3154cf icedtea-3.13.0-jdk.tar.xz -f1b3cb9a28fbd9c90819370f4ee00863feb02ecce064d429c4a9d6565f78faab icedtea-3.13.0-langtools.tar.xz -5ca970b7408e8b42f1bdd43a6a22564cbb46a083e022ca2a0598a0f879553138 icedtea-3.13.0-nashorn.tar.xz -8509e143bb996b9cab1b3fb06a8a490215d9418d3c1a3abef56f900532584ccd icedtea-3.13.0-openjdk.tar.xz -2d7a979f22cf7dd95e02b7b396d1a136bac99c044c3063270bdc2da650273bfc icedtea-3.13.0.tar.xz +808e6120513aa15e6b219899c1189e2d591c3984454d7db4b239556d437cf764 icedtea-2.6.17-corba.tar.bz2 +b22bca4cd64c18750b7e31c0cbf97919f9f5df610916cfa5e01e80832f139496 icedtea-2.6.17-hotspot.tar.bz2 +4aa64f80dd103ebece1aaaa6d126f751eafabb2f677537dbb25c0e0c350ad3fb icedtea-2.6.17-jaxp.tar.bz2 +0703a48a420932fb62288c211ccb27596db4e3f1cfd0701321abcca259c93e97 icedtea-2.6.17-jaxws.tar.bz2 +236180ad395eb5036cc8577aad7c4cdc2a96dc79da717fe37673a43ba26e08ee icedtea-2.6.17-jdk.tar.bz2 +b3c9130e6e813d12376cf685f1726988bad04b256390b00a5ef403a5619e6698 icedtea-2.6.17-langtools.tar.bz2 +7627e8483566b1eec4dd52c5f5052a46139529d68335c10d8ac8b0ff11215455 icedtea-2.6.17-openjdk.tar.bz2 +56360402eabda81200439485a60f0fdb3790000f957651757ea688b336cdab57 icedtea-2.6.17.tar.xz +8cd38fecfeceea5b4f342702d9d527c8485691984e3a0e1e69253ba62a58397d icedtea-3.17.0-corba.tar.xz +874a81943dbba0e00d1586f200f132c72417781f437910f448ed7af244e9e9a0 icedtea-3.17.0-hotspot.tar.xz +b987fb2ab789e55d312c9b955e441fb5f39443e3bb57967c3ea03961e68cac41 icedtea-3.17.0-jaxp.tar.xz +4c58d1e7c1aa2291d90a9f5881ef918e3ac5a947c355df4be275fedf82fe55db icedtea-3.17.0-jaxws.tar.xz +39e77d08e322c2d60af2254743867dde50bbf6bf4f39d5b46df1eb311ba14af4 icedtea-3.17.0-jdk.tar.xz +b6f28501eafc5b35396ed9e265c9f7f1e764a8cb11f910b85481048fae78bfbb icedtea-3.17.0-langtools.tar.xz +0d1dd7128a3503063589be89d775221508bfa87a31f5cf12f8497bac30cbe459 icedtea-3.17.0-nashorn.tar.xz +fec83cb0e6e0df32799c60a0980deb5ecd7612004af82c76320d1c3c1bc4baf0 icedtea-3.17.0-openjdk.tar.xz +089e85d6046775fc565cda87eba2c0245efd38b1bf713bc0b773f6dd40a49288 icedtea-3.17.0.tar.xz 3bb23cff0a6e5a7a820e19cce4b9b0f51a7b84ee9e0eeb048b463a5f3e996db0 javac.in -374f7ae35f0a7439a40bd2c765d1f410607c75c6c1e788f1a344a42e59431f51 jdk10u-jdk-10.0.2+13.tar.bz2 -a46f84b7cde3231cf004dab94fb96c11f2211caed356e2770d7731f9bdb80531 jdk11u-jdk-11.0.5+6.tar.bz2 8df9102cd985df96733cd7b6e58136681bd6df8812698393d6fcf5049b0dc7e3 jdk-jdk-9+181.tar.bz2 +374f7ae35f0a7439a40bd2c765d1f410607c75c6c1e788f1a344a42e59431f51 jdk10u-jdk-10.0.2+13.tar.bz2 +1bfcf63e0be8fc37517856e6181b97ed1d83a2436949ad21855ffc6ce14a5a0e jdk11u-jdk-11.0.9.1+1.tar.bz2 diff --git a/java/icedtea7-fixes.patch b/java/icedtea7-fixes.patch new file mode 100644 index 0000000..a1977d0 --- /dev/null +++ b/java/icedtea7-fixes.patch @@ -0,0 +1,27 @@ ++++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +@@ -41,7 +41,6 @@ + #endif + #ifdef __linux__ + #include +-#include + #include + #include + ++++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c +@@ -43,7 +43,6 @@ + #endif + #ifdef __linux__ + #include +-#include + #endif + + #include "jvm.h" ++++ openjdk/jdk/make/tools/freetypecheck/Makefile +@@ -64,7 +64,6 @@ FT_LD_OPTIONS += $(LFLAGS_$(COMPILER_VER + + # Create test program + all: $(FT_TEST) +- $(FT_TEST) + + # On windows we need to copy dll to test dir to ensure it will be found + # at runtime diff --git a/java/icedtea7-newerror.txt b/java/icedtea7-newerror.txt new file mode 100644 index 0000000..1bb24f7 --- /dev/null +++ b/java/icedtea7-newerror.txt @@ -0,0 +1,7 @@ +---------- +1. ERROR in /root/java/build/icedtea-2.6.19/openjdk-boot/jdk/src/share/classes/sun/security/util/Optional.java (at line 196) + return Optional.ofNullable(mapper.apply(value)); + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Type mismatch: cannot convert from Optional to Optional +---------- +1 problem (1 error)gmake[6]: *** [/root/java/build/icedtea-2.6.19/openjdk-boot/jdk/make/common/Rules.gmk:254: .compile.classlist] Error 255