diff options
author | intrigeri <intrigeri@boum.org> | 2010-11-21 16:31:42 +0100 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2010-11-21 16:31:42 +0100 |
commit | d30069c178ff2aff9154f65bd7dbf988c4d002f1 (patch) | |
tree | c710585866e623dd595b35bc921261a364ec64c8 /manifests | |
parent | ee6d13d1e42acca7374aa302a4f9dfa9001d799f (diff) | |
parent | d97a49b7b2c020c2c43df6524236f50a421789ee (diff) |
Merge commit 'd97a49b7b2c020c2c43df6524236f50a421789ee'.
Going on merging immerda changes.
Incompatible change: I do prefer my own generic apt/preferences template to
shipping a static file that only supports Lenny. My own template supports
security, backports, volatile, next release etc.
Conflicts:
files/preferences
manifests/init.pp
manifests/preferences.pp
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/apt_conf_snippet.pp | 16 | ||||
-rw-r--r-- | manifests/init.pp | 26 | ||||
-rw-r--r-- | manifests/preferences_snippet.pp | 22 |
3 files changed, 35 insertions, 29 deletions
diff --git a/manifests/apt_conf_snippet.pp b/manifests/apt_conf_snippet.pp index 77b88ae..c1cd884 100644 --- a/manifests/apt_conf_snippet.pp +++ b/manifests/apt_conf_snippet.pp @@ -10,20 +10,20 @@ define apt::apt_conf_snippet( fail("Only one of \$source or \$content must specified for apt_conf_snippet ${name}") } + file { "/etc/apt/apt.conf.d/${name}": + ensure => $ensure, + notify => Exec["refresh_apt"], + owner => root, group => 0, mode => 0600; + } + if $source { - file { "/etc/apt/apt.conf.d/${name}": - ensure => $ensure, + File["/etc/apt/apt.conf.d/${name}"] { source => $source, - notify => Exec["refresh_apt"], - owner => root, group => 0, mode => 0600; } } else { - file { "/etc/apt/apt.conf.d/${name}": - ensure => $ensure, + File["/etc/apt/apt.conf.d/${name}"] { content => $content, - notify => Exec["refresh_apt"], - owner => root, group => 0, mode => 0600; } } } diff --git a/manifests/init.pp b/manifests/init.pp index f55507f..6938c2c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -84,22 +84,16 @@ class apt { $next_codename = debian_nextcodename($codename) $next_release = debian_nextrelease($release) - case $custom_sources_list { - '': { - config_file { - # include main, security and backports - # additional sources should be included via the custom_sources_template - # define - "/etc/apt/sources.list": - content => template( "apt/$operatingsystem/sources.list.erb"), - require => Package['lsb']; - } - } - default: { - config_file { "/etc/apt/sources.list": - content => $custom_sources_list, - } - } + config_file { + # include main, security and backports + # additional sources should be included via the custom_sources_template + # define + "/etc/apt/sources.list": + content => $custom_sources_list ? { + '' => template( "apt/$operatingsystem/sources.list.erb"), + default => $custom_sources_list + }, + require => Package['lsb']; } apt_conf_snippet{ "02show_upgraded": 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 + } + } } |