Skip to content
This repository was archived by the owner on Dec 19, 2024. It is now read-only.

Commit 22dbd0b

Browse files
committed
Use nanliu/archive for download and extraction
Minor fixes
1 parent 0ff6eb1 commit 22dbd0b

File tree

4 files changed

+40
-16
lines changed

4 files changed

+40
-16
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
###2.0.0
2+
3+
* Major refactoring
4+
* Use nanliu/archive for download and extraction
5+
* Minor fixes
6+
17
###1.1.5
28

39
* Add support for Java '7u71', '7u72' and '8u25'

manifests/download.pp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
fail('You must include the oracle_java base class before using any oracle_java sub class')
66
}
77

8-
# define packages required by the exec resources
9-
if !defined(Package['wget']) {
10-
package { 'wget': ensure => present }
8+
include ::archive
9+
10+
$require_extraction = $oracle_java::type ? {
11+
'tar.gz' => true,
12+
default => false
1113
}
1214

1315
# make sure install/download directory exists
@@ -17,13 +19,15 @@
1719
owner => 'root',
1820
group => 'root'
1921
} ->
20-
# download RPM
21-
exec { 'download java RPM':
22-
path => '/usr/bin',
23-
cwd => '/usr/java',
24-
creates => "/usr/java/${oracle_java::filename}",
25-
command => "wget --no-cookies --no-check-certificate --header \"Cookie: oraclelicense=accept-securebackup-cookie\" \"${oracle_java::downloadurl}\"",
26-
timeout => 0, # Oracle's servers can sometimes be (very) slow
27-
require => Package['wget']
22+
# download archive
23+
archive { 'java archive':
24+
ensure => present,
25+
path => '/usr/java',
26+
cookie => "oraclelicense=accept-securebackup-cookie",
27+
source => $oracle_java::downloadurl,
28+
extract => $require_extraction,
29+
extract_path => '/usr/java',
30+
creates => "/usr/java/${oracle_java::longversion}",
31+
cleanup => true,
2832
}
2933
}

manifests/init.pp

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
# Java SE version to install (valid format: 'major'u'minor' or just 'major')
99
# [*type*]
1010
# envionment type to install (valid: 'jre'|'jdk')
11+
# [*format*]
12+
# archive format (valid: 'rpm'|'tar.gz')
1113
#
1214
# === Actions:
1315
#
@@ -16,19 +18,22 @@
1618
# === Requires:
1719
#
1820
# * puppetlabs/stdlib module
19-
# * 'wget' and 'sed' packages
21+
# * nanliu/archive module
22+
# * 'sed' package
2023
#
2124
# === Sample Usage:
2225
#
2326
# class { '::oracle_java':
2427
# version => '8u5',
25-
# type => 'jdk'
28+
# type => 'jdk',
29+
# format => 'rpm'
2630
# }
2731
#
28-
class oracle_java ($version = '8', $type = 'jre') {
32+
class oracle_java ($version = '8', $type = 'jre', $format = 'rpm') {
2933
# parameters validation
3034
validate_re($version, '^([0-9]|[0-9]u[0-9]{1,2})$', '$version must be formated as \'major\'u\'minor\' or just \'major\'')
3135
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\'')
3237

3338
# set to latest release if no minor version was provided
3439
if $version == '8' {
@@ -139,6 +144,10 @@
139144

140145
# remove extra particle if minor version is 0
141146
$version_final = delete($version_real, 'u0')
147+
$longversion = $min_version ? {
148+
'0' => "${type}1.${maj_version}.0",
149+
default => "${type}1.${maj_version}.0_${min_version}"
150+
}
142151

143152
# translate system architecture to expected value
144153
case $::architecture {
@@ -163,6 +172,7 @@
163172
default => "${type}-${version_final}-linux-${arch}.rpm"
164173
}
165174
$downloadurl = "http://download.oracle.com/otn-pub/java/jdk/${version_final}${build}/${filename}"
175+
166176
# used for installing Java 6
167177
# translate system architecture one more time
168178
$arch_extracted = $::architecture ? {
@@ -173,7 +183,7 @@
173183

174184
# define package name
175185
if $maj_version == '8' and $min_version >= '20' {
176-
$packagename = "${type}1.${maj_version}.0_${min_version}"
186+
$packagename = $longversion
177187
} else {
178188
$packagename = $type
179189
}

metadata.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,16 @@
55
"project_page": "https://github.com/tOnI0/aco-oracle_java",
66
"source": "git://github.com/tOnI0/aco-oracle_java.git",
77
"summary": "Puppet module to install Oracle Java on RPM-based Linux systems",
8-
"version": "1.1.5",
8+
"version": "2.0.0",
99
"tags": ["rpm","jre","jdk","oracle","java"],
1010
"dependencies": [
1111
{
1212
"name": "puppetlabs/stdlib",
1313
"version_requirement": ">= 3.2.0"
14+
},
15+
{
16+
"name": "nanliu/archive",
17+
"version_requirement": ">= 0.1.2"
1418
}
1519
],
1620
"requirements": [

0 commit comments

Comments
 (0)