]> git.sven.stormbind.net Git - sven/java-package.git/blob - lib/oracle-j2sdk.sh
090c2cfdea185677753956b02c2abfc63d7f35b8
[sven/java-package.git] / lib / oracle-j2sdk.sh
1 # Detect product
2 j2se_detect_oracle_j2sdk=oracle_j2sdk_detect
3 oracle_j2sdk_detect() {
4
5   if [[ $archive_name =~ jdk-([0-9]+)u([0-9]+)-linux-(i586|x64|amd64)\.(bin|tar\.gz) ]]
6   then
7     j2se_release=${BASH_REMATCH[1]}
8     j2se_update=${BASH_REMATCH[2]}
9     j2se_arch=${BASH_REMATCH[3]}
10     j2se_version=$j2se_release.$j2se_update
11     j2se_priority=$((310 + $j2se_release))
12     j2se_expected_min_size=130 #Mb
13
14     # check if the architecture matches
15     let compatible=1
16   
17     case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in
18       i386|i486-linux-gnu)
19         if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi
20         ;;
21       amd64|x86_64-linux-gnu)
22         if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi
23         ;;
24       armhf|armel|arm-linux-gnueabihf|arm-linux-gnueabi)
25       case "$archive_name" in
26         "jdk-7u"[0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED
27             j2se_version=1.7.0+update${archive_name:6:1}${revision}
28             j2se_expected_min_size=100 #Mb
29             j2se_priority=317
30             found=true
31             ;;
32         "jdk-7u"[0-9][0-9]"-linux-arm-sfp.tar.gz") # SUPPORTED
33             j2se_version=1.7.0+update${archive_name:6:2}${revision}
34             j2se_expected_min_size=60 #Mb
35             j2se_priority=317
36             found=true
37             ;;
38       esac
39       ;;
40     esac
41
42     if [[ $compatible == 0 ]]
43     then
44       echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture"
45       return
46     fi
47     
48     
49     cat << EOF
50
51 Detected product:
52     Java(TM) Development Kit (JDK)
53     Standard Edition, Version $j2se_release Update $j2se_update
54     Oracle(TM)
55 EOF
56     if read_yn "Is this correct [Y/n]: "; then
57       j2se_found=true
58       j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
59       j2se_vendor="oracle"
60       j2se_title="Java(TM) JDK, Standard Edition, Oracle(TM)"
61
62       j2se_install=oracle_j2sdk_install
63       j2se_remove=oracle_j2sdk_remove
64       j2se_jinfo=oracle_j2sdk_jinfo
65       if [ "${DEB_BUILD_ARCH:0:3}" = "arm" ]; then
66             oracle_jre_bin_hl="java keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool"
67         oracle_jre_bin_jre="policytool"
68       else
69         oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool"
70         oracle_jre_bin_jre="javaws policytool"
71       fi
72       if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then
73             oracle_no_man_jre_bin_jre="ControlPanel"
74       fi
75       oracle_jre_lib_hl="jexec"
76       oracle_bin_jdk="appletviewer extcheck idlj jar jarsigner javac javadoc javah javap jconsole jdb jinfo jmap jps jsadebugd jstack jstat jstatd native2ascii rmic serialver"
77       j2sdk_run
78     fi
79   fi
80 }
81
82 oracle_j2sdk_install() {
83     cat << EOF
84 if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then
85     exit 0
86 fi
87
88 install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl
89 install_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre
90 if [ -n "$oracle_no_man_jre_bin_jre" ]; then
91     install_no_man_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre
92 fi
93 install_no_man_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl
94 install_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk
95
96 # No plugin for ARM architecture yet
97 if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then
98 plugin_dir="$jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH"
99 for b in $browser_plugin_dirs;do
100             install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
101 done
102 fi
103 EOF
104 }
105
106 oracle_j2sdk_remove() {
107     cat << EOF
108 if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then
109     exit 0
110 fi
111
112 remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_hl
113 remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_jre_bin_jre
114 if [ -n "$oracle_no_man_jre_bin_jre" ]; then
115     remove_alternatives $jvm_base$j2se_name/jre/bin $oracle_no_man_jre_bin_jre
116 fi
117 remove_alternatives $jvm_base$j2se_name/jre/lib $oracle_jre_lib_hl
118 remove_alternatives $jvm_base$j2se_name/bin $oracle_bin_jdk
119
120 # No plugin for ARM architecture yet
121 if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then
122 plugin_dir="$jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH"
123 for b in $browser_plugin_dirs;do
124     remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
125 done
126 fi
127 EOF
128 }
129
130 oracle_j2sdk_jinfo() {
131     cat << EOF
132 name=$j2se_name
133 priority=$j2se_priority
134 section=main
135 EOF
136     jinfos "hl" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_hl
137     jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_jre_bin_jre
138     if [ -n "$oracle_no_man_jre_bin_jre" ]; then
139         jinfos "jre" $jvm_base$j2se_name/jre/bin/ $oracle_no_man_jre_bin_jre
140     fi
141     jinfos "hl" $jvm_base$j2se_name/jre/lib/ $oracle_jre_lib_hl
142     jinfos "jdk" $jvm_base$j2se_name/bin/ $oracle_bin_jdk
143     if [ "${DEB_BUILD_ARCH:0:3}" != "arm" ]; then
144         for b in $browser_plugin_dirs;do
145             echo "plugin iceweasel-javaplugin.so $jvm_base$j2se_name/jre/lib/$DEB_BUILD_ARCH/libnpjp2.so"
146         done
147     fi
148 }