diff options
-rw-r--r-- | README.md | 24 | ||||
-rw-r--r-- | manifests/apticron.pp | 2 | ||||
-rw-r--r-- | manifests/cron/base.pp | 20 | ||||
-rw-r--r-- | manifests/cron/dist_upgrade.pp | 21 | ||||
-rw-r--r-- | manifests/cron/download.pp | 27 | ||||
-rw-r--r-- | manifests/listchanges.pp | 2 | ||||
-rw-r--r-- | templates/Debian/apticron.erb (renamed from templates/Debian/apticron_wheezy.erb) | 2 | ||||
l--------- | templates/Debian/apticron_jessie.erb | 1 | ||||
l--------- | templates/Debian/apticron_sid.erb | 1 | ||||
-rw-r--r-- | templates/Debian/apticron_squeeze.erb | 82 | ||||
-rw-r--r-- | templates/Debian/listchanges.erb (renamed from templates/Debian/listchanges_lenny.erb) | 0 | ||||
l--------- | templates/Debian/listchanges_jessie.erb | 1 | ||||
l--------- | templates/Debian/listchanges_sid.erb | 1 | ||||
l--------- | templates/Debian/listchanges_squeeze.erb | 1 | ||||
l--------- | templates/Debian/listchanges_wheezy.erb | 1 |
15 files changed, 31 insertions, 155 deletions
@@ -8,7 +8,6 @@ * [Classes](#classes) * [apt](#apt) * [apt::apticron](#apt-apticron) - * [apt::cron::download](#apt-cron-download) * [apt::cron::dist_upgrade](#apt-cron-dist_upgrade) * [apt::dist_upgrade](#apt-dist_upgrade) * [apt::dist_upgrade::initiator](#apt-dist_upgrade-initiator) @@ -50,6 +49,9 @@ Ubuntu support is lagging behind but not absent either. ## Upgrade Notice<a name="upgrade-notice"></a> + * The `$apt_cron_hours` global variable is deprecated. + Use `apt::cron::dist_upgrade`'s `cron_hours` parameter instead. + * The default value of the `$repos` parameter was removed since the logic is now in the `apt::params` class. If you have explicitly set `$repos` to 'auto' in your manifests, you should remove this. @@ -321,30 +323,20 @@ Example usage: } -## apt::cron::download<a name="apt-cron-download"></a> +## apt::cron::dist_upgrade<a name="apt-cron-dist_upgrade"></a> -This class sets up `cron-apt` so that it downloads upgradable packages, does not -actually do any upgrade and emails when the output changes. +This class sets up cron-apt so that it dist-upgrades the system and +emails when upgrades are performed. `cron-apt` defaults to run at 4 AM. You may want to set the -`$apt_cron_hours` variable before you include the class: its value will +`$cron_hours` class parameter before you include the class: its value will be passed as the "hours" parameter of a cronjob. Example: # Run cron-apt every three hours - $apt_cron_hours = '*/3' + class { 'apt::cron::dist_upgrade': cron_hours => '*/3' } Note that the default 4 AM cronjob won't be disabled. - -## apt::cron::dist_upgrade<a name="apt-cron-dist_upgrade"></a> - -This class sets up cron-apt so that it dist-upgrades the system and -emails when upgrades are performed. - -See [apt::cron::download](#apt-cron-download) above if you need to run `cron-apt` more often -than once a day. - - ## apt::dist_upgrade<a name="apt-dist_upgrade"></a> This class provides the `Exec['apt_dist-upgrade']` resource that diff --git a/manifests/apticron.pp b/manifests/apticron.pp index 9c94f9c..89709a8 100644 --- a/manifests/apticron.pp +++ b/manifests/apticron.pp @@ -1,6 +1,6 @@ class apt::apticron( $ensure_version = 'installed', - $config = "apt/${::operatingsystem}/apticron_${::debian_codename}.erb", + $config = "apt/${::operatingsystem}/apticron.erb", $email = 'root', $diff_only = '1', $listchanges_profile = 'apticron', diff --git a/manifests/cron/base.pp b/manifests/cron/base.pp deleted file mode 100644 index 39fc306..0000000 --- a/manifests/cron/base.pp +++ /dev/null @@ -1,20 +0,0 @@ -class apt::cron::base { - - package { 'cron-apt': ensure => installed } - - case $apt_cron_hours { - '': {} - default: { - # cron-apt defaults to run every night at 4 o'clock - # so we try not to run at the same time. - cron { 'apt_cron_every_N_hours': - command => 'test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt', - user => root, - hour => "${apt_cron_hours}", - minute => 10, - require => Package['cron-apt'], - } - } - } - -} diff --git a/manifests/cron/dist_upgrade.pp b/manifests/cron/dist_upgrade.pp index 74403bb..e1a03ed 100644 --- a/manifests/cron/dist_upgrade.pp +++ b/manifests/cron/dist_upgrade.pp @@ -1,4 +1,23 @@ -class apt::cron::dist_upgrade inherits apt::cron::base { +class apt::cron::dist_upgrade ( + $cron_hours = '', +) { + + package { 'cron-apt': ensure => installed } + + case $cron_hours { + '': {} + default: { + # cron-apt defaults to run every night at 4 o'clock + # so we try not to run at the same time. + cron { 'apt_cron_every_N_hours': + command => 'test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt', + user => root, + hour => "${cron_hours}", + minute => 10, + require => Package['cron-apt'], + } + } + } $action = "autoclean -y dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-confold' diff --git a/manifests/cron/download.pp b/manifests/cron/download.pp deleted file mode 100644 index 4a19fec..0000000 --- a/manifests/cron/download.pp +++ /dev/null @@ -1,27 +0,0 @@ -class apt::cron::download inherits apt::cron::base { - - $action = "autoclean -y -dist-upgrade -d -y -o APT::Get::Show-Upgraded=true -" - - file { '/etc/cron-apt/action.d/4-dist-upgrade': - ensure => absent, - } - - file { '/etc/cron-apt/action.d/3-download': - content => $action, - require => Package[cron-apt], - owner => root, - group => 0, - mode => '0644'; - } - - file { '/etc/cron-apt/config.d/MAILON': - content => "MAILON=changes\n", - require => Package[cron-apt], - owner => root, - group => 0, - mode => '0644'; - } - -} diff --git a/manifests/listchanges.pp b/manifests/listchanges.pp index e64bb1b..ecbbe6d 100644 --- a/manifests/listchanges.pp +++ b/manifests/listchanges.pp @@ -1,6 +1,6 @@ class apt::listchanges( $ensure_version = 'installed', - $config = "apt/${::operatingsystem}/listchanges_${::debian_codename}.erb", + $config = "apt/${::operatingsystem}/listchanges.erb", $frontend = 'mail', $email = 'root', $confirm = '0', diff --git a/templates/Debian/apticron_wheezy.erb b/templates/Debian/apticron.erb index 655854e..c6d3853 100644 --- a/templates/Debian/apticron_wheezy.erb +++ b/templates/Debian/apticron.erb @@ -46,7 +46,7 @@ IPADDRESSNUM="<%= v %>" # # IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1" <% unless (v=scope.lookupvar('apt::apticron::ipaddresses')).to_s == "false" -%> -IPADDRESSES=<%= v %>" +IPADDRESSES="<%= v %>" <% end -%> # diff --git a/templates/Debian/apticron_jessie.erb b/templates/Debian/apticron_jessie.erb deleted file mode 120000 index a9a3a6f..0000000 --- a/templates/Debian/apticron_jessie.erb +++ /dev/null @@ -1 +0,0 @@ -apticron_wheezy.erb
\ No newline at end of file diff --git a/templates/Debian/apticron_sid.erb b/templates/Debian/apticron_sid.erb deleted file mode 120000 index a9a3a6f..0000000 --- a/templates/Debian/apticron_sid.erb +++ /dev/null @@ -1 +0,0 @@ -apticron_wheezy.erb
\ No newline at end of file diff --git a/templates/Debian/apticron_squeeze.erb b/templates/Debian/apticron_squeeze.erb deleted file mode 100644 index 05b7c9b..0000000 --- a/templates/Debian/apticron_squeeze.erb +++ /dev/null @@ -1,82 +0,0 @@ -# apticron.conf -# -# set EMAIL to a space separated list of addresses which will be notified of -# impending updates -# -EMAIL="<%= scope.lookupvar('apt::apticron::email') %>" - - -# -# Set DIFF_ONLY to "1" to only output the difference of the current run -# compared to the last run (ie. only new upgrades since the last run). If there -# are no differences, no output/email will be generated. By default, apticron -# will output everything that needs to be upgraded. -# -DIFF_ONLY="<%= scope.lookupvar('apt::apticron::diff_only') %>" - -# -# Set LISTCHANGES_PROFILE if you would like apticron to invoke apt-listchanges -# with the --profile option. You should add a corresponding profile to -# /etc/apt/listchanges.conf -# -LISTCHANGES_PROFILE="<%= scope.lookupvar('apt::apticron::listchanges_profile') %>" - -# -# Set SYSTEM if you would like apticron to use something other than the output -# of "hostname -f" for the system name in the mails it generates -# -# SYSTEM="foobar.example.com" -<% unless (v=scope.lookupvar('apt::apticron::system')).to_s == "false" -%> -SYSTEM="<%= v %>" -<% end -%> - - -# -# Set IPADDRESSNUM if you would like to configure the maximal number of IP -# addresses apticron displays. The default is to display 1 address of each -# family type (inet, inet6), if available. -# -# IPADDRESSNUM="1" -<% unless (v=scope.lookupvar('apt::apticron::ipaddressnum')).to_s == "false" -%> -IPADDRESSNUM="<%= v %>" -<% end -%> - - -# -# Set IPADDRESSES to a whitespace separated list of reachable addresses for -# this system. By default, apticron will try to work these out using the -# "ip" command -# -# IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1" -<% unless (v=scope.lookupvar('apt::apticron::ipaddresses')).to_s == "false" -%> -IPADDRESSES="<%= v %>" -<% end -%> - - -# -# Set NOTIFY_HOLDS="0" if you don't want to be notified about new versions of -# packages on hold in your system. The default behavior is downloading and -# listing them as any other package. -# -# NOTIFY_HOLDS="0" -NOTIFY_HOLDS="<%= scope.lookupvar('apt::apticron::notifyholds') %>" - -# -# Set NOTIFY_NEW="0" if you don't want to be notified about packages which -# are not installed in your system. Yes, it's possible! There are some issues -# related to systems which have mixed stable/unstable sources. In these cases -# apt-get will consider for example that packages with "Priority: -# required"/"Essential: yes" in unstable but not in stable should be installed, -# so they will be listed in dist-upgrade output. Please take a look at -# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531002#44 -# -# NOTIFY_NEW="0" -NOTIFY_NEW="<%= scope.lookupvar('apt::apticron::notifynew') %>" - -# -# Set CUSTOM_SUBJECT if you want to replace the default subject used in -# the notification e-mails. This may help filtering/sorting client-side e-mail. -# -# CUSTOM_SUBJECT="" -CUSTOM_SUBJECT="<%= scope.lookupvar('apt::apticron::customsubject') %>" - diff --git a/templates/Debian/listchanges_lenny.erb b/templates/Debian/listchanges.erb index 1025dd0..1025dd0 100644 --- a/templates/Debian/listchanges_lenny.erb +++ b/templates/Debian/listchanges.erb diff --git a/templates/Debian/listchanges_jessie.erb b/templates/Debian/listchanges_jessie.erb deleted file mode 120000 index 74ab496..0000000 --- a/templates/Debian/listchanges_jessie.erb +++ /dev/null @@ -1 +0,0 @@ -listchanges_lenny.erb
\ No newline at end of file diff --git a/templates/Debian/listchanges_sid.erb b/templates/Debian/listchanges_sid.erb deleted file mode 120000 index 74ab496..0000000 --- a/templates/Debian/listchanges_sid.erb +++ /dev/null @@ -1 +0,0 @@ -listchanges_lenny.erb
\ No newline at end of file diff --git a/templates/Debian/listchanges_squeeze.erb b/templates/Debian/listchanges_squeeze.erb deleted file mode 120000 index 74ab496..0000000 --- a/templates/Debian/listchanges_squeeze.erb +++ /dev/null @@ -1 +0,0 @@ -listchanges_lenny.erb
\ No newline at end of file diff --git a/templates/Debian/listchanges_wheezy.erb b/templates/Debian/listchanges_wheezy.erb deleted file mode 120000 index 74ab496..0000000 --- a/templates/Debian/listchanges_wheezy.erb +++ /dev/null @@ -1 +0,0 @@ -listchanges_lenny.erb
\ No newline at end of file |