Bug#876426: Patches for JDK9 EA & GA support

2017-10-06 Thread Sven Geggus
Tim Van Holder wrote:

> Below are the local changes I have been using during Early Access, and
> which also work for the current GA release.

This has at least one additional issue.
/usr/lib/jvm/oracle-java9-jdk-amd64/jre/bin
does not exist anymore.

Thus binaries which resided in this directory in Java 8 are not added
in the postinst update-alternatives call in case of a Java 9 install.

Regards

Sven

__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.


Bug#876426: Patches for JDK9 EA & GA support

2017-10-03 Thread Tim Van Holder
Below are the local changes I have been using during Early Access, and
which also work for the current GA release.

Note: only for JDK & docs; I haven't needed JRE packages. But I would
assume that the JRE setup is basically a subset of SDK and could be easily
adapted.

The Early Access builds included x86 binaries; the current GA doesn't.
However, I have kept the x86 matchers in case they get added later.

--- oracle-jdk-doc.sh.orig2016-09-11 02:39:56.0 +0200
+++ oracle-jdk-doc.sh2017-10-03 09:22:38.507208079 +0200
@@ -2,8 +2,8 @@
 oracle_j2sdk_doc_detect() {
   j2se_release=0

-  # Update or GA release (jdk-7u25-apidocs.zip)
-  if [[ $archive_name =~ jdk-([0-9]+)(u([0-9]+))?-(apidocs|docs-all)\.zip
]]
+  # Update or GA release (jdk-7u25-apidocs.zip or jdk-9_doc-all.zip)
+  if [[ $archive_name =~
jdk-([0-9]+)(u([0-9]+))?([-_](apidocs|docs?-all)\.zip) ]]
   then
 j2se_release=${BASH_REMATCH[1]}
 j2se_update=${BASH_REMATCH[3]}
@@ -33,6 +33,21 @@
 fi
   fi

+  # JDK9 Early Access Release (jdk-9_doc-api-spec.tar.gz)
+  if [[ $archive_name =~ jdk-(9)(u([0-9]+))?_doc-api-spec.tar.gz ]]
+  then
+j2se_release=${BASH_REMATCH[1]}
+j2se_update=${BASH_REMATCH[3]}
+if [[ $j2se_update != "" ]]
+then
+  j2se_version_name="$j2se_release Update $j2se_update Early Access
Release"
+  j2se_version=${j2se_release}u${j2se_update}~ea${revision}
+else
+  j2se_version_name="$j2se_release Early Access Release"
+  j2se_version=${j2se_release}~ea${revision}
+fi
+  fi
+
   if [[ $j2se_release > 0 ]]
   then
 case "$j2se_release" in
--- oracle-jdk.sh.orig2016-09-11 02:39:56.0 +0200
+++ oracle-jdk.sh2017-10-03 09:19:52.954958234 +0200
@@ -3,8 +3,8 @@
 oracle_j2sdk_detect() {
   j2se_release=0

-  # Update or GA release (jdk-7u15-linux-i586.tar.gz)
-  if [[ $archive_name =~
jdk-([0-9]+)(u([0-9]+))?-linux-(i586|x64|amd64|arm-vfp-hflt)\.(bin|tar\.gz)
]]
+  # Update or GA release (jdk-7u15-linux-i586.tar.gz,
jdk-9_linux-x64_bin.tar.gz)
+  if [[ $archive_name =~
jdk-([0-9]+)(u([0-9]+))?[-_]linux-(i586|x86|x64|amd64|arm-vfp-hflt).*\.(bin|tar\.gz)
]]
   then
 j2se_release=${BASH_REMATCH[1]}
 j2se_update=${BASH_REMATCH[3]}
@@ -19,13 +19,13 @@
 fi
   fi

-  # Early Access Release (jdk-8-ea-bin-b103-linux-i586-15_aug_2013.tar.gz)
-  if [[ $archive_name =~
jdk-([0-9]+)(u([0-9]+))?-(ea|fcs)(-bin)?-(b[0-9]+)-linux-(i586|x64|amd64|arm-vfp-hflt).*\.(bin|tar\.gz)
]]
+  # Early Access Release (jdk-8-ea-bin-b103-linux-i586-15_aug_2013.tar.gz,
jdk-9[-ea]+162_linux-x64_bin.tar.gz)
+  if [[ $archive_name =~
jdk-([0-9]+)(u([0-9]+))?(-(ea|fcs))?(-bin)?(-b|[+])([0-9]+)[-_]linux-(i586|x86|x64|amd64|arm-vfp-hflt).*\.(bin|tar\.gz)
]]
   then
 j2se_release=${BASH_REMATCH[1]}
 j2se_update=${BASH_REMATCH[3]}
-j2se_build=${BASH_REMATCH[6]}
-j2se_arch=${BASH_REMATCH[7]}
+j2se_build=${BASH_REMATCH[8]}
+j2se_arch=${BASH_REMATCH[9]}
 if [[ $j2se_update != "" ]]
 then
   j2se_version_name="$j2se_release Update $j2se_update Early Access
Release Build $j2se_build"
@@ -46,7 +46,7 @@

 case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in
   i386|i486-linux-gnu)
-if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi
+if [[ "$j2se_arch" != "x86" && "$j2se_arch" != "i586" ]]; then
compatible=0; fi
 ;;
   amd64|x86_64-linux-gnu)
 if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then
compatible=0; fi
@@ -105,7 +105,10 @@
 oracle_no_man_jre_bin_jre="ControlPanel jcontrol"
   fi
   oracle_jre_lib_hl="jexec"
-  oracle_bin_jdk="appletviewer extcheck idlj jar jarsigner javac
javadoc javah javap jcmd jconsole jdb jdeps jhat jinfo jmap jmc jps
jrunscript jsadebugd jstack jstat jstatd jvisualvm native2ascii rmic
schemagen serialver wsgen wsimport xjc"
+  # Java 8: Added:   javapackager javafxpackager
+  # Java 9: Added:   jaotc jdeprscan jhsdb jimage jjs jlink jmod
jshell jweblauncher
+  # Removed: extcheck javafxpackager jhat jmc jsadebugd
jvisualvm native2ascii
+  oracle_bin_jdk="appletviewer extcheck idlj jaotc jar jarsigner javac
javadoc javafxpackager javah javap javapackager jcmd jconsole jdb jdeprscan
jdeps jhat jhsdb jinfo jjs jlink jmap jmc jmod jps jrunscript jsadebugd
jshell jstack jstat jstatd jvisualvm jweblauncher native2ascii rmic
schemagen serialver wsgen wsimport xjc"
   j2se_package="$j2se_vendor-java$j2se_release-jdk"
   j2se_run
 fi
__
This is the maintainer address of Debian's Java team
. 
Please use
debian-j...@lists.debian.org for discussions and questions.