Skip to content

Commit 8b2fd49

Browse files
committed
Merge pull request #45 from pulquero/package-resource-type
Package resource type
2 parents d30f267 + 94768a5 commit 8b2fd49

File tree

3 files changed

+321
-286
lines changed

3 files changed

+321
-286
lines changed

manifests/init.pp

Lines changed: 12 additions & 278 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
# String. Specifies if jdk should be installed or absent
4343
# Defaults to <tt>installed</tt>.
4444
#
45-
class jdk_oracle(
45+
class jdk_oracle (
4646
$version = hiera('jdk_oracle::version', '8' ),
4747
$version_update = hiera('jdk_oracle::version_update', 'default' ),
4848
$version_build = hiera('jdk_oracle::version_build', 'default' ),
@@ -55,283 +55,17 @@
5555
$ensure = 'installed'
5656
) {
5757

58-
$default_8_update = '11'
59-
$default_8_build = '12'
60-
$default_7_update = '67'
61-
$default_7_build = '01'
62-
$default_6_update = '45'
63-
$default_6_build = '06'
64-
65-
if $ensure == 'installed' {
66-
# Set default exec path for this module
67-
Exec { path => ['/usr/bin', '/usr/sbin', '/bin'] }
68-
69-
case $platform {
70-
'x64': { $plat_filename = 'x64' }
71-
'x86': { $plat_filename = 'i586' }
72-
default: { fail("Unsupported platform: ${platform}. Implement me?") }
73-
}
74-
75-
case $version {
76-
'8': {
77-
if ($version_update != 'default') {
78-
$version_u = $version_update
79-
} else {
80-
$version_u = $default_8_update
81-
}
82-
if ($version_build != 'default'){
83-
$version_b = $version_build
84-
} else {
85-
$version_b = $default_8_build
86-
}
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"
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'
90-
}
91-
'7': {
92-
if ($version_update != 'default'){
93-
$version_u = $version_update
94-
} else {
95-
$version_u = $default_7_update
96-
}
97-
if ($version_build != 'default'){
98-
$version_b = $version_build
99-
} else {
100-
$version_b = $default_7_build
101-
}
102-
$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"
103-
$java_home = "${install_dir}/jdk1.${version}.0_${version_u}"
104-
}
105-
'6': {
106-
if ($version_update != 'default'){
107-
$version_u = $version_update
108-
} else {
109-
$version_u = $default_6_update
110-
}
111-
if ($version_build != 'default'){
112-
$version_b = $version_build
113-
} else {
114-
$version_b = $default_6_build
115-
}
116-
$javaDownloadURI = "https://edelivery.oracle.com/otn-pub/java/jdk/${version}u${version_u}-b${version_b}/jdk-${version}u${version_u}-linux-${plat_filename}.bin"
117-
$java_home = "${install_dir}/jdk1.${version}.0_${version_u}"
118-
}
119-
default: {
120-
fail("Unsupported version: ${version}. Implement me?")
121-
}
122-
}
123-
124-
if ! defined(File[$install_dir]) {
125-
file { $install_dir:
126-
ensure => directory,
127-
}
128-
}
129-
130-
$installerFilename = inline_template('<%= File.basename(@javaDownloadURI) %>')
131-
132-
if ( $use_cache ){
133-
file { "${install_dir}/${installerFilename}":
134-
source => "${cache_source}${installerFilename}",
135-
require => File[$install_dir],
136-
} ->
137-
exec { 'get_jdk_installer':
138-
cwd => $install_dir,
139-
creates => "${install_dir}/jdk_from_cache",
140-
command => 'touch jdk_from_cache',
141-
}
142-
} else {
143-
exec { 'get_jdk_installer':
144-
cwd => $install_dir,
145-
creates => "${install_dir}/${installerFilename}",
146-
command => "wget -c --no-cookies --no-check-certificate --header \"Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com\" --header \"Cookie: oraclelicense=accept-securebackup-cookie\" \"${javaDownloadURI}\" -O ${installerFilename}",
147-
timeout => 600,
148-
require => Package['wget'],
149-
}
150-
151-
file { "${install_dir}/${installerFilename}":
152-
mode => '0755',
153-
require => Exec['get_jdk_installer'],
154-
}
155-
156-
}
157-
158-
# Java 7/8 comes in a tarball so just extract it.
159-
if ( $version in [ '7', '8' ] ) {
160-
exec { 'extract_jdk':
161-
cwd => "${install_dir}/",
162-
command => "tar -xf ${installerFilename}",
163-
creates => $java_home,
164-
require => Exec['get_jdk_installer'],
165-
}
166-
}
167-
# Java 6 comes as a self-extracting binary
168-
if ( $version == '6' ) {
169-
exec { 'extract_jdk':
170-
cwd => "${install_dir}/",
171-
command => "${install_dir}/${installerFilename}",
172-
creates => $java_home,
173-
require => File["${install_dir}/${installerFilename}"],
174-
}
175-
}
176-
177-
# Ensure that files belong to root
178-
file {$java_home:
179-
recurse => true,
180-
owner => root,
181-
group => root,
182-
subscribe => Exec['extract_jdk'],
183-
}
184-
185-
# Set links depending on osfamily or operating system fact
186-
case $::osfamily {
187-
'RedHat', 'Linux': {
188-
if ( $default_java ) {
189-
file { '/etc/alternatives/java':
190-
ensure => link,
191-
target => "${java_home}/bin/java",
192-
require => Exec['extract_jdk'],
193-
}
194-
file { '/etc/alternatives/javac':
195-
ensure => link,
196-
target => "${java_home}/bin/javac",
197-
require => Exec['extract_jdk'],
198-
}
199-
file { '/etc/alternatives/jar':
200-
ensure => link,
201-
target => "${java_home}/bin/jar",
202-
require => Exec['extract_jdk'],
203-
}
204-
file { '/usr/sbin/java':
205-
ensure => link,
206-
target => '/etc/alternatives/java',
207-
require => File['/etc/alternatives/java'],
208-
}
209-
file { '/usr/sbin/javac':
210-
ensure => link,
211-
target => '/etc/alternatives/javac',
212-
require => File['/etc/alternatives/javac'],
213-
}
214-
file { '/usr/sbin/jar':
215-
ensure => link,
216-
target => '/etc/alternatives/jar',
217-
require => File['/etc/alternatives/jar'],
218-
}
219-
}
220-
file { "${install_dir}/java_home":
221-
ensure => link,
222-
target => $java_home,
223-
require => Exec['extract_jdk'],
224-
}
225-
file { "${install_dir}/jdk-${version}":
226-
ensure => link,
227-
target => $java_home,
228-
require => Exec['extract_jdk'],
229-
}
230-
}
231-
'Debian': {
232-
#Accommodate variations in default install locations for some variants of Debian
233-
$path_to_updatealternatives_tool = $::lsbdistdescription ? {
234-
/Ubuntu 14\.04.*/ => '/usr/bin/update-alternatives',
235-
default => '/usr/sbin/update-alternatives',
236-
}
237-
238-
if ( $default_java ) {
239-
exec { "${path_to_updatealternatives_tool} --install /usr/bin/java java ${java_home}/bin/java 20000":
240-
require => Exec['extract_jdk'],
241-
unless => "test $(readlink /etc/alternatives/java) = '${java_home}/bin/java'",
242-
}
243-
exec { "${path_to_updatealternatives_tool} --install /usr/bin/javac javac ${java_home}/bin/javac 20000":
244-
require => Exec['extract_jdk'],
245-
unless => "test $(/bin/readlink /etc/alternatives/javac) = '${java_home}/bin/javac'",
246-
}
247-
exec { "${path_to_updatealternatives_tool} --install /usr/bin/jar jar ${java_home}/bin/jar 20000":
248-
require => Exec['extract_jdk'],
249-
unless => "test $(/bin/readlink /etc/alternatives/jar) = '${java_home}/bin/jar'",
250-
}
251-
augeas { 'environment':
252-
context => '/files/etc/environment',
253-
changes => [
254-
"set JAVA_HOME ${java_home}",
255-
],
256-
}
257-
}
258-
}
259-
'Suse': {
260-
if ( $default_java ) {
261-
include 'jdk_oracle::suse'
262-
}
263-
}
264-
265-
default: { fail("Unsupported OS: ${::osfamily}. Implement me?") }
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-
58+
jdk_oracle::install { 'jdk_oracle':
59+
ensure => $ensure,
60+
version => $version,
61+
version_update => $version_update,
62+
version_build => $version_build,
63+
install_dir => $install_dir,
64+
use_cache => $use_cache,
65+
cache_source => $cache_source,
66+
platform => $platform,
67+
jce => $jce,
68+
default_java => $default_java,
33569
}
33670

33771
if ! defined(Package['wget']) {

0 commit comments

Comments
 (0)