diff options
-rw-r--r-- | manifests/debian/module.pp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/manifests/debian/module.pp b/manifests/debian/module.pp index 4c100fa..252948f 100644 --- a/manifests/debian/module.pp +++ b/manifests/debian/module.pp @@ -1,3 +1,4 @@ +# install/remove apache module on debian/ubuntu systems define apache::debian::module( $ensure = present, $package_name = 'absent' @@ -6,30 +7,33 @@ define apache::debian::module( if ($package_name != 'absent') { package { $package_name: - ensure => $ensure, - notify => Service['apache'], - require => Package['apache'], + ensure => $ensure, + notify => Service['apache'], + require => [ File['modules_dir'], Package['apache'] ], } } case $ensure { 'absent','purged': { exec { "/usr/sbin/a2dismod ${name}": - onlyif => "/bin/sh -c '[ -L ${modules_dir}-enabled/${name}.load ] \\ + onlyif => "/bin/sh -c '[ -L ${modules_dir}-enabled/${name}.load ] \\ && [ ${modules_dir}-enabled/${name}.load -ef ${modules_dir}-available/${name}.load ]'", - notify => Service['apache'], + notify => Service['apache'], require => Package['apache'], } } default : { exec { "/usr/sbin/a2enmod ${name}": - unless => "/bin/sh -c '[ -L ${modules_dir}-enabled/${name}.load ] \\ + unless => "/bin/sh -c '[ -L ${modules_dir}-enabled/${name}.load ] \\ && [ ${modules_dir}-enabled/${name}.load -ef ${modules_dir}-available/${name}.load ]'", - notify => Service['apache'], - require => $package_name ? { + notify => Service['apache'], + require => [ + File['modules_dir'], + $package_name ? { 'absent' => Package['apache'], - default => Package[['apache',$package_name]], - }, + default => Package[['apache',$package_name]], + } + ], } } } |