module-apt/manifests/preferences_snippet.pp
Gabriel Filion d97a49b7b2 refactor: simplify and remove inline content
Simplifications: make apt_conf_snippet repeat less code, make code that
generates sources.list more concise.

Remove all inline content in favor of templates and static files.
The ability to include sources for static files was needed for
the main 'preferences' file, so it was added to the preferences_snippet
define.

Signed-off-by: Gabriel Filion <lelutin@gmail.com>
2010-10-25 00:14:33 -04:00

29 lines
878 B
Puppet

define apt::preferences_snippet(
$ensure = 'present',
$source = '',
$release,
$priority
){
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
}
}
}