Merge remote-tracking branch 'shared/master'

Conflicts:
	README
This commit is contained in:
mh 2012-04-15 13:18:59 +02:00
commit bdc2446671
8 changed files with 43 additions and 20 deletions

4
README
View file

@ -19,7 +19,7 @@ This module needs:
- lsb-release installed - lsb-release installed
- the common module: git://labs.riseup.net/shared-common - the common module: git://labs.riseup.net/shared-common
- the concat module: https://github.com/ripienaar/puppet-concat - the concat module: git://labs.riseup.net/shared-concat
By default, on normal hosts, this module sets the configuration option By default, on normal hosts, this module sets the configuration option
DSelect::Clean to 'auto'. On virtual servers, the value is set by default to DSelect::Clean to 'auto'. On virtual servers, the value is set by default to
@ -371,7 +371,7 @@ Resources
========= =========
Concat[apt_config] Concat[apt_config]
----------------------------- ------------------
Use this resource to depend on or add to a completed apt configuration Use this resource to depend on or add to a completed apt configuration

View file

@ -12,6 +12,7 @@ Unattended-Upgrade::Allowed-Origins {
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1"; APT::Periodic::Unattended-Upgrade "1";
Unattended-Upgrade::Mail "root"; Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailOnlyOnError "true";
APT::UnattendedUpgrades::LogDir "/var/log/"; APT::UnattendedUpgrades::LogDir "/var/log/";
APT::UnattendedUpgrades::LogFile "unattended_upgrades.log"; APT::UnattendedUpgrades::LogFile "unattended_upgrades.log";

View file

@ -12,10 +12,15 @@ define apt::apt_conf(
fail("Only one of \$source or \$content must specified for apt_conf ${name}") fail("Only one of \$source or \$content must specified for apt_conf ${name}")
} }
include apt::dot_d_directories
# One would expect the 'file' resource on sources.list.d to trigger an
# apt-get update when files are added or modified in the directory, but it
# apparently doesn't.
file { "/etc/apt/apt.conf.d/${name}": file { "/etc/apt/apt.conf.d/${name}":
ensure => $ensure, ensure => $ensure,
owner => root, group => 0, mode => 0644,
notify => Exec["refresh_apt"], notify => Exec["refresh_apt"],
owner => root, group => 0, mode => 0644;
} }
if $source { if $source {

View file

@ -0,0 +1,22 @@
class apt::dot_d_directories {
# watch .d directories and ensure they are present
file {
"/etc/apt/apt.conf.d":
ensure => directory,
checksum => mtime,
notify => Exec['refresh_apt'];
"/etc/apt/sources.list.d":
ensure => directory,
checksum => mtime,
notify => Exec['refresh_apt'];
}
exec {
# "&& sleep 1" is workaround for older(?) clients
'refresh_apt':
command => '/usr/bin/apt-get update && sleep 1',
refreshonly => true,
}
}

View file

@ -85,7 +85,8 @@ class apt {
'' => template( "apt/$operatingsystem/sources.list.erb"), '' => template( "apt/$operatingsystem/sources.list.erb"),
default => $custom_sources_list default => $custom_sources_list
}, },
require => Package['lsb']; require => Package['lsb'],
notify => Exec['refresh_apt'],
} }
apt_conf { "02show_upgraded": apt_conf { "02show_upgraded":
@ -128,21 +129,7 @@ class apt {
require => [ Apt_conf['02show_upgraded'], Apt_conf['03clean'] ]; require => [ Apt_conf['02show_upgraded'], Apt_conf['03clean'] ];
} }
# watch .d directories and ensure they are present include apt::dot_d_directories
file { "/etc/apt/apt.conf.d": ensure => directory, checksum => mtime; }
file { "/etc/apt/sources.list.d":
ensure => directory,
checksum => mtime,
notify => Exec['refresh_apt'],
}
exec {
# "&& sleep 1" is workaround for older(?) clients
'refresh_apt':
command => '/usr/bin/apt-get update && sleep 1',
refreshonly => true,
subscribe => [ File['/etc/apt/apt.conf.d'], Config_file['/etc/apt/sources.list'] ];
}
## This package should really always be current ## This package should really always be current
package { "debian-archive-keyring": ensure => latest } package { "debian-archive-keyring": ensure => latest }

View file

@ -11,9 +11,15 @@ define apt::sources_list (
fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}") fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}")
} }
include apt::dot_d_directories
# One would expect the 'file' resource on sources.list.d to trigger an
# apt-get update when files are added or modified in the directory, but it
# apparently doesn't.
file { "/etc/apt/sources.list.d/${name}": file { "/etc/apt/sources.list.d/${name}":
ensure => $ensure, ensure => $ensure,
owner => root, group => 0, mode => 0644; owner => root, group => 0, mode => 0644,
notify => Exec['refresh_apt'],
} }
if $source { if $source {

View file

@ -0,0 +1 @@
apticron_wheezy.erb

View file

@ -0,0 +1 @@
listchanges_lenny.erb