diff --git a/openjdk10-boot/.footprint b/openjdk10-boot/.footprint new file mode 100644 index 0000000..044dce6 --- /dev/null +++ b/openjdk10-boot/.footprint @@ -0,0 +1,164 @@ +drwxr-xr-x root/root openjdk10-boot/ +drwxr-xr-x root/root openjdk10-boot/bin/ +-rwxr-xr-x root/root openjdk10-boot/bin/idlj +-rwxr-xr-x root/root openjdk10-boot/bin/jaotc +-rwxr-xr-x root/root openjdk10-boot/bin/jar +-rwxr-xr-x root/root openjdk10-boot/bin/jarsigner +-rwxr-xr-x root/root openjdk10-boot/bin/java +-rwxr-xr-x root/root openjdk10-boot/bin/javac +-rwxr-xr-x root/root openjdk10-boot/bin/javadoc +-rwxr-xr-x root/root openjdk10-boot/bin/javap +-rwxr-xr-x root/root openjdk10-boot/bin/jcmd +-rwxr-xr-x root/root openjdk10-boot/bin/jconsole +-rwxr-xr-x root/root openjdk10-boot/bin/jdb +-rwxr-xr-x root/root openjdk10-boot/bin/jdeprscan +-rwxr-xr-x root/root openjdk10-boot/bin/jdeps +-rwxr-xr-x root/root openjdk10-boot/bin/jhsdb +-rwxr-xr-x root/root openjdk10-boot/bin/jimage +-rwxr-xr-x root/root openjdk10-boot/bin/jinfo +-rwxr-xr-x root/root openjdk10-boot/bin/jjs +-rwxr-xr-x root/root openjdk10-boot/bin/jlink +-rwxr-xr-x root/root openjdk10-boot/bin/jmap +-rwxr-xr-x root/root openjdk10-boot/bin/jmod +-rwxr-xr-x root/root openjdk10-boot/bin/jps +-rwxr-xr-x root/root openjdk10-boot/bin/jrunscript +-rwxr-xr-x root/root openjdk10-boot/bin/jshell +-rwxr-xr-x root/root openjdk10-boot/bin/jstack +-rwxr-xr-x root/root openjdk10-boot/bin/jstat +-rwxr-xr-x root/root openjdk10-boot/bin/jstatd +-rwxr-xr-x root/root openjdk10-boot/bin/keytool +-rwxr-xr-x root/root openjdk10-boot/bin/orbd +-rwxr-xr-x root/root openjdk10-boot/bin/pack200 +-rwxr-xr-x root/root openjdk10-boot/bin/rmic +-rwxr-xr-x root/root openjdk10-boot/bin/rmid +-rwxr-xr-x root/root openjdk10-boot/bin/rmiregistry +-rwxr-xr-x root/root openjdk10-boot/bin/schemagen +-rwxr-xr-x root/root openjdk10-boot/bin/serialver +-rwxr-xr-x root/root openjdk10-boot/bin/servertool +-rwxr-xr-x root/root openjdk10-boot/bin/tnameserv +-rwxr-xr-x root/root openjdk10-boot/bin/unpack200 +-rwxr-xr-x root/root openjdk10-boot/bin/wsgen +-rwxr-xr-x root/root openjdk10-boot/bin/wsimport +-rwxr-xr-x root/root openjdk10-boot/bin/xjc +drwxr-xr-x root/root openjdk10-boot/conf/ +-rw-r--r-- root/root openjdk10-boot/conf/logging.properties +drwxr-xr-x root/root openjdk10-boot/conf/management/ +-rw-r--r-- root/root openjdk10-boot/conf/management/jmxremote.access +-rw-r--r-- root/root openjdk10-boot/conf/management/jmxremote.password.template +-rw-r--r-- root/root openjdk10-boot/conf/management/management.properties +-rw-r--r-- root/root openjdk10-boot/conf/net.properties +drwxr-xr-x root/root openjdk10-boot/conf/security/ +-rw-r--r-- root/root openjdk10-boot/conf/security/java.policy +-rw-r--r-- root/root openjdk10-boot/conf/security/java.security +drwxr-xr-x root/root openjdk10-boot/conf/security/policy/ +-rw-r--r-- root/root openjdk10-boot/conf/security/policy/README.txt +drwxr-xr-x root/root openjdk10-boot/conf/security/policy/limited/ +-rw-r--r-- root/root openjdk10-boot/conf/security/policy/limited/default_US_export.policy +-rw-r--r-- root/root openjdk10-boot/conf/security/policy/limited/default_local.policy +-rw-r--r-- root/root openjdk10-boot/conf/security/policy/limited/exempt_local.policy +drwxr-xr-x root/root openjdk10-boot/conf/security/policy/unlimited/ +-rw-r--r-- root/root openjdk10-boot/conf/security/policy/unlimited/default_US_export.policy +-rw-r--r-- root/root openjdk10-boot/conf/security/policy/unlimited/default_local.policy +-rw-r--r-- root/root openjdk10-boot/conf/sound.properties +drwxr-xr-x root/root openjdk10-boot/include/ +-rw-r--r-- root/root openjdk10-boot/include/classfile_constants.h +-rw-r--r-- root/root openjdk10-boot/include/ir.idl +-rw-r--r-- root/root openjdk10-boot/include/jawt.h +-rw-r--r-- root/root openjdk10-boot/include/jdwpTransport.h +-rw-r--r-- root/root openjdk10-boot/include/jni.h +-rw-r--r-- root/root openjdk10-boot/include/jvmti.h +-rw-r--r-- root/root openjdk10-boot/include/jvmticmlr.h +drwxr-xr-x root/root openjdk10-boot/include/linux/ +-rw-r--r-- root/root openjdk10-boot/include/linux/jawt_md.h +-rw-r--r-- root/root openjdk10-boot/include/linux/jni_md.h +-rw-r--r-- root/root openjdk10-boot/include/orb.idl +drwxr-xr-x root/root openjdk10-boot/lib/ +-rw-r--r-- root/root openjdk10-boot/lib/classlist +-rw-r--r-- root/root openjdk10-boot/lib/ct.sym +-rwxr-xr-x root/root openjdk10-boot/lib/jexec +drwxr-xr-x root/root openjdk10-boot/lib/jli/ +-rw-r--r-- root/root openjdk10-boot/lib/jli/libjli.so +-rw-r--r-- root/root openjdk10-boot/lib/jrt-fs.jar +-rw-r--r-- root/root openjdk10-boot/lib/jvm.cfg +-rw-r--r-- root/root openjdk10-boot/lib/libattach.so +-rw-r--r-- root/root openjdk10-boot/lib/libawt.so +-rw-r--r-- root/root openjdk10-boot/lib/libawt_headless.so +-rw-r--r-- root/root openjdk10-boot/lib/libdt_socket.so +-rw-r--r-- root/root openjdk10-boot/lib/libextnet.so +-rw-r--r-- root/root openjdk10-boot/lib/libfontmanager.so +-rw-r--r-- root/root openjdk10-boot/lib/libinstrument.so +-rw-r--r-- root/root openjdk10-boot/lib/libj2gss.so +-rw-r--r-- root/root openjdk10-boot/lib/libj2pcsc.so +-rw-r--r-- root/root openjdk10-boot/lib/libj2pkcs11.so +-rw-r--r-- root/root openjdk10-boot/lib/libjaas_unix.so +-rw-r--r-- root/root openjdk10-boot/lib/libjava.so +-rw-r--r-- root/root openjdk10-boot/lib/libjavajpeg.so +-rw-r--r-- root/root openjdk10-boot/lib/libjawt.so +-rw-r--r-- root/root openjdk10-boot/lib/libjdwp.so +-rw-r--r-- root/root openjdk10-boot/lib/libjimage.so +-rw-r--r-- root/root openjdk10-boot/lib/libjsig.so +-rw-r--r-- root/root openjdk10-boot/lib/libjsound.so +-rw-r--r-- root/root openjdk10-boot/lib/libjsoundalsa.so +-rw-r--r-- root/root openjdk10-boot/lib/liblcms.so +-rw-r--r-- root/root openjdk10-boot/lib/libmanagement.so +-rw-r--r-- root/root openjdk10-boot/lib/libmanagement_agent.so +-rw-r--r-- root/root openjdk10-boot/lib/libmanagement_ext.so +-rw-r--r-- root/root openjdk10-boot/lib/libmlib_image.so +-rw-r--r-- root/root openjdk10-boot/lib/libnet.so +-rw-r--r-- root/root openjdk10-boot/lib/libnio.so +-rw-r--r-- root/root openjdk10-boot/lib/libprefs.so +-rw-r--r-- root/root openjdk10-boot/lib/librmi.so +-rw-r--r-- root/root openjdk10-boot/lib/libsaproc.so +-rw-r--r-- root/root openjdk10-boot/lib/libsctp.so +-rw-r--r-- root/root openjdk10-boot/lib/libsunec.so +-rw-r--r-- root/root openjdk10-boot/lib/libunpack.so +-rw-r--r-- root/root openjdk10-boot/lib/libverify.so +-rw-r--r-- root/root openjdk10-boot/lib/libzip.so +-rw-r--r-- root/root openjdk10-boot/lib/modules +-rw-r--r-- root/root openjdk10-boot/lib/psfontj2d.properties +drwxr-xr-x root/root openjdk10-boot/lib/security/ +-rw-r--r-- root/root openjdk10-boot/lib/security/blacklisted.certs +-rw-r--r-- root/root openjdk10-boot/lib/security/cacerts +-rw-r--r-- root/root openjdk10-boot/lib/security/default.policy +drwxr-xr-x root/root openjdk10-boot/lib/server/ +-rw-r--r-- root/root openjdk10-boot/lib/server/Xusage.txt +-rw-r--r-- root/root openjdk10-boot/lib/server/libjsig.so +-rw-r--r-- root/root openjdk10-boot/lib/server/libjvm.so +-rw-r--r-- root/root openjdk10-boot/lib/tzdb.dat +drwxr-xr-x root/root openjdk10-boot/man/ +drwxr-xr-x root/root openjdk10-boot/man/man1/ +-rw-r--r-- root/root openjdk10-boot/man/man1/appletviewer.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/idlj.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jar.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jarsigner.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/java.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/javac.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/javadoc.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/javap.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jcmd.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jconsole.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jdb.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jdeps.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jinfo.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jjs.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jmap.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jps.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jrunscript.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jstack.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jstat.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/jstatd.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/keytool.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/orbd.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/pack200.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/rmic.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/rmid.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/rmiregistry.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/schemagen.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/serialver.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/servertool.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/tnameserv.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/unpack200.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/wsgen.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/wsimport.1.gz +-rw-r--r-- root/root openjdk10-boot/man/man1/xjc.1.gz +-rw-r--r-- root/root openjdk10-boot/release diff --git a/openjdk10-boot/Pkgfile b/openjdk10-boot/Pkgfile new file mode 100644 index 0000000..1ea825b --- /dev/null +++ b/openjdk10-boot/Pkgfile @@ -0,0 +1,129 @@ +# Description: OpenJDK 10 (minimal pkg for bootstrapping) +# URL: https://openjdk.java.net/ +# Maintainer: +# Depends on: alsa-lib cups fontconfig freetype giflib krb5 lcms2 libffi libjpeg-turbo libpng libxslt nss unzip xorg-libxrender xorg-libxt xorg-libxtst zip + +name=openjdk10-boot +version=10.0.2+13 +_boot_ver=20210207 +_cert_ver=20200215 +_jdkhash=45b1d041a4ef +release=1 +source=(https://hg.openjdk.java.net/jdk-updates/jdk10u/archive/openjdk-$version.tar.bz2 + https://stygian.me/crux/distfiles/openjdk9-boot-$_boot_ver.tar.xz + https://stygian.me/crux/distfiles/java_cacerts-$_cert_ver + # https://raw.githubusercontent.com/void-linux/void-packages/master/srcpkgs/openjdk10-bootstrap/patches/fix-compiler-version-10%2B.patch + fix-compiler-version-10+.patch + make-4.3_breaks_build.patch) + +build() { + patch -p1 -d $SRC/jdk10u-$_jdkhash -i $SRC/make-4.3_breaks_build.patch + patch -p1 -d $SRC/jdk10u-$_jdkhash -i $SRC/fix-compiler-version-10+.patch + + # Make sure we do not have ccache masquerade directory in PATH. + # Use --enable-ccache instead of providing a wrapped compiler. + # NOTE: the check for usr/bin/ccache may be too specific, since it rules out + # local or opt installs. + if [ -e '/usr/bin/ccache' ]; then + PATH=$(echo ${PATH} | awk -v RS=: -v ORS=: '/ccache/ {next} {print}' | sed 's/:*$//') + PKGMK_JDK10+=' --enable-ccache' + fi + + unset JAVA_HOME + OLD_PATH=$PATH + export JAVA_HOME=$SRC/openjdk9-boot + export PATH=$JAVA_HOME/bin:$OLD_PATH + + unset CFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + [ -z $JOBS ] && JOBS=$(nproc) + + mkdir $SRC/build-boot + cd $SRC/build-boot + + export _CFLAGS+=' -fcommon' + export _CXXFLAGS+=' -fcommon' + LC_ALL=C + /bin/bash ../jdk10u-$_jdkhash/configure $PKGMK_JDK10 \ + --prefix=$SRC/build-boot/images/jdk \ + --disable-hotspot-gtest \ + --disable-precompiled-headers \ + --disable-warnings-as-errors \ + --enable-dtrace=no \ + --enable-headless-only \ + --enable-unlimited-crypto \ + --with-native-debug-symbols=none \ + --with-debug-level=release \ + --with-stdc++lib=dynamic \ + --with-jvm-variants=server \ + --with-cacerts-file=$SRC/java_cacerts-$_cert_ver \ + --with-jtreg=no \ + --with-boot-jdk=$JAVA_HOME \ + --with-version-opt="CRUX-r$release" \ + --with-version-build="${version#*+}" \ + --with-vendor-name="CRUX" \ + --with-jobs=$JOBS \ + --with-libjpeg=system \ + --with-giflib=system \ + --with-libpng=system \ + --with-zlib=system \ + --with-lcms=system \ + --with-extra-cflags="$_CFLAGS" \ + --with-extra-cxxflags="$_CXXFLAGS" + + # NOTE: for debugging build issues: set LOG to debug, JOBS to 1. + LC_ALL=C \ + make LOG=warn JOBS=$JOBS jdk-image + + unset JAVA_HOME + export JAVA_HOME=$SRC/build-boot/images/jdk + export PATH=$JAVA_HOME/bin:$OLD_PATH + + mkdir $SRC/build + cd $SRC/build + + LC_ALL=C + /bin/bash ../jdk10u-$_jdkhash/configure $PKGMK_JDK10 \ + --prefix=/$name \ + --disable-hotspot-gtest \ + --disable-precompiled-headers \ + --disable-warnings-as-errors \ + --enable-dtrace=no \ + --enable-headless-only \ + --enable-unlimited-crypto \ + --with-native-debug-symbols=none \ + --with-debug-level=release \ + --with-stdc++lib=dynamic \ + --with-jvm-variants=server \ + --with-cacerts-file=$SRC/java_cacerts-$_cert_ver \ + --with-jtreg=no \ + --with-boot-jdk=$JAVA_HOME \ + --with-version-opt="CRUX-r$release" \ + --with-version-build="${version#*+}" \ + --with-vendor-name="CRUX" \ + --with-jobs=$JOBS \ + --with-libjpeg=system \ + --with-giflib=system \ + --with-libpng=system \ + --with-zlib=system \ + --with-lcms=system \ + --with-extra-cflags="$_CFLAGS" \ + --with-extra-cxxflags="$_CXXFLAGS" + + # NOTE: for debugging build issues: set LOG to debug, JOBS to 1. + LC_ALL=C \ + make LOG=warn JOBS=$JOBS jdk-image + + rm -r images/jdk/demo + rm -r images/jdk/jmods + rm -r images/jdk/lib/src.zip + rm -r images/jdk/lib/*.ja + rm -r images/jdk/man/ja + rm -r images/jdk/man/ja_JP* + rm -r images/jdk/legal + + cp -r images/jdk $PKG/$name +} diff --git a/openjdk10-boot/fix-compiler-version-10+.patch b/openjdk10-boot/fix-compiler-version-10+.patch new file mode 100644 index 0000000..88d2784 --- /dev/null +++ b/openjdk10-boot/fix-compiler-version-10+.patch @@ -0,0 +1,31 @@ +--- a/make/autoconf/generated-configure.sh 2018-06-24 16:07:06.000000000 +0200 ++++ b/make/autoconf/generated-configure.sh 2020-08-18 23:58:41.459262000 +0200 +@@ -34373,7 +34373,7 @@ + COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \ + $SED -e 's/ *[Uu]sage:.*//'` + COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \ +- $SED -e "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9]\.[0-9][0-9]*\).*/\1/"` ++ $SED -e "s/^.*[ ,\t]$COMPILER_NAME[ ,\t]\([1-9][0-9]*\.[0-9][0-9]*\).*/\1/"` + elif test "x$TOOLCHAIN_TYPE" = xxlc; then + # xlc -qversion output typically looks like + # IBM XL C/C++ for AIX, V11.1 (5724-X13) +@@ -34434,7 +34434,7 @@ + COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT | \ + $SED -e 's/ *Copyright .*//'` + COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \ +- $SED -e 's/^.* \([1-9]\.[0-9.]*\)[^0-9.].*$/\1/'` ++ $SED -e 's/^.* \([1-9][0-9]*\.[0-9.]*\)[^0-9.].*$/\1/'` + elif test "x$TOOLCHAIN_TYPE" = xclang; then + # clang --version output typically looks like + # Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) +--- a/make/autoconf/toolchain.m4 2018-06-24 16:07:06.000000000 +0200 ++++ b/make/autoconf/toolchain.m4 2020-08-19 00:01:30.294255268 +0200 +@@ -424,7 +424,7 @@ + # Collapse compiler output into a single line + COMPILER_VERSION_STRING=`$ECHO $COMPILER_VERSION_OUTPUT` + COMPILER_VERSION_NUMBER=`$ECHO $COMPILER_VERSION_OUTPUT | \ +- $SED -e 's/^.* version \(@<:@1-9@:>@@<:@0-9.@:>@*\).*$/\1/'` ++ $SED -e 's/^.* version \(@<:@1-9@:>@@<:@0-9@:>@*\.@<:@0-9.@:>@*\).*$/\1/'` + else + AC_MSG_ERROR([Unknown toolchain type $TOOLCHAIN_TYPE.]) + fi diff --git a/openjdk10-boot/make-4.3_breaks_build.patch b/openjdk10-boot/make-4.3_breaks_build.patch new file mode 100644 index 0000000..76da003 --- /dev/null +++ b/openjdk10-boot/make-4.3_breaks_build.patch @@ -0,0 +1,34 @@ + +# HG changeset patch +# User ihse +# Date 1580378910 -3600 +# Node ID 0743e1d49930a95d045bfdaa8f8607a00289e677 +# Parent 24b4c763cb2276db073bec263246879eb312daeb +8237879: make 4.3 breaks build +Reviewed-by: erikj, tbell + +diff -r 24b4c763cb22 -r 0743e1d49930 make/common/MakeBase.gmk +--- a/make/common/MakeBase.gmk Thu Jan 30 10:10:48 2020 +0100 ++++ b/make/common/MakeBase.gmk Thu Jan 30 11:08:30 2020 +0100 +@@ -525,15 +525,16 @@ + # Param 2 - (optional) name of file to store value in + DependOnVariableHelper = \ + $(strip \ +- $(eval -include $(call DependOnVariableFileName, $1, $2)) \ ++ $(eval $1_filename := $(call DependOnVariableFileName, $1, $2)) \ ++ $(if $(wildcard $($1_filename)), $(eval include $($1_filename))) \ + $(if $(call equals, $(strip $($1)), $(strip $($1_old))),,\ +- $(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \ ++ $(call MakeDir, $(dir $($1_filename))) \ + $(if $(findstring $(LOG_LEVEL), trace), \ + $(info NewVariable $1: >$(strip $($1))<) \ + $(info OldVariable $1: >$(strip $($1_old))<)) \ + $(call WriteFile, $1_old:=$(call DoubleDollar,$(call EscapeHash,$($1))), \ +- $(call DependOnVariableFileName, $1, $2))) \ +- $(call DependOnVariableFileName, $1, $2) \ ++ $($1_filename))) \ ++ $($1_filename) \ + ) + + # Main macro +