X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fjava-package.git;a=blobdiff_plain;f=lib%2Foracle-j2sdk.sh;h=090c2cfdea185677753956b02c2abfc63d7f35b8;hp=1e525e3cac6271bd7a55d64526abb34f1bdd951f;hb=d8cde9ed501f030194a66a7993523d43ab926084;hpb=ca8b5d176518ea838461b92229d2fbebb3731de8 diff --git a/lib/oracle-j2sdk.sh b/lib/oracle-j2sdk.sh index 1e525e3..090c2cf 100644 --- a/lib/oracle-j2sdk.sh +++ b/lib/oracle-j2sdk.sh @@ -1,54 +1,148 @@ # Detect product -function oracle_j2sdk_detect() { - local found= +j2se_detect_oracle_j2sdk=oracle_j2sdk_detect +oracle_j2sdk_detect() { + + if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-linux-(i586|x64|amd64)\.(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 - 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 - found=true - ;; - esac - ;; - amd64|x86_64-linux-gnu) + 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" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi + ;; + armhf|armel|arm-linux-gnueabihf|arm-linux-gnueabi) 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 - 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 - found=true - ;; + "jdk-7u"[0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED + j2se_version=1.7.0+update${archive_name:6:1}${revision} + j2se_expected_min_size=100 #Mb + j2se_priority=317 + found=true + ;; + "jdk-7u"[0-9][0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED + j2se_version=1.7.0+update${archive_name:6:2}${revision} + j2se_expected_min_size=60 #Mb + j2se_priority=317 + found=true + ;; esac ;; - esac - if [[ -n "$found" ]]; then - cat << EOF + 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 - Oracle(TM), Inc. + 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:0:3}" - j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 )) - j2se_vendor="oracle" - j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)" - j2sdk_run - fi + if read_yn "Is this correct [Y/n]: "; then + 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 + if [ "${DEB_BUILD_ARCH:0:3}" = "arm" ]; then + oracle_jre_bin_hl="java keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" + oracle_jre_bin_jre="policytool" + else + oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool" + oracle_jre_bin_jre="javaws policytool" + fi + if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then + oracle_no_man_jre_bin_jre="ControlPanel" + fi + 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 fi + fi } -j2se_detect_oracle_j2sdk=oracle_j2sdk_detect +oracle_j2sdk_install() { + cat << EOF +if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then + exit 0 +fi + +install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl +install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre +if [ -n "$oracle_no_man_jre_bin_jre" ]; then + install_no_man_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre +fi +install_no_man_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl +install_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk + +# No plugin for ARM architecture yet +if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then +plugin_dir="$jvm_base$j2se_name/jre/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 +} + +oracle_j2sdk_remove() { + cat << EOF +if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then + exit 0 +fi + +remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl +remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre +if [ -n "$oracle_no_man_jre_bin_jre" ]; then + remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre +fi +remove_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl +remove_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk + +# No plugin for ARM architecture yet +if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then +plugin_dir="$jvm_base$j2se_name/jre/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_j2sdk_jinfo() { + cat << EOF +name=$j2se_name +priority=$j2se_priority +section=main +EOF + jinfos "hl" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_hl + jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_jre + if [ -n "$oracle_no_man_jre_bin_jre" ]; then + jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_no_man_jre_bin_jre + fi + jinfos "hl" $jvm_base$j2se_name/jre/lib/ $oracle_jre_lib_hl + jinfos "jdk" $jvm_base$j2se_name/bin/ $oracle_bin_jdk + if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then + for b in $browser_plugin_dirs;do + echo "plugin iceweasel-javaplugin.so $jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH/libnpjp2.so" + done + fi +}