Compare commits

..

25 Commits

Author SHA1 Message Date
Matthaus Owens
bd50a396ef Merge pull request #25 from reidmv/reduce_complexity
Reduce complexity
2013-04-06 23:00:17 -07:00
Reid Vandewiele
b46f256b11 Remove cruft and bumb version number 2013-04-04 20:19:37 -07:00
Reid Vandewiele
5091d7fd6a Add package as class parameter
In case the defaults aren't good enough
2013-04-04 20:19:37 -07:00
Reid Vandewiele
f7a95a1e0e Refactor and reduce
The module in its previous incarnation was unnecessarily hard to read
and use. This commit applies the "params" pattern in order to more
clearly deliniate between logical variable selection and actual
declarative configuration.
2013-04-04 20:19:36 -07:00
Scott Schneider
ff80bc7f79 Merge pull request #23 from haus/fix_fedora
Add special case for fedora operating systems, where java is installable...
2013-02-19 15:59:08 -08:00
Matthaus Owens
995b985d37 Add special case for fedora operating systems, where java is installable, but jdk is not. 2013-02-19 15:37:30 -08:00
Matthaus Owens
234fd7b650 Merge pull request #22 from puppetlabs/suse_support
Adding java::package_suse class
2013-01-08 15:38:35 -08:00
Scott Schneider
7264c4022e Adding java::package_suse class 2012-12-27 10:59:12 -08:00
Adrien Thebo
017a749d13 Merge pull request #18 from sschneid/master
Add Solaris support
2012-11-15 11:58:49 -08:00
Scott Schneider
e37f6d5af6 Bumping version to 0.2.0 2012-11-15 11:55:53 -08:00
Scott Schneider
c797e52851 Add Solaris support 2012-11-15 11:23:08 -08:00
Chris Price
4ab58a2f88 Merge pull request #14 from eshamow/use_osfamily_instead_of_operatingsystem
Use osfamily instead of operatingsystem to determine package
2012-10-18 19:10:37 -07:00
Eric Shamow
3afa0813ea Use osfamily instead of operatingsystem to determine package
osfamily is slightly more forgiving, especially for RHEL-based
distributions.
2012-07-10 15:50:27 -06:00
Ben Hughes
4d7154516d Merge pull request #13 from ody/move_to_openjdk
Moves debain packages to openjdk.
2012-05-30 16:18:06 -07:00
Cody Herriges
d027d35e2d Fixing a couple style discrepancies.
Update a couple minor style things that were noticed while making previous
  changes.
2012-05-09 15:47:48 -07:00
Cody Herriges
30b07259a2 Moves debain packages to openjdk.
Change sun-java6-* packages to their openjdk equivalents and add conditional
  based on lsb codename to determine which version to install.
2012-05-09 15:43:19 -07:00
Gary Larizza
6365fcd9f2 Merge pull request #11 from ccaum/master
Allow distributions starting with string `java`

Reviewed-by: Gary Larizza <gary@puppetlabs.com>
2011-09-13 19:28:29 -07:00
Carl Caum
a671ad7cc4 Allow distributions starting with java
Some java distributions can start with java, such as java-sun or java-1.6.0-openjdk.  We should allow these to be specified
2011-09-13 19:55:24 +00:00
Ken Barber
0e4dc2dd81 Merge pull request #10 from kbarber/issues/master/9_empty-metadata
9 - remove empty metadata.json from repo to avoid errors when using from
2011-06-25 11:25:33 -07:00
Ken Barber
4c1161891b 9 - remove empty metadata.json from repo to avoid errors when using from github. 2011-06-25 19:23:45 +01:00
Ken Barber
98e1d30235 Merge pull request #7 from kbarber/issue/master/5_preseed_for_license
5 - Provide a preseed file that preseeds license signing for java package
2011-06-25 11:17:26 -07:00
Ken Barber
b5854b3ef3 Merge pull request #8 from kbarber/issues/master/4_license-file
4 - Add license file.
2011-06-25 10:57:01 -07:00
Ken Barber
e6be2ed785 4 - Add license file. 2011-06-24 23:16:12 +02:00
Ken Barber
b547e53a8b 5 - Provide a preseed file that preseeds license signing for java packages. 2011-06-24 22:52:58 +02:00
Jeff McCune
3b674ac225 Whitespace only change to README 2011-06-16 19:02:34 -07:00
13 changed files with 104 additions and 166 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
pkg/ pkg/
.DS_Store .DS_Store
metadata.json

