aboutsummaryrefslogtreecommitdiff
path: root/manifests/dot_d_directories.pp
diff options
context:
space:
mode:
authorGabriel Filion <lelutin@gmail.com>2012-04-09 01:33:13 -0400
committerGabriel Filion <lelutin@gmail.com>2012-04-09 01:38:30 -0400
commit4d0ddd005795592f56496d8d39dc37ee86fac038 (patch)
tree209b2fe420c7ddb258369668149c7f82637348c2 /manifests/dot_d_directories.pp
parent66433e665e611f305b0f65c61558a0ec8232da00 (diff)
downloadpuppet-apt-4d0ddd005795592f56496d8d39dc37ee86fac038.tar.gz
puppet-apt-4d0ddd005795592f56496d8d39dc37ee86fac038.tar.bz2
Refactor: manage .d directories when using sources_list and apt_conf
The .d directories are only managed by the main 'apt' class. However, both 'sources_list' and 'apt_conf' defines depend on those directories. So in practice, the defines have an implicit need for those directories to be somehow managed. Let's turn this into an explicit relation, and include the directories in the defines. This makes it possible to use both defines without having to include the main 'apt' class. (maybe when using puppet apply?) Signed-off-by: Gabriel Filion <lelutin@gmail.com>
Diffstat (limited to 'manifests/dot_d_directories.pp')
-rw-r--r--manifests/dot_d_directories.pp22
1 files changed, 22 insertions, 0 deletions
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,
+ }
+
+}