From 362bc66d1574d994707e8a25b677720e10052594 Mon Sep 17 00:00:00 2001 From: Ossi Herrala Date: Wed, 5 Feb 2014 15:00:49 +0000 Subject: [PATCH] firewall, gnu, sendmail: Fix "Name must be a String not Array" errors produced by latest Puppet. --- firewall/manifests/init.pp | 41 ++++++++++++++++++++++++++------------ gnu/manifests/init.pp | 21 +++++++++++++------ sendmail/manifests/init.pp | 5 ++++- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/firewall/manifests/init.pp b/firewall/manifests/init.pp index 8237f9d..7e242a6 100644 --- a/firewall/manifests/init.pp +++ b/firewall/manifests/init.pp @@ -122,19 +122,34 @@ class firewall::common::iptables { } } - package { "iptables": - ensure => installed, - name => $::operatingsystem ? { - "centos" => [ "iptables", "iptables-ipv6" ], - "redhat" => [ "iptables", "iptables-ipv6" ], - "debian" => [ "iptables", "iptables-persistent" ], - "fedora" => $::operatingsystemrelease ? { - /^1[0-5]/ => [ "iptables", "iptables-ipv6" ], - /^1[6-7]/ => "iptables", - default => [ "iptables", "iptables-services" ], - }, - "ubuntu" => [ "iptables", "iptables-persistent" ], - }, + case $::operatingsystem { + 'debian', 'ubuntu': { + package { "iptables": + ensure => installed, + require => Package["iptables-persistent"], + } + package { "iptables-persistent": + ensure => installed, + } + } + 'centos','redhat': { + package { "iptables": + ensure => installed, + require => Package["iptables-ipv6"], + } + package { "iptables-ipv6": + ensure => installed, + } + } + 'fedora': { + package { "iptables": + ensure => installed, + require => Package["iptables-services"], + } + package { "iptables-services": + ensure => installed, + } + } } file { $iptables: diff --git a/gnu/manifests/init.pp b/gnu/manifests/init.pp index fd9b539..7dc8f1a 100644 --- a/gnu/manifests/init.pp +++ b/gnu/manifests/init.pp @@ -10,14 +10,23 @@ class gnu::gcc { } if $::kernel == Linux { - package { "kernel-headers": - name => $::operatingsystem ? { - "debian" => "linux-libc-dev", - "ubuntu" => "linux-libc-dev", - default => [ "kernel-headers", "kernel-devel", ], - }, + case $::operatingsystem { + 'debian', 'ubuntu': { + package { "kernel-headers": + name => "linux-libc-dev", ensure => installed, + } } + default: { + package { "kernel-headers": + ensure => installed, + require => Package["kernel-devel"], + } + package { "kernel-devel": + ensure => installed, + } + } + } } } diff --git a/sendmail/manifests/init.pp b/sendmail/manifests/init.pp index 59b6d7b..3b9b07e 100644 --- a/sendmail/manifests/init.pp +++ b/sendmail/manifests/init.pp @@ -9,8 +9,11 @@ class sendmail::common { if $::operatingsystem != "OpenBSD" { package { "sendmail": ensure => installed, - name => [ "sendmail", "sendmail-cf", ], before => File["/etc/mail/certs"], + require => Package["sendmail-cf"], + } + package { "sendmail-cf": + ensure => installed, } service { "sendmail": ensure => running,