View File

@@ -1,3 +1,9 @@
2013-04-04 Reid Vandewiele <reid@puppetlabs.com> - 0.3.0
* Refactor, introduce params pattern
2012-11-15 Scott Schneider <sschneider@puppetlabs.com> - 0.2.0
* Add Solaris support
2011-06-16 Jeff McCune <jeff@puppetlabs.com> - 0.1.5 2011-06-16 Jeff McCune <jeff@puppetlabs.com> - 0.1.5
* Add Debian based distro (Lucid) support * Add Debian based distro (Lucid) support

17
LICENSE Normal file
View File

@@ -0,0 +1,17 @@
Puppet Java Module - Puppet module for managing Java
Copyright (C) 2011 Puppet Labs Inc
Puppet Labs can be contacted at: info@puppetlabs.com
Licensed 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.

View File

@@ -1,5 +1,5 @@
name 'puppetlabs-java' name 'puppetlabs-java'
version '0.1.5' version '0.3.0'
source 'git://github.com/puppetlabs/puppetlabs-java' source 'git://github.com/puppetlabs/puppetlabs-java'
author 'puppetlabs' author 'puppetlabs'
license 'Apache' license 'Apache'

View File

@@ -2,32 +2,4 @@
Manage the Java runtime for use with other application software. Manage the Java runtime for use with other application software.
Currently this simply deploys the package on Enterprise Linux based systems and Debian based systems. Currently this deploys the correct Java package on a variety of platforms.
Tested on:
* Centos 5.6
* Ubuntu 10.04 Lucid
# RedHat Support #
The Java runtime this module is designed to configure are the RPM's provided by Oracle and obtained by extracting them from the "bin" installers.
For example:
./jdk-6u25-linux-x64-rpm.bin -x
Please download the installer from:
* [Java Downloads](http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html)
# Ubuntu Support #
## Lucid ##
You need to have the partner repository enabled in order to install the Sun JDK or JRE.
aptitude install python-software-properties
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
aptitude update

View File

@@ -4,56 +4,50 @@
# #
# Parameters: # Parameters:
# #
# [*distribution*]
# The java distribution to install. Can be one of "jdk" or "jre".
#
# [*version*]
# The version of java to install. By default, this module simply ensures
# that java is present, and does not require a specific version.
#
# [*package*]
# The name of the java package. This is configurable in case a non-standard
# java package is desired.
#
# Actions: # Actions:
# #
# Requires: # Requires:
# #
# Sample Usage: # Sample Usage:
# #
# [Remember: No empty lines between comments and class definition]
class java( class java(
$distribution = 'jdk', $distribution = 'jdk',
$version = 'installed' $version = 'present',
$package = undef,
) { ) {
include java::params
validate_re($distribution, '^jdk$|^jre$') validate_re($version, 'present|installed|latest|^[._0-9a-zA-Z:-]+$')
validate_re($version, 'installed|^[._0-9a-zA-Z:-]+$')
anchor { 'java::begin': }
anchor { 'java::end': }
case $operatingsystem {
centos, redhat, oel: {
class { 'java::package_redhat':
version => $version,
distribution => $distribution,
require => Anchor['java::begin'],
before => Anchor['java::end'],
}
case $distribution {
default: { fail('distribution must be one of jdk, jre') }
'jdk': {
$default_package_name = $java::params::jdk_package
} }
'jre': {
debian, ubuntu: { $default_package_name = $java::params::jre_package
$distribution_debian = $distribution ? {
jdk => 'sun-java6-jdk',
jre => 'sun-java6-jre',
}
class { 'java::package_debian':
version => $version,
distribution => $distribution_debian,
require => Anchor['java::begin'],
before => Anchor['java::end'],
}
} }
}
default: { $use_java_package_name = $package ? {
fail("operatingsystem $operatingsystem is not supported") default => $package,
} undef => $default_package_name,
}
package { 'java':
ensure => $version,
name => $use_java_package_name,
} }
} }

