aboutsummaryrefslogtreecommitdiff
path: root/manifests/preferences_snippet.pp
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2011-02-14 14:11:19 -0200
committerSilvio Rhatto <rhatto@riseup.net>2011-02-14 14:11:19 -0200
commit1203852923594064e61fcfa0e4bf35f72000175d (patch)
treea2e24e5555da35cef04a6929a7669663d60c1311 /manifests/preferences_snippet.pp
parentb9d11f17fff581fc854823e22a50539fc9e6ace3 (diff)
parent045e1fc748c83b55ce03c5cb2aa0a8ae29904975 (diff)
downloadpuppet-apt-1203852923594064e61fcfa0e4bf35f72000175d.tar.gz
puppet-apt-1203852923594064e61fcfa0e4bf35f72000175d.tar.bz2
Merge branch 'master' of git://labs.riseup.net/shared-apt
Conflicts: manifests/init.pp templates/sources.list.backports.erb
Diffstat (limited to 'manifests/preferences_snippet.pp')
-rw-r--r--manifests/preferences_snippet.pp36
1 files changed, 36 insertions, 0 deletions
diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp
new file mode 100644
index 0000000..4b8e575
--- /dev/null
+++ b/manifests/preferences_snippet.pp
@@ -0,0 +1,36 @@
+define apt::preferences_snippet(
+ $ensure = 'present',
+ $source = '',
+ $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}":
+ ensure => $ensure,
+ #TODO this template is somewhat limited
+ notify => Exec["concat_${apt::preferences::apt_preferences_dir}"],
+ owner => root, group => 0, mode => 0600;
+ }
+
+ # This should really work in the same manner as sources_list and apt_conf
+ # snippets, but since the preferences.d directory cannot be used in Debian
+ # lenny, we can't generalize without going into ugly special-casing.
+ case $source {
+ '': {
+ File["${apt::preferences::apt_preferences_dir}/${name}"] {
+ content => template("apt/preferences_snippet.erb")
+ }
+ }
+ default: {
+ File["${apt::preferences::apt_preferences_dir}/${name}"] {
+ source => $source
+ }
+ }
+ }
+}