diff options
-rw-r--r-- | files/50unattended-upgrades | 20 | ||||
-rw-r--r-- | files/Debian/50unattended-upgrades (renamed from files/squeeze/50unattended-upgrades) | 0 | ||||
-rw-r--r-- | files/Debian/50unattended-upgrades.lenny (renamed from files/lenny/50unattended-upgrades) | 0 | ||||
-rw-r--r-- | files/Debian/50unattended-upgrades.squeeze | 13 | ||||
-rw-r--r-- | files/Debian/50unattended-upgrades.wheezy | 14 | ||||
-rw-r--r-- | files/Ubuntu/50unattended-upgrades | 16 | ||||
-rw-r--r-- | lib/facter/apt_running.rb | 7 | ||||
-rw-r--r-- | manifests/apt_conf.pp | 11 | ||||
-rw-r--r-- | manifests/init.pp | 6 | ||||
-rw-r--r-- | manifests/unattended_upgrades.pp | 10 | ||||
-rw-r--r-- | templates/Debian/sources.list.erb | 2 | ||||
l--------- | templates/Ubuntu/preferences_quantal.erb | 1 |
12 files changed, 71 insertions, 29 deletions
diff --git a/files/50unattended-upgrades b/files/50unattended-upgrades deleted file mode 100644 index ebf9f49..0000000 --- a/files/50unattended-upgrades +++ /dev/null @@ -1,20 +0,0 @@ -// this file is managed by puppet ! - -Unattended-Upgrade::Origins-Pattern { - // Debian - "o=${distro_id},n=${distro_codename}"; - "o=${distro_id},n=${distro_codename}-updates"; - "o=${distro_id},n=${distro_codename},l=Debian-security"; - "o=${distro_id} Backports,n=${distro_codename}-backports"; - // Ubuntu specific - "o=${distro_id},a=${distro_codename}-security"; - "o=${distro_id},a=${distro_codename}-backports"; - "o=${distro_id},a=${distro_codename}-proposed"; -}; - -APT::Periodic::Update-Package-Lists "1"; -APT::Periodic::Download-Upgradeable-Packages "1"; -APT::Periodic::Unattended-Upgrade "1"; - -Unattended-Upgrade::Mail "root"; -Unattended-Upgrade::MailOnlyOnError "true"; diff --git a/files/squeeze/50unattended-upgrades b/files/Debian/50unattended-upgrades index 72df8f6..72df8f6 100644 --- a/files/squeeze/50unattended-upgrades +++ b/files/Debian/50unattended-upgrades diff --git a/files/lenny/50unattended-upgrades b/files/Debian/50unattended-upgrades.lenny index d55bb29..d55bb29 100644 --- a/files/lenny/50unattended-upgrades +++ b/files/Debian/50unattended-upgrades.lenny diff --git a/files/Debian/50unattended-upgrades.squeeze b/files/Debian/50unattended-upgrades.squeeze new file mode 100644 index 0000000..38da1f4 --- /dev/null +++ b/files/Debian/50unattended-upgrades.squeeze @@ -0,0 +1,13 @@ +// this file is managed by puppet ! + +Unattended-Upgrade::Allowed-Origins { + "${distro_id} stable"; + "${distro_id} ${distro_codename}-security"; + "${distro_id} ${distro_codename}-backports"; +}; + +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Download-Upgradeable-Packages "1"; +APT::Periodic::Unattended-Upgrade "1"; + +Unattended-Upgrade::Mail "root"; diff --git a/files/Debian/50unattended-upgrades.wheezy b/files/Debian/50unattended-upgrades.wheezy new file mode 100644 index 0000000..4463406 --- /dev/null +++ b/files/Debian/50unattended-upgrades.wheezy @@ -0,0 +1,14 @@ +// this file is managed by puppet ! + +Unattended-Upgrade::Allowed-Origins { + "${distro_id}:testing"; + "${distro_id}:${distro_codename}-security"; + "${distro_id}:${distro_codename}-updates"; + "${distro_id} Backports:${distro_codename}-backports"; +}; + +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Download-Upgradeable-Packages "1"; +APT::Periodic::Unattended-Upgrade "1"; + +Unattended-Upgrade::Mail "root"; diff --git a/files/Ubuntu/50unattended-upgrades b/files/Ubuntu/50unattended-upgrades new file mode 100644 index 0000000..25c7758 --- /dev/null +++ b/files/Ubuntu/50unattended-upgrades @@ -0,0 +1,16 @@ +// this file is managed by puppet ! + +Unattended-Upgrade::Allowed-Origins { + "${distro_id}:${distro_codename}-security"; + "${distro_id}:${distro_codename}-updates"; + "${distro_id}:${distro_codename}-backports"; + //"${distro_id}:${distro_codename}-proposed"; +}; + + +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Download-Upgradeable-Packages "1"; +APT::Periodic::Unattended-Upgrade "1"; + +Unattended-Upgrade::Mail "root"; +Unattended-Upgrade::MailOnlyOnError "true"; diff --git a/lib/facter/apt_running.rb b/lib/facter/apt_running.rb new file mode 100644 index 0000000..e8f2156 --- /dev/null +++ b/lib/facter/apt_running.rb @@ -0,0 +1,7 @@ +Facter.add("apt_running") do + setcode do + #Facter::Util::Resolution.exec('/usr/bin/dpkg -s mysql-server >/dev/null 2>&1 && echo true || echo false') + Facter::Util::Resolution.exec('pgrep apt-get >/dev/null 2>&1 && echo true || echo false') + end +end + diff --git a/manifests/apt_conf.pp b/manifests/apt_conf.pp index d78fb9b..f446c69 100644 --- a/manifests/apt_conf.pp +++ b/manifests/apt_conf.pp @@ -1,7 +1,8 @@ define apt::apt_conf( $ensure = 'present', $source = '', - $content = undef ) + $content = undef, + $refresh_apt = true ) { if $source == '' and $content == undef { @@ -22,7 +23,6 @@ define apt::apt_conf( owner => root, group => 0, mode => '0644', - notify => Exec['refresh_apt'], } if $source { @@ -35,4 +35,11 @@ define apt::apt_conf( content => $content, } } + + if $refresh_apt { + File["/etc/apt/apt.conf.d/${name}"] { + notify => Exec['refresh_apt'], + } + } + } diff --git a/manifests/init.pp b/manifests/init.pp index de28c23..33eac37 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -129,7 +129,11 @@ class apt( } if $custom_preferences != false { Exec['custom_keys'] { - before => File['apt_config'], + before => [ Exec[refresh_apt], File['apt_config'] ] + } + } else { + Exec['custom_keys'] { + before => Exec[refresh_apt] } } } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index 2a6fe9e..398a1a7 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -2,15 +2,15 @@ class apt::unattended_upgrades { package { 'unattended-upgrades': ensure => present, - require => undef, + require => undef } apt_conf { '50unattended-upgrades': source => [ - "puppet:///modules/site_apt/${::lsbdistcodename}/50unattended-upgrades", - 'puppet:///modules/site_apt/50unattended-upgrades', - "puppet:///modules/apt/${::lsbdistcodename}/50unattended-upgrades", - 'puppet:///modules/apt/50unattended-upgrades' ], + "puppet:///modules/site_apt/${::lsbdistid}/50unattended-upgrades.${::lsbdistcodename}", + "puppet:///modules/site_apt/${::lsbdistid}/50unattended-upgrades", + "puppet:///modules/apt/${::lsbdistid}/50unattended-upgrades.${::lsbdistcodename}", + "puppet:///modules/apt/${::lsbdistid}/50unattended-upgrades" ], require => Package['unattended-upgrades'], } diff --git a/templates/Debian/sources.list.erb b/templates/Debian/sources.list.erb index 49cf38c..2aac837 100644 --- a/templates/Debian/sources.list.erb +++ b/templates/Debian/sources.list.erb @@ -10,7 +10,7 @@ deb-src <%= debian_url %> <%= codename %> <%= lrepos %> <% end -%> # security -<% if ((release=scope.lookupvar('apt::release')) == "unstable" || release == "experimental") -%> +<% if ((release=scope.lookupvar('apt::release')) == "unstable" || release == "experimental" || codename == "lenny" ) -%> # There is no security support for <%= release %> <% else -%> deb <%= security_url=scope.lookupvar('apt::security_url') %> <%= codename %>/updates <%= lrepos %> diff --git a/templates/Ubuntu/preferences_quantal.erb b/templates/Ubuntu/preferences_quantal.erb new file mode 120000 index 0000000..3debe4f --- /dev/null +++ b/templates/Ubuntu/preferences_quantal.erb @@ -0,0 +1 @@ +preferences_maverick.erb
\ No newline at end of file |