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:
commit
d30069c178
4 changed files with 39 additions and 29 deletions
4
files/preferences_snippet.erb
Normal file
4
files/preferences_snippet.erb
Normal file
|
@ -0,0 +1,4 @@
|
|||
Package: <%= name %>
|
||||
Pin: release a=<%= release %>
|
||||
Pin-Priority: <%= priority %>
|
||||
|
|
@ -10,20 +10,20 @@ define apt::apt_conf_snippet(
|
|||
fail("Only one of \$source or \$content must specified for apt_conf_snippet ${name}")
|
||||
}
|
||||
|
||||
if $source {
|
||||
file { "/etc/apt/apt.conf.d/${name}":
|
||||
ensure => $ensure,
|
||||
source => $source,
|
||||
notify => Exec["refresh_apt"],
|
||||
owner => root, group => 0, mode => 0600;
|
||||
}
|
||||
|
||||
if $source {
|
||||
File["/etc/apt/apt.conf.d/${name}"] {
|
||||
source => $source,
|
||||
}
|
||||
}
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,23 +84,17 @@ 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"),
|
||||
content => $custom_sources_list ? {
|
||||
'' => template( "apt/$operatingsystem/sources.list.erb"),
|
||||
default => $custom_sources_list
|
||||
},
|
||||
require => Package['lsb'];
|
||||
}
|
||||
}
|
||||
default: {
|
||||
config_file { "/etc/apt/sources.list":
|
||||
content => $custom_sources_list,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
apt_conf_snippet{ "02show_upgraded":
|
||||
source => ["puppet:///modules/site-apt/${fqdn}/02show_upgraded",
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue