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

Commit e3288f8

Browse files
committed
add alternatives support
1 parent c69c6f5 commit e3288f8

File tree

4 files changed

+323
-2
lines changed

4 files changed

+323
-2
lines changed

manifests/alternative.pp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# == Class: oracle_java::alternative
2+
#
3+
# This class calls the appropriate subclass to install a new java alternative
4+
#
5+
class oracle_java::alternative {
6+
# The base class must be included first
7+
if !defined(Class['oracle_java']) {
8+
fail('You must include the oracle_java base class before using any oracle_java sub class')
9+
}
10+
11+
case $::osfamily {
12+
/RedHat|Suse/ : {
13+
contain oracle_java::alternative::rpm
14+
}
15+
'Debian' : {
16+
contain oracle_java::alternative::deb
17+
}
18+
default : {
19+
notice("\"${::operatingsystem}\" does not support alternatives, you should explicitly disable it for this host")
20+
}
21+
}
22+
}

manifests/alternative/deb.pp

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
# == Class: oracle_java::alternative::deb
2+
#
3+
# This class adds Oracle Java to the list of java alternatives on Debian-like distributions
4+
#
5+
class oracle_java::alternative::deb {
6+
# The base class must be included first
7+
if !defined(Class['oracle_java']) {
8+
fail('You must include the oracle_java base class before using any oracle_java sub class')
9+
}
10+
11+
# priority based on java version
12+
$priority = 1000000 + $oracle_java::maj_version * 100000 + $oracle_java::min_version
13+
14+
Exec {
15+
path => '/bin:/sbin:/usr/bin:/usr/sbin',
16+
unless => "update-alternatives --display java | grep -e /usr/java/${oracle_java::longversion}/bin/java.*${priority}\$"
17+
}
18+
19+
case $oracle_java::type {
20+
'jdk' : {
21+
exec { 'add java alternative':
22+
command => "update-alternatives --install /usr/bin/java java /usr/java/${oracle_java::longversion}/bin/java ${priority} \
23+
--slave /usr/share/man/man1/java.1 java.1 /usr/java/${oracle_java::longversion}/man/man1/java.1;
24+
update-alternatives --install /usr/bin/javaws javaws /usr/java/${oracle_java::longversion}/bin/javaws ${priority} \
25+
--slave /usr/share/man/man1/javaws.1 javaws.1 /usr/java/${oracle_java::longversion}/man/man1/javaws.1;
26+
update-alternatives --install /usr/bin/jcontrol jcontrol /usr/java/${oracle_java::longversion}/bin/jcontrol ${priority};
27+
update-alternatives --install /usr/bin/jjs jjs /usr/java/${oracle_java::longversion}/bin/jjs ${priority} \
28+
--slave /usr/share/man/man1/jjs.1 jjs.1 /usr/java/${oracle_java::longversion}/man/man1/jjs.1;
29+
update-alternatives --install /usr/bin/keytool keytool /usr/java/${oracle_java::longversion}/bin/keytool ${priority} \
30+
--slave /usr/share/man/man1/keytool.1 keytool.1 /usr/java/${oracle_java::longversion}/man/man1/keytool.1;
31+
update-alternatives --install /usr/bin/orbd orbd /usr/java/${oracle_java::longversion}/bin/orbd ${priority} \
32+
--slave /usr/share/man/man1/orbd.1 orbd.1 /usr/java/${oracle_java::longversion}/man/man1/orbd.1;
33+
update-alternatives --install /usr/bin/pack200 pack200 /usr/java/${oracle_java::longversion}/bin/pack200 ${priority} \
34+
--slave /usr/share/man/man1/pack200.1 pack200.1 /usr/java/${oracle_java::longversion}/man/man1/pack200.1;
35+
update-alternatives --install /usr/bin/policytool policytool /usr/java/${oracle_java::longversion}/bin/policytool ${priority} \
36+
--slave /usr/share/man/man1/policytool.1 policytool.1 /usr/java/${oracle_java::longversion}/man/man1/policytool.1;
37+
update-alternatives --install /usr/bin/rmid rmid /usr/java/${oracle_java::longversion}/bin/rmid ${priority} \
38+
--slave /usr/share/man/man1/rmid.1 rmid.1 /usr/java/${oracle_java::longversion}/man/man1/rmid.1;
39+
update-alternatives --install /usr/bin/rmiregistry rmiregistry /usr/java/${oracle_java::longversion}/bin/rmiregistry ${priority} \
40+
--slave /usr/share/man/man1/rmiregistry.1 rmiregistry.1 /usr/java/${oracle_java::longversion}/man/man1/rmiregistry.1;
41+
update-alternatives --install /usr/bin/servertool servertool /usr/java/${oracle_java::longversion}/bin/servertool ${priority} \
42+
--slave /usr/share/man/man1/servertool.1 servertool.1 /usr/java/${oracle_java::longversion}/man/man1/servertool.1;
43+
update-alternatives --install /usr/bin/tnameserv tnameserv /usr/java/${oracle_java::longversion}/bin/tnameserv ${priority} \
44+
--slave /usr/share/man/man1/tnameserv.1 tnameserv.1 /usr/java/${oracle_java::longversion}/man/man1/tnameserv.1;
45+
update-alternatives --install /usr/bin/unpack200 unpack200 /usr/java/${oracle_java::longversion}/bin/unpack200 ${priority} \
46+
--slave /usr/share/man/man1/unpack200.1 unpack200.1 /usr/java/${oracle_java::longversion}/man/man1/unpack200.1;
47+
update-alternatives --install /usr/bin/appletviewer appletviewer /usr/java/${oracle_java::longversion}/bin/appletviewer ${priority} \
48+
--slave /usr/share/man/man1/appletviewer.1 appletviewer.1 /usr/java/${oracle_java::longversion}/man/man1/appletviewer.1;
49+
update-alternatives --install /usr/bin/extcheck extcheck /usr/java/${oracle_java::longversion}/bin/extcheck ${priority} \
50+
--slave /usr/share/man/man1/extcheck.1 extcheck.1 /usr/java/${oracle_java::longversion}/man/man1/extcheck.1;
51+
update-alternatives --install /usr/bin/idlj idlj /usr/java/${oracle_java::longversion}/bin/idlj ${priority} \
52+
--slave /usr/share/man/man1/idlj.1 idlj.1 /usr/java/${oracle_java::longversion}/man/man1/idlj.1;
53+
update-alternatives --install /usr/bin/jar jar /usr/java/${oracle_java::longversion}/bin/jar ${priority} \
54+
--slave /usr/share/man/man1/jar.1 jar.1 /usr/java/${oracle_java::longversion}/man/man1/jar.1;
55+
update-alternatives --install /usr/bin/jarsigner jarsigner /usr/java/${oracle_java::longversion}/bin/jarsigner ${priority} \
56+
--slave /usr/share/man/man1/jarsigner.1 jarsigner.1 /usr/java/${oracle_java::longversion}/man/man1/jarsigner.1;
57+
update-alternatives --install /usr/bin/javac javac /usr/java/${oracle_java::longversion}/bin/javac ${priority} \
58+
--slave /usr/share/man/man1/javac.1 javac.1 /usr/java/${oracle_java::longversion}/man/man1/javac.1;
59+
update-alternatives --install /usr/bin/javadoc javadoc /usr/java/${oracle_java::longversion}/bin/javadoc ${priority} \
60+
--slave /usr/share/man/man1/javadoc.1 javadoc.1 /usr/java/${oracle_java::longversion}/man/man1/javadoc.1;
61+
update-alternatives --install /usr/bin/javafxpackager javafxpackager /usr/java/${oracle_java::longversion}/bin/javafxpackager ${priority} \
62+
--slave /usr/share/man/man1/javafxpackager.1 javafxpackager.1 /usr/java/${oracle_java::longversion}/man/man1/javafxpackager.1;
63+
update-alternatives --install /usr/bin/javah javah /usr/java/${oracle_java::longversion}/bin/javah ${priority} \
64+
--slave /usr/share/man/man1/javah.1 javah.1 /usr/java/${oracle_java::longversion}/man/man1/javah.1;
65+
update-alternatives --install /usr/bin/javap javap /usr/java/${oracle_java::longversion}/bin/javap ${priority} \
66+
--slave /usr/share/man/man1/javap.1 javap.1 /usr/java/${oracle_java::longversion}/man/man1/javap.1;
67+
update-alternatives --install /usr/bin/javapackager javapackager /usr/java/${oracle_java::longversion}/bin/javapackager ${priority} \
68+
--slave /usr/share/man/man1/javapackager.1 javapackager.1 /usr/java/${oracle_java::longversion}/man/man1/javapackager.1;
69+
update-alternatives --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/java/${oracle_java::longversion}/bin/java-rmi.cgi ${priority} \
70+
update-alternatives --install /usr/bin/jcmd jcmd /usr/java/${oracle_java::longversion}/bin/jcmd ${priority} \
71+
--slave /usr/share/man/man1/jcmd.1 jcmd.1 /usr/java/${oracle_java::longversion}/man/man1/jcmd.1;
72+
update-alternatives --install /usr/bin/jconsole jconsole /usr/java/${oracle_java::longversion}/bin/jconsole ${priority} \
73+
--slave /usr/share/man/man1/jconsole.1 jconsole.1 /usr/java/${oracle_java::longversion}/man/man1/jconsole.1;
74+
update-alternatives --install /usr/bin/jdb jdb /usr/java/${oracle_java::longversion}/bin/jdb ${priority} \
75+
--slave /usr/share/man/man1/jdb.1 jdb.1 /usr/java/${oracle_java::longversion}/man/man1/jdb.1;
76+
update-alternatives --install /usr/bin/jdeps jdeps /usr/java/${oracle_java::longversion}/bin/jdeps ${priority} \
77+
--slave /usr/share/man/man1/jdeps.1 jdeps.1 /usr/java/${oracle_java::longversion}/man/man1/jdeps.1;
78+
update-alternatives --install /usr/bin/jhat jhat /usr/java/${oracle_java::longversion}/bin/jhat ${priority} \
79+
--slave /usr/share/man/man1/jhat.1 jhat.1 /usr/java/${oracle_java::longversion}/man/man1/jhat.1;
80+
update-alternatives --install /usr/bin/jinfo jinfo /usr/java/${oracle_java::longversion}/bin/jinfo ${priority} \
81+
--slave /usr/share/man/man1/jinfo.1 jinfo.1 /usr/java/${oracle_java::longversion}/man/man1/jinfo.1;
82+
update-alternatives --install /usr/bin/jmap jmap /usr/java/${oracle_java::longversion}/bin/jmap ${priority} \
83+
--slave /usr/share/man/man1/jmap.1 jmap.1 /usr/java/${oracle_java::longversion}/man/man1/jmap.1;
84+
update-alternatives --install /usr/bin/jmc jmc /usr/java/${oracle_java::longversion}/bin/jmc ${priority} \
85+
--slave /usr/share/man/man1/jmc.1 jmc.1 /usr/java/${oracle_java::longversion}/man/man1/jmc.1;
86+
update-alternatives --install /usr/bin/jps jps /usr/java/${oracle_java::longversion}/bin/jps ${priority} \
87+
--slave /usr/share/man/man1/jps.1 jps.1 /usr/java/${oracle_java::longversion}/man/man1/jps.1;
88+
update-alternatives --install /usr/bin/jrunscript jrunscript /usr/java/${oracle_java::longversion}/bin/jrunscript ${priority} \
89+
--slave /usr/share/man/man1/jrunscript.1 jrunscript.1 /usr/java/${oracle_java::longversion}/man/man1/jrunscript.1;
90+
update-alternatives --install /usr/bin/jsadebugd jsadebugd /usr/java/${oracle_java::longversion}/bin/jsadebugd ${priority} \
91+
--slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 /usr/java/${oracle_java::longversion}/man/man1/jsadebugd.1;
92+
update-alternatives --install /usr/bin/jstack jstack /usr/java/${oracle_java::longversion}/bin/jstack ${priority} \
93+
--slave /usr/share/man/man1/jstack.1 jstack.1 /usr/java/${oracle_java::longversion}/man/man1/jstack.1;
94+
update-alternatives --install /usr/bin/jstat jstat /usr/java/${oracle_java::longversion}/bin/jstat ${priority} \
95+
--slave /usr/share/man/man1/jstat.1 jstat.1 /usr/java/${oracle_java::longversion}/man/man1/jstat.1;
96+
update-alternatives --install /usr/bin/jstatd jstatd /usr/java/${oracle_java::longversion}/bin/jstatd ${priority} \
97+
--slave /usr/share/man/man1/jstatd.1 jstatd.1 /usr/java/${oracle_java::longversion}/man/man1/jstatd.1;
98+
update-alternatives --install /usr/bin/jvisualvm jvisualvm /usr/java/${oracle_java::longversion}/bin/jvisualvm ${priority} \
99+
--slave /usr/share/man/man1/jvisualvm.1 jvisualvm.1 /usr/java/${oracle_java::longversion}/man/man1/jvisualvm.1;
100+
update-alternatives --install /usr/bin/native2ascii native2ascii /usr/java/${oracle_java::longversion}/bin/native2ascii ${priority} \
101+
--slave /usr/share/man/man1/native2ascii.1 native2ascii.1 /usr/java/${oracle_java::longversion}/man/man1/native2ascii.1;
102+
update-alternatives --install /usr/bin/rmic rmic /usr/java/${oracle_java::longversion}/bin/rmic ${priority} \
103+
--slave /usr/share/man/man1/rmic.1 rmic.1 /usr/java/${oracle_java::longversion}/man/man1/rmic.1;
104+
update-alternatives --install /usr/bin/schemagen schemagen /usr/java/${oracle_java::longversion}/bin/schemagen ${priority} \
105+
--slave /usr/share/man/man1/schemagen.1 schemagen.1 /usr/java/${oracle_java::longversion}/man/man1/schemagen.1;
106+
update-alternatives --install /usr/bin/serialver serialver /usr/java/${oracle_java::longversion}/bin/serialver ${priority} \
107+
--slave /usr/share/man/man1/serialver.1 serialver.1 /usr/java/${oracle_java::longversion}/man/man1/serialver.1;
108+
update-alternatives --install /usr/bin/wsgen wsgen /usr/java/${oracle_java::longversion}/bin/wsgen ${priority} \
109+
--slave /usr/share/man/man1/wsgen.1 wsgen.1 /usr/java/${oracle_java::longversion}/man/man1/wsgen.1;
110+
update-alternatives --install /usr/bin/wsimport wsimport /usr/java/${oracle_java::longversion}/bin/wsimport ${priority} \
111+
--slave /usr/share/man/man1/wsimport.1 wsimport.1 /usr/java/${oracle_java::longversion}/man/man1/wsimport.1;
112+
update-alternatives --install /usr/bin/xjc xjc /usr/java/${oracle_java::longversion}/bin/xjc ${priority} \
113+
--slave /usr/share/man/man1/xjc.1 xjc.1 /usr/java/${oracle_java::longversion}/man/man1/xjc.1"
114+
}
115+
}
116+
default : {
117+
exec { 'add java alternative':
118+
command => "update-alternatives --install /usr/bin/java java /usr/java/${oracle_java::longversion}/bin/java ${priority} \
119+
--slave /usr/share/man/man1/java.1 java.1 /usr/java/${oracle_java::longversion}/man/man1/java.1;
120+
update-alternatives --install /usr/bin/javaws javaws /usr/java/${oracle_java::longversion}/bin/javaws ${priority} \
121+
--slave /usr/share/man/man1/javaws.1 javaws.1 /usr/java/${oracle_java::longversion}/man/man1/javaws.1;
122+
update-alternatives --install /usr/bin/jcontrol jcontrol /usr/java/${oracle_java::longversion}/bin/jcontrol ${priority};
123+
update-alternatives --install /usr/bin/jjs jjs /usr/java/${oracle_java::longversion}/bin/jjs${priority} \
124+
--slave /usr/share/man/man1/jjs.1 jjs.1 /usr/java/${oracle_java::longversion}/man/man1/jjs.1;
125+
update-alternatives --install /usr/bin/keytool keytool /usr/java/${oracle_java::longversion}/bin/keytool ${priority} \
126+
--slave /usr/share/man/man1/keytool.1 keytool.1 /usr/java/${oracle_java::longversion}/man/man1/keytool.1;
127+
update-alternatives --install /usr/bin/orbd orbd /usr/java/${oracle_java::longversion}/bin/orbd ${priority} \
128+
--slave /usr/share/man/man1/orbd.1 orbd.1 /usr/java/${oracle_java::longversion}/man/man1/orbd.1;
129+
update-alternatives --install /usr/bin/pack200 pack200 /usr/java/${oracle_java::longversion}/bin/pack200 ${priority} \
130+
--slave /usr/share/man/man1/pack200.1 pack200.1 /usr/java/${oracle_java::longversion}/man/man1/pack200.1;
131+
update-alternatives --install /usr/bin/policytool policytool /usr/java/${oracle_java::longversion}/bin/policytool ${priority} \
132+
--slave /usr/share/man/man1/policytool.1 policytool.1 /usr/java/${oracle_java::longversion}/man/man1/policytool.1;
133+
update-alternatives --install /usr/bin/rmid rmid /usr/java/${oracle_java::longversion}/bin/rmid ${priority} \
134+
--slave /usr/share/man/man1/rmid.1 rmid.1 /usr/java/${oracle_java::longversion}/man/man1/rmid.1;
135+
update-alternatives --install /usr/bin/rmiregistry rmiregistry /usr/java/${oracle_java::longversion}/bin/rmiregistry ${priority} \
136+
--slave /usr/share/man/man1/rmiregistry.1 rmiregistry.1 /usr/java/${oracle_java::longversion}/man/man1/rmiregistry.1;
137+
update-alternatives --install /usr/bin/servertool servertool /usr/java/${oracle_java::longversion}/bin/servertool ${priority} \
138+
--slave /usr/share/man/man1/servertool.1 servertool.1 /usr/java/${oracle_java::longversion}/man/man1/servertool.1;
139+
update-alternatives --install /usr/bin/tnameserv tnameserv /usr/java/${oracle_java::longversion}/bin/tnameserv ${priority} \
140+
--slave /usr/share/man/man1/tnameserv.1 tnameserv.1 /usr/java/${oracle_java::longversion}/man/man1/tnameserv.1;
141+
update-alternatives --install /usr/bin/unpack200 unpack200 /usr/java/${oracle_java::longversion}/bin/unpack200 ${priority} \
142+
--slave /usr/share/man/man1/unpack200.1 unpack200.1 /usr/java/${oracle_java::longversion}/man/man1/unpack200.1"
143+
}
144+
}
145+
}
146+
}

0 commit comments

Comments
 (0)