diff options
Diffstat (limited to 'manifests/preferences_snippet.pp')
| -rw-r--r-- | manifests/preferences_snippet.pp | 22 | 
1 files changed, 17 insertions, 5 deletions
| diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 21dfe86..a723206 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -1,17 +1,29 @@  define apt::preferences_snippet(    $ensure = 'present', +  $source = '',    $release,    $priority  ){    include apt::preferences +    file { "${apt::preferences::apt_preferences_dir}/${name}":      ensure => $ensure, -    content => "Package: ${name} -Pin: release a=${release} -Pin-Priority: ${priority} - -", +    #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 +      } +  }  } | 
