]> git.sven.stormbind.net Git - sven/java-package.git/blobdiff - lib/oracle-jre.sh
Basic support for Java 10
[sven/java-package.git] / lib / oracle-jre.sh
index de5165e3ee0afcb5e298883bdde853fec43f870e..20d93a67e30ddbc060f1b0c6cf892e91e1ed65c1 100644 (file)
@@ -3,8 +3,32 @@ j2se_detect_oracle_j2re=oracle_j2re_detect
 oracle_j2re_detect() {
   j2se_release=0
 
+  # JRE 10 release candidate (oracle-java10-jre_10+46_amd64.deb)
+  if [[ $archive_name =~ ^jre-10(\.([0-9]+)\.([0-9]+)|\+[0-9]+)?_linux-x64_bin\.tar\.gz ]]
+  then
+      j2se_release=10
+      j2se_update=${BASH_REMATCH[1]:-.0.0}
+      j2se_arch=x64
+      j2se_version_name="${j2se_release} version ${j2se_release}${j2se_update}"
+      j2se_version=${j2se_release}${j2se_update}${revision}
+      oracle_no_man_jre_bin_jre="appletviewer idlj java javaws jcontrol jjs jrunscript jweblauncher keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200"
+      oracle_jre_bin_hl=" "
+      oracle_jre_bin_jre=" "
+      oracle_jre_lib_hl=" "
+  fi
+
+  # JRE 9 GA release (jre-9.0.1_linux-x64_bin.tar.gz)
+  if [[ $archive_name =~ ^jre-9(\.([0-9]+)\.([0-9]+))?_linux-x64_bin\.tar\.gz ]]
+  then
+      j2se_release=9
+      j2se_update=${BASH_REMATCH[1]:-.0.0}
+      j2se_arch=x64
+      j2se_version_name="${j2se_release} version ${j2se_release}${j2se_update}"
+      j2se_version=${j2se_release}${j2se_update}${revision}
+  fi
+
   # Update or GA release (jre-7u13-linux-x64.tar.gz)
-  if [[ $archive_name =~ jre-([0-9]+)(u([0-9]+))?-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]]
+  if [[ $archive_name =~ ^jre-([0-8]+)(u([0-9]+))?-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]]
   then
     j2se_release=${BASH_REMATCH[1]}
     j2se_update=${BASH_REMATCH[3]}
@@ -12,15 +36,15 @@ oracle_j2re_detect() {
     if [[ $j2se_update != "" ]]
     then
       j2se_version_name="$j2se_release Update $j2se_update"
-      j2se_version=${j2se_release}u${j2se_update}
+      j2se_version=${j2se_release}u${j2se_update}${revision}
     else
       j2se_version_name="$j2se_release GA"
-      j2se_version=${j2se_release}
+      j2se_version=${j2se_release}${revision}
     fi
   fi
 
   # Early Access Release (jre-8-ea-bin-b103-linux-x64-15_aug_2013.tar.gz)
-  if [[ $archive_name =~ jre-([0-9]+)(u([0-9]+))?-(ea|fcs)-bin-(b[0-9]+)-linux-(i586|x64|amd64).*\.(bin|tar\.gz) ]]
+  if [[ $archive_name =~ ^jre-([0-8]+)(u([0-9]+))?-(ea|fcs)-bin-(b[0-9]+)-linux-(i586|x64|amd64).*\.(bin|tar\.gz) ]]
   then
     j2se_release=${BASH_REMATCH[1]}
     j2se_update=${BASH_REMATCH[3]}
@@ -29,10 +53,10 @@ oracle_j2re_detect() {
     if [[ $j2se_update != "" ]]
     then
       j2se_version_name="$j2se_release Update $j2se_update Early Access Release Build $j2se_build"
-      j2se_version=${j2se_release}u${j2se_update}~ea-build-${j2se_update}
+      j2se_version=${j2se_release}u${j2se_update}~ea-build-${j2se_build}${revision}
     else
       j2se_version_name="$j2se_release Early Access Release Build $j2se_build"
-      j2se_version=${j2se_release}~ea-build-${j2se_update}
+      j2se_version=${j2se_release}~ea-build-${j2se_build}${revision}
     fi
   fi
 
@@ -71,16 +95,18 @@ EOF
       j2se_found=true
       j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
       j2se_vendor="oracle"
-      j2se_title="Java(TM) JRE, Standard Edition, Oracle(TM)"
+      j2se_title="Java Platform, Standard Edition $j2se_release Runtime Environment"
 
       j2se_install=oracle_j2re_install
       j2se_remove=oracle_j2re_remove
       j2se_jinfo=oracle_j2re_jinfo
-      oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool"
-      oracle_jre_bin_jre="javaws policytool"
-      oracle_no_man_jre_bin_jre="ControlPanel"
-      oracle_jre_lib_hl="jexec"
-      j2re_run
+      j2se_control=oracle_j2re_control
+      oracle_jre_bin_hl="${oracle_jre_bin_hl:-java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool}"
+      oracle_jre_bin_jre="${oracle_jre_bin_jre:-javaws policytool}"
+      oracle_no_man_jre_bin_jre="${oracle_no_man_jre_bin_jre:-ControlPanel jcontrol}"
+      oracle_jre_lib_hl="${oracle_jre_lib_hl:-jexec}"
+      j2se_package="$j2se_vendor-java$j2se_release-jre"
+      j2se_run
     fi
   fi
 }
@@ -96,10 +122,12 @@ install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre
 install_no_man_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre
 install_no_man_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl
 
-plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
-for b in $browser_plugin_dirs;do
-    install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
-done
+if [[ "${j2se_release}" -lt "10" ]]; then
+    plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
+    for b in $browser_plugin_dirs;do
+        install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
+    done
+fi
 EOF
 }
 
@@ -114,17 +142,19 @@ remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre
 remove_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre
 remove_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl
 
-plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
-for b in $browser_plugin_dirs;do
-    remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
-done
+if [[ "${j2se_release}" -lt "10" ]]; then
+    plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
+    for b in $browser_plugin_dirs;do
+        remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
+    done
+fi
 EOF
 }
 
 oracle_j2re_jinfo() {
     cat << EOF
 name=$j2se_name
-priority=$j2se_priority
+priority=${priority_override:-$j2se_priority}
 section=main
 EOF
     jinfos "hl" $jvm_base$j2se_name/bin/ $oracle_jre_bin_hl
@@ -136,3 +166,30 @@ EOF
     done
 }
 
+oracle_j2re_control() {
+    j2se_control
+    if [ "$create_cert_softlinks" == "true" ]; then
+        depends="ca-certificates-java"
+    fi
+    for i in `seq 5 ${j2se_release}`;
+    do
+        provides_runtime="${provides_runtime} java${i}-runtime,"
+        provides_headless="${provides_headless} java${i}-runtime-headless,"
+    done
+    cat << EOF
+Package: $j2se_package
+Architecture: $j2se_debian_arch
+Depends: \${misc:Depends}, \${shlibs:Depends}, java-common, $depends
+Recommends: netbase
+Provides: java-virtual-machine, java-runtime, java2-runtime, $provides_runtime java-runtime-headless, java2-runtime-headless, $provides_headless java-browser-plugin
+Description: $j2se_title
+ The Java(TM) SE Runtime Environment contains the Java virtual machine,
+ runtime class libraries, and Java application launcher that are
+ necessary to run programs written in the Java programming language.
+ It is not a development environment and does not contain development
+ tools such as compilers or debuggers.  For development tools, see the
+ Java SE Development Kit (JDK).
+ .
+ This package has been automatically created with java-package ($version).
+EOF
+}