diff options
author | Gabriel Filion <lelutin@gmail.com> | 2010-10-25 12:17:50 -0400 |
---|---|---|
committer | Gabriel Filion <lelutin@gmail.com> | 2010-10-25 14:15:12 -0400 |
commit | 4ebb7d463ed6e85a715f0a311378bf673a907042 (patch) | |
tree | e5635c1b42e2e1f71643126c0c58a55db29adeee | |
parent | 26714ae4d2992c85082ec37e6c40d725d097f79a (diff) | |
download | puppet-apt-4ebb7d463ed6e85a715f0a311378bf673a907042.tar.gz puppet-apt-4ebb7d463ed6e85a715f0a311378bf673a907042.tar.bz2 |
Fix apt::preferences::absent
Currently, setting the $custom_preferences variable to false fails
because of the /etc/apt/preferences concatenated_file being re-defined.
Fix this by setting dependencies on the resource only when we expect to
create the /etc/apt/preferences file. Also, since there is no "ensure"
parameter to concatenated_file, use a simple file resource to ensure
that it is removed.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
-rw-r--r-- | manifests/init.pp | 6 | ||||
-rw-r--r-- | manifests/preferences/absent.pp | 5 | ||||
-rw-r--r-- | manifests/preferences_snippet.pp | 4 | ||||
-rw-r--r-- | manifests/unattended_upgrades.pp | 8 |
4 files changed, 16 insertions, 7 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 8588932..dde9c29 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -96,7 +96,11 @@ class apt { alias => "custom_keys", subscribe => File["${apt_base_dir}/keys.d"], refreshonly => true, - before => Concatenated_file[apt_config]; + } + if $custom_preferences != false { + Exec["custom_keys"] { + before => Concatenated_file[apt_config], + } } } diff --git a/manifests/preferences/absent.pp b/manifests/preferences/absent.pp index 3131aff..d8b2e10 100644 --- a/manifests/preferences/absent.pp +++ b/manifests/preferences/absent.pp @@ -1,8 +1,5 @@ class apt::preferences::absent { - include common::moduledir - $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" - concatenated_file{'/etc/apt/preferences': - dir => $apt_preferences_dir, + file {'/etc/apt/preferences': ensure => absent, } } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index a723206..9da7a8e 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -4,6 +4,10 @@ define apt::preferences_snippet( $release, $priority ){ + if $custom_preferences == false { + fail("Trying to define a preferences_snippet with \$custom_preferences set to false.") + } + include apt::preferences file { "${apt::preferences::apt_preferences_dir}/${name}": diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index fb04193..f52448d 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -7,8 +7,12 @@ class apt::unattended_upgrades { apt_conf { "50unattended-upgrades": source => ["puppet:///modules/site-apt/50unattended-upgrades", "puppet:///modules/apt/50unattended-upgrades" ], - - before => Concatenated_file[apt_config], require => Package['unattended-upgrades'], } + + if $custom_preferences != false { + Apt_conf["50unattended-upgrades"] { + before => Concatenated_file[apt_config], + } + } } |