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