/
java17.pp
72 lines (66 loc) · 1.61 KB
/
java17.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#
# @summary Install jdk 17 via RPMs
#
# @param source
# String giving source URL for rpm.
#
# @param package
# String naming the package installed by the rpm; eg zulu-17.
#
# @param version
# String giving version of installed rpm.
#
# @param set_alternatives
# If true, set the /usr/bin alternatives to point to this version.
#
# @param source_user
# Optional string giving username to access source URL.
#
# @param source_pass
# Optional string giving password to access source URL.
#
class java_artisanal::java17 (
String $source = 'https://cdn.azul.com/zulu/bin/zulu17.34.19-ca-jdk17.0.3-linux.x86_64.rpm',
String $package = 'zulu-17',
String $version = '17.34+19',
Boolean $set_alternatives = !$java_artisanal::set_alternatives,
Optional[String] $source_user = undef,
Optional[String] $source_pass = undef,
) {
$rpmfile = "/var/tmp/${package}-${version}.rpm"
archive { $rpmfile:
ensure => present,
source => $source,
username => $source_user,
password => $source_pass,
}
package { $package:
ensure => $version,
provider => 'rpm',
source => $rpmfile,
}
$cmds = [
'java',
'javac',
# 'javaws',
'jar',
'jconsole',
'jstack',
]
$cmds.each |$cmd| {
$src = "/usr/bin/${cmd}"
$dest = "/usr/lib/jvm/zulu-17/bin/${cmd}"
alternative_entry { $dest:
ensure => present,
altlink => $src,
altname => $cmd,
priority => 900,
require => Package[$package],
}
if $set_alternatives {
alternatives { $cmd:
path => $dest,
}
}
}
}