From c1fb4d0a58160b37808c25744cd4e75e2ba5e5ab Mon Sep 17 00:00:00 2001 From: Emmanuel Bourg Date: Mon, 6 Feb 2012 17:11:53 +0100 Subject: [PATCH] Improved the detection of the JRE/JDK version (supports 2 digits Java 7 updates) Changed the version of the generated package from 1.6.0+update30 to 6.30 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Cédric Pineau --- lib/oracle-j2re.sh | 69 +++++++++++++---------------- lib/oracle-j2sdk-doc.sh | 33 +++++++------- lib/oracle-j2sdk.sh | 97 +++++++++++++++++++---------------------- 3 files changed, 91 insertions(+), 108 deletions(-) diff --git a/lib/oracle-j2re.sh b/lib/oracle-j2re.sh index 7ade629..3f837a7 100644 --- a/lib/oracle-j2re.sh +++ b/lib/oracle-j2re.sh @@ -1,53 +1,44 @@ # Detect product j2se_detect_oracle_j2re=oracle_j2re_detect oracle_j2re_detect() { - local found= + + if [[ $archive_name =~ jre-([0-9]+)u([0-9]+)-linux-(i586|x64)\.(bin|tar\.gz) ]] + then + j2se_release=${BASH_REMATCH[1]} + j2se_update=${BASH_REMATCH[2]} + j2se_arch=${BASH_REMATCH[3]} + j2se_version=$j2se_release.$j2se_update + j2se_priority=$((310 + $j2se_release - 1)) + j2se_expected_min_size=95 #Mb + + # check if the architecture matches + let compatible=1 - case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in - i386|i486-linux-gnu) - case "$archive_name" in - "jre-6u"[0-9][0-9]"-linux-i586.bin") # SUPPORTED - j2se_version=1.6.0+update${archive_name:6:2}${revision} - j2se_expected_min_size=16 #Mb - j2se_priority=314 - found=true - ;; - "jre-7u"[0-9]"-linux-i586.tar.gz") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:1}${revision} - j2se_expected_min_size=94 #Mb - j2se_priority=316 - found=true - ;; - esac - ;; - amd64|x86_64-linux-gnu) - case "$archive_name" in - "jre-6u"[0-9][0-9]"-linux-x64.bin") # SUPPORTED - j2se_version=1.6.0+update${archive_name:6:2}${revision} - j2se_expected_min_size=16 #Mb - j2se_priority=314 - found=true - ;; - "jre-7u"[0-9]"-linux-x64.tar.gz") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:1}${revision} - j2se_expected_min_size=88 #Mb - j2se_priority=316 - found=true - ;; - esac - ;; - esac - if [[ -n "$found" ]]; then + case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in + i386|i486-linux-gnu) + if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi + ;; + amd64|x86_64-linux-gnu) + if [[ "$j2se_arch" != "x64" ]]; then compatible=0; fi + ;; + esac + + if [[ $compatible == 0 ]] + then + echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" + return + fi + + cat << EOF Detected product: Java(TM) Runtime Environment (JRE) - Standard Edition, Version $j2se_version + Standard Edition, Version $j2se_release Update $j2se_update Oracle(TM) EOF if read_yn "Is this correct [Y/n]: "; then j2se_found=true - j2se_release="${j2se_version:2:1}" j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) j2se_vendor="oracle" j2se_title="Java(TM) JRE, Standard Edition, Oracle(TM)" @@ -61,7 +52,7 @@ EOF oracle_jre_lib_hl="jexec" j2re_run fi - fi + fi } oracle_j2re_install() { diff --git a/lib/oracle-j2sdk-doc.sh b/lib/oracle-j2sdk-doc.sh index 64ccb0f..33d27ab 100644 --- a/lib/oracle-j2sdk-doc.sh +++ b/lib/oracle-j2sdk-doc.sh @@ -1,29 +1,30 @@ # Detect product oracle_j2sdk_doc_detect() { - local found= - case "$archive_name" in - "jdk-6u"[0-9][0-9]"-apidocs.zip") # SUPPORTED - j2se_version=1.6.0+update${archive_name:6:2}${revision} - j2se_expected_min_size=44 #Mb - found=true - ;; - "jdk-7u"[0-9]"-apidocs.zip") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:1}${revision} - j2se_expected_min_size=290 #Mb - found=true - ;; - esac - if [[ -n "$found" ]]; then + + if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-apidocs\.zip ]] + then + j2se_release=${BASH_REMATCH[1]} + j2se_update=${BASH_REMATCH[2]} + j2se_version=$j2se_release.$j2se_update + + case "$j2se_release" in + 6) # JDK 6 + j2se_expected_min_size=44 #Mb + ;; + *) # JDK 7 and higher + j2se_expected_min_size=290 #Mb + ;; + esac + cat << EOF Detected product: Java(TM) Development Kit (JDK) Documentation - Standard Edition, Version $j2se_version + Standard Edition, Version $j2se_release Update $j2se_update Oracle(TM) EOF if read_yn "Is this correct [Y/n]: "; then j2se_found=true - j2se_release="${j2se_version:2:1}" j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) j2se_vendor="oracle" j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM) Documentation" diff --git a/lib/oracle-j2sdk.sh b/lib/oracle-j2sdk.sh index 34fe383..ab2405c 100644 --- a/lib/oracle-j2sdk.sh +++ b/lib/oracle-j2sdk.sh @@ -1,68 +1,59 @@ # Detect product j2se_detect_oracle_j2sdk=oracle_j2sdk_detect oracle_j2sdk_detect() { - local found= + + if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-linux-(i586|x64)\.(bin|tar\.gz) ]] + then + j2se_release=${BASH_REMATCH[1]} + j2se_update=${BASH_REMATCH[2]} + j2se_arch=${BASH_REMATCH[3]} + j2se_version=$j2se_release.$j2se_update + j2se_priority=$((310 + $j2se_release)) + j2se_expected_min_size=130 #Mb + + # check if the architecture matches + let compatible=1 - case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in - i386|i486-linux-gnu) - case "$archive_name" in - "jdk-6u"[0-9][0-9]"-linux-i586.bin") # SUPPORTED - j2se_version=1.6.0+update${archive_name:6:2}${revision} - j2se_expected_min_size=130 #Mb - j2se_priority=315 - found=true - ;; - "jdk-7u"[0-9]"-linux-i586.tar.gz") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:1}${revision} - j2se_expected_min_size=190 #Mb - j2se_priority=317 - found=true - ;; - esac - ;; - amd64|x86_64-linux-gnu) - case "$archive_name" in - "jdk-6u"[0-9][0-9]"-linux-x64.bin") # SUPPORTED - j2se_version=1.6.0+update${archive_name:6:2}${revision} - j2se_expected_min_size=130 #Mb - j2se_priority=315 - found=true - ;; - "jdk-7u"[0-9]"-linux-x64.tar.gz") # SUPPORTED - j2se_version=1.7.0+update${archive_name:6:1}${revision} - j2se_expected_min_size=180 #Mb - j2se_priority=317 - found=true - ;; - esac - ;; - esac - if [[ -n "$found" ]]; then - cat << EOF + case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in + i386|i486-linux-gnu) + if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi + ;; + amd64|x86_64-linux-gnu) + if [[ "$j2se_arch" != "x64" ]]; then compatible=0; fi + ;; + esac + + if [[ $compatible == 0 ]] + then + echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture" + return + fi + + + cat << EOF Detected product: Java(TM) Development Kit (JDK) - Standard Edition, Version $j2se_version + Standard Edition, Version $j2se_release Update $j2se_update Oracle(TM) EOF if read_yn "Is this correct [Y/n]: "; then - j2se_found=true - j2se_release="${j2se_version:2:1}" - j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) - j2se_vendor="oracle" - j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)" + j2se_found=true + j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) + j2se_vendor="oracle" + j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)" - j2se_install=oracle_j2sdk_install - j2se_remove=oracle_j2sdk_remove - j2se_jinfo=oracle_j2sdk_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" - oracle_bin_jdk="appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd native2ascii rmic serialver" - j2sdk_run + j2se_install=oracle_j2sdk_install + j2se_remove=oracle_j2sdk_remove + j2se_jinfo=oracle_j2sdk_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" + oracle_bin_jdk="appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd native2ascii rmic serial$ + j2sdk_run fi - fi + fi } oracle_j2sdk_install() { -- 2.39.5