bigtop_toolchain/manifests/jdk.pp (68 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. class bigtop_toolchain::jdk { case $::operatingsystem { /Debian/: { include apt package { 'jdk8' : name => 'temurin-8-jdk', ensure => present, } } /Ubuntu/: { include apt package { 'jdk8' : name => 'openjdk-8-jdk', ensure => present, } } /(CentOS|Amazon|Fedora|RedHat|Rocky|openEuler)/: { package { 'jdk8' : name => 'java-1.8.0-openjdk-devel', ensure => present } if ($::operatingsystem == "Fedora") { file { '/usr/lib/jvm/java-1.8.0-openjdk/jre/lib/security/cacerts': ensure => 'link', target => '/etc/pki/java/cacerts' } } } /OpenSuSE/: { package { 'jdk8' : name => 'java-1_8_0-openjdk-devel', ensure => present } } } case $::operatingsystem { /Debian/: { exec { 'ensure java 8 is set as default': command => "update-java-alternatives --set temurin-8*", path => ['/usr/sbin', '/usr/bin', '/bin'], require => Package['jdk8'], } } /Ubuntu/: { exec { 'ensure java 8 is set as default': command => "update-java-alternatives --set java-1.8.0-openjdk-$(dpkg --print-architecture)", path => ['/usr/sbin', '/usr/bin', '/bin'], require => Package['jdk8'], } } /(CentOS|RedHat|Rocky)/: { exec { 'ensure java 8 is set as default': command => "update-alternatives --set java java-1.8.0-openjdk.$(uname -m) \ && update-alternatives --set javac java-1.8.0-openjdk.$(uname -m)", path => ['/usr/sbin', '/usr/bin', '/bin'], require => Package['jdk8'], } } /Fedora/: { exec { 'ensure java 8 is set as default': command => "update-alternatives --set java /usr/lib/jvm/java-1.8.0-openjdk/jre/bin/java \ && update-alternatives --set javac /usr/lib/jvm/java-1.8.0-openjdk/bin/javac", path => ['/usr/sbin', '/usr/bin', '/bin'], require => Package['jdk8'], } } } }