]> git.sven.stormbind.net Git - sven/java-package.git/blob - lib/oracle-jre.sh
Added support for GA releases
[sven/java-package.git] / lib / oracle-jre.sh
1 # Detect product
2 j2se_detect_oracle_j2re=oracle_j2re_detect
3 oracle_j2re_detect() {
4   j2se_release=0
5
6   # Update or GA release (jre-7u13-linux-x64.tar.gz)
7   if [[ $archive_name =~ jre-([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 (jre-8-ea-bin-b103-linux-x64-15_aug_2013.tar.gz)
23   if [[ $archive_name =~ jre-([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 - 1))
35     j2se_expected_min_size=85 #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     esac
48
49     if [[ $compatible == 0 ]]
50     then
51       echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture"
52       return
53     fi
54
55
56     cat << EOF
57
58 Detected product:
59     Java(TM) Runtime Environment (JRE)
60     Standard Edition, Version $j2se_release $j2se_type $j2se_update
61     Oracle(TM)
62 EOF
63     if read_yn "Is this correct [Y/n]: "; then
64       j2se_found=true
65       j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
66       j2se_vendor="oracle"
67       j2se_title="Java(TM) JRE, Standard Edition, Oracle(TM)"
68
69       j2se_install=oracle_j2re_install
70       j2se_remove=oracle_j2re_remove
71       j2se_jinfo=oracle_j2re_jinfo
72       oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool"
73       oracle_jre_bin_jre="javaws policytool"
74       oracle_no_man_jre_bin_jre="ControlPanel"
75       oracle_jre_lib_hl="jexec"
76       j2re_run
77     fi
78   fi
79 }
80
81 oracle_j2re_install() {
82     cat << EOF
83 if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then
84     exit 0
85 fi
86
87 install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl
88 install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre
89 install_no_man_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre
90 install_no_man_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl
91
92 plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
93 for b in $browser_plugin_dirs;do
94     install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
95 done
96 EOF
97 }
98
99 oracle_j2re_remove() {
100     cat << EOF
101 if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then
102     exit 0
103 fi
104
105 remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl
106 remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre
107 remove_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre
108 remove_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl
109
110 plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
111 for b in $browser_plugin_dirs;do
112     remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
113 done
114 EOF
115 }
116
117 oracle_j2re_jinfo() {
118     cat << EOF
119 name=$j2se_name
120 priority=$j2se_priority
121 section=main
122 EOF
123     jinfos "hl" $jvm_base$j2se_name/bin/ $oracle_jre_bin_hl
124     jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_jre_bin_jre
125     jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_no_man_jre_bin_jre
126     jinfos "hl" $jvm_base$j2se_name/lib/ $oracle_jre_lib_hl
127     for b in $browser_plugin_dirs;do
128         echo "plugin $b-javaplugin.so $jvm_base$j2se_name/lib/$DEB_BUILD_ARCH/libnpjp2.so"
129     done
130 }
131