aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorintrigeri <intrigeri@boum.org>2010-11-21 16:24:57 +0100
committerintrigeri <intrigeri@boum.org>2010-11-21 16:24:57 +0100
commitee6d13d1e42acca7374aa302a4f9dfa9001d799f (patch)
treef7d45d0a313a9fd5794ed11ee47418f53fb07047
parent06a2957f9f0c2b4060709150afa194b98c6995ba (diff)
parentac76a5d52df78aec919f08334ca5b140902a9298 (diff)
downloadpuppet-apt-ee6d13d1e42acca7374aa302a4f9dfa9001d799f.tar.gz
puppet-apt-ee6d13d1e42acca7374aa302a4f9dfa9001d799f.tar.bz2
Merge commit 'ac76a5d52df78aec919f08334ca5b140902a9298'
(Starting to merge changes from immerda.) Conflicts: manifests/default_sources_list.pp manifests/init.pp
-rw-r--r--files/02show_upgraded1
-rw-r--r--files/03clean1
-rw-r--r--manifests/apt_conf_snippet.pp29
-rw-r--r--manifests/default_sources_list.pp10
-rw-r--r--manifests/init.pp48
-rw-r--r--manifests/proxy-client.pp6
-rw-r--r--manifests/unattended_upgrades.pp11
-rw-r--r--templates/20proxy.erb1
8 files changed, 66 insertions, 41 deletions
diff --git a/files/02show_upgraded b/files/02show_upgraded
new file mode 100644
index 0000000..870a3a9
--- /dev/null
+++ b/files/02show_upgraded
@@ -0,0 +1 @@
+APT::Get::Show-Upgraded true;
diff --git a/files/03clean b/files/03clean
new file mode 100644
index 0000000..335823d
--- /dev/null
+++ b/files/03clean
@@ -0,0 +1 @@
+DSelect::Clean auto;
diff --git a/manifests/apt_conf_snippet.pp b/manifests/apt_conf_snippet.pp
new file mode 100644
index 0000000..77b88ae
--- /dev/null
+++ b/manifests/apt_conf_snippet.pp
@@ -0,0 +1,29 @@
+define apt::apt_conf_snippet(
+ $ensure = 'present',
+ $source = '',
+ $content = undef
+){
+ if $source == '' and $content == undef {
+ fail("One of \$source or \$content must be specified for apt_conf_snippet ${name}")
+ }
+ if $source != '' and $content != undef {
+ 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;
+ }
+ }
+ else {
+ file { "/etc/apt/apt.conf.d/${name}":
+ ensure => $ensure,
+ content => $content,
+ notify => Exec["refresh_apt"],
+ owner => root, group => 0, mode => 0600;
+ }
+ }
+}
diff --git a/manifests/default_sources_list.pp b/manifests/default_sources_list.pp
deleted file mode 100644
index 91955d7..0000000
--- a/manifests/default_sources_list.pp
+++ /dev/null
@@ -1,10 +0,0 @@
-class apt::default_sources_list {
- config_file {
- # include main, security and backports
- # additional sources could be included via an array
- "/etc/apt/sources.list":
- content => template("apt/${operatingsystem}/sources.list.erb"),
- require => Package['lsb'];
- }
-}
-
diff --git a/manifests/init.pp b/manifests/init.pp
index cdcd142..f55507f 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -6,7 +6,7 @@
class apt {
import "custom_sources.pp"
-
+
# See README
$real_apt_clean = $apt_clean ? {
'' => 'auto',
@@ -68,10 +68,11 @@ class apt {
require => undef,
}
+ include lsb
+
# init $release, $next_release, $codename, $next_codename
case $lsbdistcodename {
'': {
- include lsb
$codename = $lsbdistcodename
$release = $lsbdistrelease
}
@@ -85,7 +86,14 @@ class apt {
case $custom_sources_list {
'': {
- include apt::default_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":
@@ -94,6 +102,18 @@ class apt {
}
}
+ apt_conf_snippet{ "02show_upgraded":
+ source => ["puppet:///modules/site-apt/${fqdn}/02show_upgraded",
+ "puppet:///modules/site-apt/02show_upgraded",
+ "puppet:///modules/apt/02show_upgraded"]
+ }
+
+ apt_conf_snippet{ "03clean":
+ source => ["puppet:///modules/site-apt/${fqdn}/03clean",
+ "puppet:///modules/site-apt/03clean",
+ "puppet:///modules/apt/03clean"]
+ }
+
case $custom_preferences {
false: {
include apt::preferences::absent
@@ -103,26 +123,14 @@ class apt {
}
}
- config_file { '/etc/apt/apt.conf.d/99from_puppet': }
- # little default settings which keep the system sane
- append_if_no_such_line { 'apt-get-show-upgraded':
- file => "/etc/apt/apt.conf.d/99from_puppet",
- line => "APT::Get::Show-Upgraded true;",
- before => Concatenated_file['/etc/apt/preferences'],
- require => Config_file['/etc/apt/apt.conf.d/99from_puppet'],
- }
- append_if_no_such_line { 'dselect-clean':
- file => "/etc/apt/apt.conf.d/99from_puppet",
- line => "DSelect::Clean ${real_apt_clean};",
- before => Concatenated_file['/etc/apt/preferences'],
- require => Config_file['/etc/apt/apt.conf.d/99from_puppet'],
- }
# backward compatibility: upgrade from previous versions of this module.
file {
- "/etc/apt/apt.conf.d/from_puppet":
+ ["/etc/apt/apt.conf.d/from_puppet",
+ "/etc/apt/apt.conf.d/99from_puppet"
+ ]:
ensure => 'absent',
- require => [ Append_if_no_such_line['apt-get-show-upgraded'],
- Append_if_no_such_line['dselect-clean']
+ require => [ Apt_conf_snippet['02show_upgraded'],
+ Apt_conf_snippet['03clean'],
],
}
diff --git a/manifests/proxy-client.pp b/manifests/proxy-client.pp
index ea0a29c..30bda8a 100644
--- a/manifests/proxy-client.pp
+++ b/manifests/proxy-client.pp
@@ -10,9 +10,7 @@ class apt::proxy-client {
default => $apt_proxy_port
}
- file { "/etc/apt/apt.conf.d/20proxy":
- ensure => present,
- content => "Acquire::http { Proxy \"http://$real_apt_proxy:$real_apt_proxy_port\"; };\n",
- owner => root, group => 0, mode => 0644;
+ apt_conf_snippet { "20proxy":
+ content => template("apt/20proxy.erb"),
}
}
diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp
index e1080a0..6a0c685 100644
--- a/manifests/unattended_upgrades.pp
+++ b/manifests/unattended_upgrades.pp
@@ -4,14 +4,11 @@ class apt::unattended_upgrades {
require => undef,
}
- config_file {
- "/etc/apt/apt.conf.d/50unattended-upgrades":
- source => ["puppet:///modules/site-apt/50unattended-upgrades",
- "puppet:///modules/apt/50unattended-upgrades" ],
+ apt_conf_snippet { "50unattended-upgrades":
+ source => ["puppet:///modules/site-apt/50unattended-upgrades",
+ "puppet:///modules/apt/50unattended-upgrades" ],
- # err: Could not run Puppet configuration client: Could not find dependent Config_file[apt_config] for Config_file[/etc/apt/apt.conf.d/50unattended-upgrades] at /etc/puppet/modules/apt/manifests/unattended_upgrades.pp:14
-
- #before => Config_file[apt_config],
+ before => Concatenated_file[apt_config],
require => Package['unattended-upgrades'],
}
}
diff --git a/templates/20proxy.erb b/templates/20proxy.erb
new file mode 100644
index 0000000..e72319f
--- /dev/null
+++ b/templates/20proxy.erb
@@ -0,0 +1 @@
+Acquire::http { Proxy "http://<%= real_apt_proxy %>:<%= real_apt_proxy_port %>"; };