View File

@@ -1,28 +0,0 @@
# Class: java::package_debian
#
# Implementation class of the Java package
# for debian based systems.
#
# This class is not meant to be used by the end user
# of the module. It is an implementation class
# of the composite Class[java]
#
# Parameters:
#
# Actions:
#
# Requires:
#
# Sample Usage:
#
class java::package_debian(
$version,
$distribution
) {
package { 'java':
ensure => $version,
name => $distribution,
}
}

View File

@@ -1,28 +0,0 @@
# Class: java::package_redhat
#
# Implementation class of the Java package
# for redhat based systems.
#
# This class is not meant to be used by the end user
# of the module. It is an implementation class
# of the composite Class[java]
#
# Parameters:
#
# Actions:
#
# Requires:
#
# Sample Usage:
#
class java::package_redhat(
$version,
$distribution
) {
package { 'java':
ensure => $version,
name => $distribution,
}
}

46
manifests/params.pp Normal file
View File

@@ -0,0 +1,46 @@
# Class: java::params
#
# This class sets the value of two variables, jdk_package and jre_package,
# appropriate for the client system in question.
#
class java::params {
case $::osfamily {
default: { fail("unsupported platform ${::osfamily}") }
'RedHat': {
case $::operatingsystem {
default: { fail("unsupported os ${::operatingsystem}") }
'RedHat', 'CentOS': {
$jdk_package = 'java-1.7.0-openjdk-devel'
$jre_package = 'java-1.7.0-openjdk'
}
'Fedora': {
$jdk_package = 'java'
$jre_package = 'java'
}
}
}
'Debian': {
case $::lsbdistcodename {
default: { fail("unsupported release ${::lsbdistcodename}") }
'squeeze', 'lucid': {
$jdk_package = 'openjdk-6-jdk'
$jre_package = 'openjdk-6-jre-headless'
}
'wheezy', 'precise': {
$jdk_package = 'openjdk-7-jdk'
$jre_package = 'openjdk-7-jre-headless'
}
}
}
'Solaris': {
$jdk_package = 'developer/java/jdk-7'
$jre_package = 'runtime/java/jre-7'
}
'Suse': {
$jdk_package = 'java-1_6_0-ibm-devel'
$jre_package = 'java-1_6_0-ibm'
}
}
}

View File

@@ -1,12 +0,0 @@
/*
+-----------------------------------------------------------------------+
| |
| ==> DO NOT EDIT THIS FILE! <== |
| |
| You should edit the `Modulefile` and run `puppet-module build` |
| to generate the `metadata.json` file for your releases. |
| |
+-----------------------------------------------------------------------+
*/
{}

View File

@@ -1,6 +0,0 @@
--format
s
--colour
--loadby
mtime
--backtrace

View File

@@ -1,18 +0,0 @@
require 'pathname'
dir = Pathname.new(__FILE__).parent
$LOAD_PATH.unshift(dir, dir + 'lib', dir + '../lib')
require 'mocha'
require 'puppet'
gem 'rspec', '=1.2.9'
require 'spec/autorun'
Spec::Runner.configure do |config|
config.mock_with :mocha
end
# We need this because the RAL uses 'should' as a method. This
# allows us the same behaviour but with a different method name.
class Object
alias :must :should
end

View File

@@ -1,10 +1,4 @@
node default { class { 'java':
distribution => 'jdk',
notify { "alpha": } -> version => 'latest',
class { 'java':
distribution => 'jdk',
version => 'latest',
} ->
notify { "omega": }
} }