This commit adds Archlinux support. This needs changes in nginx.conf.erb
template and manifests to support pid value set to `false` (this skips it from
nginx.conf). This is due to `-pid /run/nginx.pid` being hardcoded to Archlinux
template. If you specify pid additionally in `nginx.conf` then nginx fails to
start.
We should analyze the $::osfamily fact to define $nx_daemon_user. Support for
$::operatingsystem remains but is greeted with a deprecation warning that
suggests upgrading to factor >= 1.7.2.
Corrected spec failures in redhat.pp when evaluating an undef
$::lsbmajdistrelease. Now the variable must be defined before comparison.
The first issue was that Exec[apt_get_update_for_nginx] resource is only
needed if $manage_repo == true, so it was put inside the corresponding
if block.
But even inside the if-block, Exec[apt_get_update_for_nginx] could fail
when $package_source has an invalid value and no Apt::Source[nginx] is
defined, so the respective Apt::Source[nginx], if defined, will now notify
Exec[apt_get_update_for_nginx] and Exec[apt_get_update_for_nginx] will
no longer subscribe to Apt::Source[nginx].
It would probably make sense to add a call to fail() in the default case
of $package_source.
This is just the first step of fixing up the repo stuff and allowing
the module to take in a package_name, but this helps replace the
execs{} with puppetlabs-apt.
Tested on: Debian 7, Ubuntu 12.04.
trickle through to the package classes. I've avoided making them
into paramaterized classes and we just refer directly back to the main
nginx namespace to get the variable. Makes for a cleaner looking
module!
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.
This commit puts the majority of the code provided by this module into
compliance with the published style guide. Also updated Modulefile to
have more sane pre-release values.
Updated nginx:📦:suse PuppetDoc header information to accurately
reflect the requirement for all packages as defined within the RPM spec for
SuSE and OpenSUSE