|
29 | 29 | # format => 'rpm'
|
30 | 30 | # }
|
31 | 31 | #
|
32 |
| -class oracle_java ($version = '8', $type = 'jre', $format = 'rpm') { |
| 32 | +class oracle_java ($version = '8', $type = 'jre', $format = undef) { |
| 33 | + if !$format { |
| 34 | + case $::osfamily { |
| 35 | + /RedHat|Suse/ : { $format_real = 'rpm' } |
| 36 | + default : { $format_real = 'tar.gz' } |
| 37 | + } |
| 38 | + } else { |
| 39 | + $format_real = $format |
| 40 | + } |
| 41 | + |
33 | 42 | # parameters validation
|
34 | 43 | validate_re($version, '^([0-9]|[0-9]u[0-9]{1,2})$', '$version must be formated as \'major\'u\'minor\' or just \'major\'')
|
35 | 44 | validate_re($type, '^(jre|jdk)$', '$type must be either \'jre\' or \'jdk\'')
|
36 |
| - validate_re($format, '^(rpm|tar.gz)$', '$format must be either \'rpm\' or \'tar.gz\'') |
| 45 | + validate_re($format_real, '^(rpm|tar\.gz)$', '$format must be either \'rpm\' or \'tar.gz\'') |
37 | 46 |
|
38 | 47 | # set to latest release if no minor version was provided
|
39 | 48 | if $version == '8' {
|
40 | 49 | $version_real = '8u25'
|
41 | 50 | } elsif $version == '7' {
|
42 | 51 | $version_real = '7u72'
|
43 |
| - } elsif $version == '6' { |
44 |
| - $version_real = '6u45' |
45 | 52 | } else {
|
46 | 53 | $version_real = $version
|
47 | 54 | }
|
|
60 | 67 | '11' : { $build = '-b12' }
|
61 | 68 | '5' : { $build = '-b13' }
|
62 | 69 | '0' : { $build = '-b132' }
|
63 |
| - default : { fail("Unexisting Java SE ${maj_version} update number ${min_version}") } |
| 70 | + default : { fail("Unreleased Java SE version ${version_real}") } |
64 | 71 | }
|
65 | 72 | }
|
66 | 73 | 7 : {
|
|
90 | 97 | '2' : { $build = '-b13' }
|
91 | 98 | '1' : { $build = '-b08' }
|
92 | 99 | '0' : { $build = '' }
|
93 |
| - default : { fail("Unexisting Java SE ${maj_version} update number ${min_version}") } |
94 |
| - } |
95 |
| - } |
96 |
| - 6 : { |
97 |
| - case $min_version { |
98 |
| - '45' : { $build = '-b06' } |
99 |
| - '43' : { $build = '-b01' } |
100 |
| - '41' : { $build = '-b02' } |
101 |
| - '39' : { $build = '-b04' } |
102 |
| - '38' : { $build = '-b05' } |
103 |
| - '37' : { $build = '-b06' } |
104 |
| - '35' : { $build = '-b10' } |
105 |
| - '34' : { $build = '-b04' } |
106 |
| - '33' : { $build = '-b04' } |
107 |
| - '32' : { $build = '-b05' } |
108 |
| - '31' : { $build = '-b04' } |
109 |
| - '30' : { $build = '-b12' } |
110 |
| - '29' : { $build = '-b11' } |
111 |
| - '27' : { $build = '-b07' } |
112 |
| - '26' : { $build = '-b03' } |
113 |
| - '25' : { $build = '-b06' } |
114 |
| - '24' : { $build = '-b07' } |
115 |
| - '23' : { $build = '-b05' } |
116 |
| - '22' : { $build = '-b04' } |
117 |
| - '21' : { $build = '-b07' } |
118 |
| - '20' : { $build = '-b02' } |
119 |
| - '19' : { $build = '-b04' } |
120 |
| - '18' : { $build = '-b07' } |
121 |
| - '17' : { $build = '-b04' } |
122 |
| - '16' : { $build = '-b01' } |
123 |
| - '15' : { $build = '-b03' } |
124 |
| - '14' : { $build = '-b08' } |
125 |
| - '13' : { $build = '-b03' } |
126 |
| - '12' : { $build = '-b04' } |
127 |
| - '11' : { $build = '-b03' } |
128 |
| - '10' : { $build = '' } |
129 |
| - '7' : { $build = '' } |
130 |
| - '6' : { $build = '' } |
131 |
| - '5' : { $build = 'b' } |
132 |
| - '4' : { $build = '-b12' } |
133 |
| - '3' : { $build = '' } |
134 |
| - '2' : { $build = '' } |
135 |
| - '1' : { $build = '' } |
136 |
| - '0' : { $build = '' } |
137 |
| - default : { fail("Unexisting Java SE ${maj_version} update number ${min_version}") } |
| 100 | + default : { fail("Unreleased Java SE version ${version_real}") } |
138 | 101 | }
|
139 | 102 | }
|
140 | 103 | default : {
|
|
145 | 108 | # remove extra particle if minor version is 0
|
146 | 109 | $version_final = delete($version_real, 'u0')
|
147 | 110 | $longversion = $min_version ? {
|
148 |
| - '0' => "${type}1.${maj_version}.0", |
149 |
| - default => "${type}1.${maj_version}.0_${min_version}" |
| 111 | + '0' => "${type}1.${maj_version}.0", |
| 112 | + /^[0-9]$/ => "${type}1.${maj_version}.0_0${min_version}", |
| 113 | + default => "${type}1.${maj_version}.0_${min_version}" |
150 | 114 | }
|
151 | 115 |
|
152 | 116 | # translate system architecture to expected value
|
153 | 117 | case $::architecture {
|
154 |
| - 'x86_64' : { |
155 |
| - if $maj_version == '6' and $min_version < '4' { |
156 |
| - $arch = 'amd64' |
157 |
| - } else { |
158 |
| - $arch = 'x64' |
159 |
| - } |
160 |
| - } |
161 |
| - 'x86' : { |
162 |
| - $arch = 'i586' |
163 |
| - } |
164 |
| - default : { |
165 |
| - fail("oracle_java does not support architecture ${arch} (yet)") |
166 |
| - } |
| 118 | + /x86_64|amd64/ : { $arch = 'x64' } |
| 119 | + 'x86' : { $arch = 'i586' } |
| 120 | + default : { fail("oracle_java does not support architecture ${::architecture} (yet)") } |
167 | 121 | }
|
168 | 122 |
|
169 | 123 | # define installer filename and download URL
|
170 |
| - $filename = $maj_version ? { |
171 |
| - '6' => "${type}-${version_final}-linux-${arch}-rpm.bin", |
172 |
| - default => "${type}-${version_final}-linux-${arch}.rpm" |
173 |
| - } |
| 124 | + $filename = "${type}-${version_final}-linux-${arch}.${format_real}" |
174 | 125 | $downloadurl = "http://download.oracle.com/otn-pub/java/jdk/${version_final}${build}/${filename}"
|
175 | 126 |
|
176 |
| - # used for installing Java 6 |
177 |
| - # translate system architecture one more time |
178 |
| - $arch_extracted = $::architecture ? { |
179 |
| - 'x86_64' => 'amd64', |
180 |
| - default => $arch |
181 |
| - } |
182 |
| - $filename_extracted = "${type}-${version_final}-linux-${arch_extracted}.rpm" |
183 |
| - |
184 | 127 | # define package name
|
185 | 128 | if $maj_version == '8' and $min_version >= '20' {
|
186 | 129 | $packagename = $longversion
|
187 | 130 | } else {
|
188 | 131 | $packagename = $type
|
189 | 132 | }
|
190 | 133 |
|
| 134 | + # include classes as required |
| 135 | + if !defined(Class['archive']) { |
| 136 | + include archive |
| 137 | + } |
| 138 | + |
191 | 139 | include oracle_java::download
|
192 | 140 | include oracle_java::install
|
193 | 141 | Class['oracle_java::download'] -> Class['oracle_java::install']
|
|
0 commit comments