diff options
-rw-r--r-- | manifests/apt_conf.pp | 2 | ||||
-rw-r--r-- | manifests/dot_d_directories.pp | 22 | ||||
-rw-r--r-- | manifests/init.pp | 16 | ||||
-rw-r--r-- | manifests/sources_list.pp | 2 |
4 files changed, 27 insertions, 15 deletions
diff --git a/manifests/apt_conf.pp b/manifests/apt_conf.pp index c484ec3..03ae1ac 100644 --- a/manifests/apt_conf.pp +++ b/manifests/apt_conf.pp @@ -12,6 +12,8 @@ define apt::apt_conf( fail("Only one of \$source or \$content must specified for apt_conf ${name}") } + include apt::dot_d_directories + file { "/etc/apt/apt.conf.d/${name}": ensure => $ensure, notify => Exec["refresh_apt"], diff --git a/manifests/dot_d_directories.pp b/manifests/dot_d_directories.pp new file mode 100644 index 0000000..742aad4 --- /dev/null +++ b/manifests/dot_d_directories.pp @@ -0,0 +1,22 @@ +class apt::dot_d_directories { + + # watch .d directories and ensure they are present + file { + "/etc/apt/apt.conf.d": + ensure => directory, + checksum => mtime, + notify => Exec['refresh_apt']; + "/etc/apt/sources.list.d": + ensure => directory, + checksum => mtime, + notify => Exec['refresh_apt']; + } + + exec { + # "&& sleep 1" is workaround for older(?) clients + 'refresh_apt': + command => '/usr/bin/apt-get update && sleep 1', + refreshonly => true, + } + +} diff --git a/manifests/init.pp b/manifests/init.pp index b5be91f..0d58c61 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -128,21 +128,7 @@ class apt { require => [ Apt_conf['02show_upgraded'], Apt_conf['03clean'] ]; } - # watch .d directories and ensure they are present - file { "/etc/apt/apt.conf.d": ensure => directory, checksum => mtime; } - file { "/etc/apt/sources.list.d": - ensure => directory, - checksum => mtime, - notify => Exec['refresh_apt'], - } - - exec { - # "&& sleep 1" is workaround for older(?) clients - 'refresh_apt': - command => '/usr/bin/apt-get update && sleep 1', - refreshonly => true, - subscribe => [ File['/etc/apt/apt.conf.d'], Config_file['/etc/apt/sources.list'] ]; - } + include apt::dot_d_directories ## This package should really always be current package { "debian-archive-keyring": ensure => latest } diff --git a/manifests/sources_list.pp b/manifests/sources_list.pp index 86b35a7..edf7f22 100644 --- a/manifests/sources_list.pp +++ b/manifests/sources_list.pp @@ -11,6 +11,8 @@ define apt::sources_list ( fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}") } + include apt::dot_d_directories + file { "/etc/apt/sources.list.d/${name}": ensure => $ensure, owner => root, group => 0, mode => 0644; |