]> git.sven.stormbind.net Git - sven/java-package.git/blob - lib/oracle-jre.sh
Added support for early access releases (Closes: #721136)
[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 (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[2]}
11     j2se_arch=${BASH_REMATCH[3]}
12     j2se_type="Update"
13     j2se_version=${j2se_release}u${j2se_update}
14   fi
15
16   # Early Access Release (jre-8-ea-bin-b103-linux-x64-15_aug_2013.tar.gz)
17   if [[ $archive_name =~ jre-([0-9]+)-ea-bin-(b[0-9]+)-linux-(i586|x64|amd64).*\.(bin|tar\.gz) ]]
18   then
19     j2se_release=${BASH_REMATCH[1]}
20     j2se_update=${BASH_REMATCH[2]}
21     j2se_arch=${BASH_REMATCH[3]}
22     j2se_type="Early Access Release"
23     j2se_version=${j2se_release}~ea-build-${j2se_update}
24   fi
25
26   if [[ $j2se_release > 0 ]]
27   then
28     j2se_priority=$((310 + $j2se_release - 1))
29     j2se_expected_min_size=85 #Mb
30
31     # check if the architecture matches
32     let compatible=1
33
34     case "${DEB_BUILD_ARCH:-$DEB_BUILD_GNU_TYPE}" in
35       i386|i486-linux-gnu)
36         if [[ "$j2se_arch" != "i586" ]]; then compatible=0; fi
37         ;;
38       amd64|x86_64-linux-gnu)
39         if [[ "$j2se_arch" != "x64" && "$j2se_arch" != "amd64" ]]; then compatible=0; fi
40         ;;
41     esac
42
43     if [[ $compatible == 0 ]]
44     then
45       echo "The archive $archive_name is not supported on the ${DEB_BUILD_ARCH} architecture"
46       return
47     fi
48
49
50     cat << EOF
51
52 Detected product:
53     Java(TM) Runtime Environment (JRE)
54     Standard Edition, Version $j2se_release $j2se_type $j2se_update
55     Oracle(TM)
56 EOF
57     if read_yn "Is this correct [Y/n]: "; then
58       j2se_found=true
59       j2se_required_space=$(( $j2se_expected_min_size * 2 + 20 ))
60       j2se_vendor="oracle"
61       j2se_title="Java(TM) JRE, Standard Edition, Oracle(TM)"
62
63       j2se_install=oracle_j2re_install
64       j2se_remove=oracle_j2re_remove
65       j2se_jinfo=oracle_j2re_jinfo
66       oracle_jre_bin_hl="java javaws keytool orbd pack200 rmid rmiregistry servertool tnameserv unpack200 policytool"
67       oracle_jre_bin_jre="javaws policytool"
68       oracle_no_man_jre_bin_jre="ControlPanel"
69       oracle_jre_lib_hl="jexec"
70       j2re_run
71     fi
72   fi
73 }
74
75 oracle_j2re_install() {
76     cat << EOF
77 if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then
78     exit 0
79 fi
80
81 install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl
82 install_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre
83 install_no_man_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre
84 install_no_man_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl
85
86 plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
87 for b in $browser_plugin_dirs;do
88     install_browser_plugin "/usr/lib/\$b/plugins" "libjavaplugin.so" "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
89 done
90 EOF
91 }
92
93 oracle_j2re_remove() {
94     cat << EOF
95 if [ ! -e "$jvm_base$j2se_name/debian/info" ]; then
96     exit 0
97 fi
98
99 remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_hl
100 remove_alternatives $jvm_base$j2se_name/bin $oracle_jre_bin_jre
101 remove_alternatives $jvm_base$j2se_name/bin $oracle_no_man_jre_bin_jre
102 remove_alternatives $jvm_base$j2se_name/lib $oracle_jre_lib_hl
103
104 plugin_dir="$jvm_base$j2se_name/lib/$DEB_BUILD_ARCH"
105 for b in $browser_plugin_dirs;do
106     remove_browser_plugin "\$b-javaplugin.so" "\$plugin_dir/libnpjp2.so"
107 done
108 EOF
109 }
110
111 oracle_j2re_jinfo() {
112     cat << EOF
113 name=$j2se_name
114 priority=$j2se_priority
115 section=main
116 EOF
117     jinfos "hl" $jvm_base$j2se_name/bin/ $oracle_jre_bin_hl
118     jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_jre_bin_jre
119     jinfos "jre" $jvm_base$j2se_name/bin/ $oracle_no_man_jre_bin_jre
120     jinfos "hl" $jvm_base$j2se_name/lib/ $oracle_jre_lib_hl
121     for b in $browser_plugin_dirs;do
122         echo "plugin $b-javaplugin.so $jvm_base$j2se_name/lib/$DEB_BUILD_ARCH/libnpjp2.so"
123     done
124 }
125