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
This commit is contained in:
intrigeri 2010-11-21 16:31:42 +01:00
commit d30069c178
4 changed files with 39 additions and 29 deletions

View file

@ -0,0 +1,4 @@
Package: <%= name %>
Pin: release a=<%= release %>
Pin-Priority: <%= priority %>

View file

@ -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;
}
}
}

View file

@ -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":

View file

@ -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
}
}
}