|
30 | 30 | # String. The platform to use
|
31 | 31 | # Defaults to <tt>x64</tt>.
|
32 | 32 | #
|
| 33 | +# [* jce *] |
| 34 | +# Boolean. Optionally install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files |
| 35 | +# Defaults to <tt>false</tt>. |
| 36 | +# |
33 | 37 | # [* default_java *]
|
34 | 38 | # Boolean. If the installed java version is linked as the default java, javac etc...
|
35 | 39 | # Defaults to <tt>true</tt>.
|
|
46 | 50 | $use_cache = hiera('jdk_oracle::use_cache', false ),
|
47 | 51 | $cache_source = 'puppet:///modules/jdk_oracle/',
|
48 | 52 | $platform = hiera('jdk_oracle::platform', 'x64' ),
|
| 53 | + $jce = hiera('jdk_oracle::jce', false ), |
49 | 54 | $default_java = hiera('jdk_oracle::default_java', true ),
|
50 | 55 | $ensure = 'installed'
|
51 | 56 | ) {
|
|
81 | 86 | }
|
82 | 87 | $javaDownloadURI = "http://download.oracle.com/otn-pub/java/jdk/${version}u${version_u}-b${version_b}/jdk-${version}u${version_u}-linux-${plat_filename}.tar.gz"
|
83 | 88 | $java_home = "${install_dir}/jdk1.${version}.0_${version_u}"
|
| 89 | + $jceDownloadURI = 'http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip' |
84 | 90 | }
|
85 | 91 | '7': {
|
86 | 92 | if ($version_update != 'default'){
|
|
147 | 153 | require => Exec['get_jdk_installer'],
|
148 | 154 | }
|
149 | 155 |
|
150 |
| - if ! defined(Package['wget']) { |
151 |
| - package { 'wget': |
152 |
| - ensure => present, |
153 |
| - } |
154 |
| - } |
155 | 156 | }
|
156 | 157 |
|
157 | 158 | # Java 7/8 comes in a tarball so just extract it.
|
|
263 | 264 |
|
264 | 265 | default: { fail("Unsupported OS: ${::osfamily}. Implement me?") }
|
265 | 266 | }
|
| 267 | + |
| 268 | + if ( $jce and $version == '8' ) { |
| 269 | + |
| 270 | + $jceFilename = inline_template('<%= File.basename(@jceDownloadURI) %>') |
| 271 | + $jce_dir = 'UnlimitedJCEPolicyJDK8' |
| 272 | + |
| 273 | + if ( $use_cache ) { |
| 274 | + file { "${install_dir}/${jceFilename}": |
| 275 | + source => "${cache_source}${jceFilename}", |
| 276 | + require => File[$install_dir], |
| 277 | + } -> |
| 278 | + exec { 'get_jce_package': |
| 279 | + cwd => $install_dir, |
| 280 | + creates => "${install_dir}/jce_from_cache", |
| 281 | + command => 'touch jce_from_cache', |
| 282 | + } |
| 283 | + } else { |
| 284 | + exec { 'get_jce_package': |
| 285 | + cwd => $install_dir, |
| 286 | + creates => "${install_dir}/${jceFilename}", |
| 287 | + command => "wget -c --no-cookies --no-check-certificate --header \"Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com\" --header \"Cookie: oraclelicense=accept-securebackup-cookie\" \"${jceDownloadURI}\" -O ${jceFilename}", |
| 288 | + timeout => 600, |
| 289 | + require => Package['wget'], |
| 290 | + } |
| 291 | + |
| 292 | + file { "${install_dir}/${jceFilename}": |
| 293 | + mode => '0755', |
| 294 | + require => Exec['get_jce_package'], |
| 295 | + } |
| 296 | + |
| 297 | + } |
| 298 | + |
| 299 | + exec { 'extract_jce': |
| 300 | + cwd => "${install_dir}/", |
| 301 | + command => "unzip ${jceFilename}", |
| 302 | + creates => "${install_dir}/${jce_dir}", |
| 303 | + require => [ Exec['get_jce_package'], Package['unzip'] ], |
| 304 | + } |
| 305 | + |
| 306 | + file { "${java_home}/jre/lib/security/README.txt": |
| 307 | + ensure => 'present', |
| 308 | + source => "${install_dir}/${jce_dir}/README.txt", |
| 309 | + mode => '0644', |
| 310 | + owner => 'root', |
| 311 | + group => 'root', |
| 312 | + require => Exec['extract_jce'], |
| 313 | + } |
| 314 | + |
| 315 | + file { "${java_home}/jre/lib/security/local_policy.jar": |
| 316 | + ensure => 'present', |
| 317 | + source => "${install_dir}/${jce_dir}/local_policy.jar", |
| 318 | + mode => '0644', |
| 319 | + owner => 'root', |
| 320 | + group => 'root', |
| 321 | + require => Exec['extract_jce'], |
| 322 | + } |
| 323 | + |
| 324 | + file { "${java_home}/jre/lib/security/US_export_policy.jar": |
| 325 | + ensure => 'present', |
| 326 | + source => "${install_dir}/${jce_dir}/US_export_policy.jar", |
| 327 | + mode => '0644', |
| 328 | + owner => 'root', |
| 329 | + group => 'root', |
| 330 | + require => Exec['extract_jce'], |
| 331 | + } |
| 332 | + |
| 333 | + } |
| 334 | + |
| 335 | + } |
| 336 | + |
| 337 | + if ! defined(Package['wget']) { |
| 338 | + package { 'wget': |
| 339 | + ensure => present, |
| 340 | + } |
266 | 341 | }
|
| 342 | + |
| 343 | + if ! defined(Package['unzip']) { |
| 344 | + package { 'unzip': |
| 345 | + ensure => present, |
| 346 | + } |
| 347 | + } |
| 348 | + |
267 | 349 | }
|
0 commit comments