module-nginx/manifests/package.pp
Joshua Hoblitt 8a1981f640 update nginx::package to select the package class by $::osfamily
There were some bugs in the existing $::operatingsystem based approach.

* amazon was it's own package set when it's properly part of $::osfamily ==
'redhat' as of facter >= 1.7.2

* gentoo was improperly part of the amazon package set; this patch removes
support for gentoo but it was broken anyways

modifications to nginx:📦:redhat were made as well

* it no longer tries to setup the nginx.org yumrepo for fedora as no packages
for fedora are currently provided

* amazon release numbers are inconsistent with EL.  Unknown
$::lsbmajdistrelease values are now mapped to 6 so it's no longer nessicary to
test for $::lsbmajdistrelease being undefined.  This logic will need to be
reworked after RHEL7.x is released.

* the url to the nginx repo was including $::operatingsystem in it but
nginx.org only has package dirs for 'rhel' & 'centos' which are presently
identical; the usage of the 'rhel' dir has been hardcoded.  This fixes broken
yum repo setup for all $::osfamily == 'redhat' platforms other than redhat and
centos.
2013-08-22 13:32:54 -07:00

57 lines
1.6 KiB
Puppet

# Class: nginx::package
#
# This module manages NGINX package installation
#
# Parameters:
#
# There are no default parameters for this class.
#
# Actions:
#
# Requires:
#
# Sample Usage:
#
# This class file is not called directly
class nginx::package {
anchor { 'nginx::package::begin': }
anchor { 'nginx::package::end': }
case $::osfamily {
'redhat': {
class { 'nginx::package::redhat':
require => Anchor['nginx::package::begin'],
before => Anchor['nginx::package::end'],
}
}
'debian': {
class { 'nginx::package::debian':
require => Anchor['nginx::package::begin'],
before => Anchor['nginx::package::end'],
}
}
'suse': {
class { 'nginx::package::suse':
require => Anchor['nginx::package::begin'],
before => Anchor['nginx::package::end'],
}
}
default: {
case $::operatingsystem {
'amazon': {
# Amazon was added to osfamily RedHat in 1.7.2
# https://github.com/puppetlabs/facter/commit/c12d3b6c557df695a7b2b009da099f6a93c7bd31#lib/facter/osfamily.rb
warning("Module ${module_name} support for ${::operatingsystem} with facter < 1.7.2 is deprecated")
warning("Please upgrade from facter ${::facterversion} to >= 1.7.2")
class { 'nginx::package::redhat':
require => Anchor['nginx::package::begin'],
before => Anchor['nginx::package::end'],
}
}
default: {
fail("Module ${module_name} is not supported on ${::operatingsystem}")
}
}
}
}
}