From e99f7c8672342c4e00522e6be851a14ae1d56d4d Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 5 Aug 2011 10:57:13 +0200 Subject: migrate concatenated_file to the concat module --- manifests/preferences.pp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'manifests/preferences.pp') diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 71ef0a6..f188149 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,9 +1,6 @@ class apt::preferences { - include common::moduledir - $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" - module_dir{'apt/preferences': } - file { "${apt_preferences_dir}_header": + concat::fragment{"apt_preferences_header": content => $custom_preferences ? { '' => $operatingsystem ? { 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"), @@ -11,16 +8,15 @@ class apt::preferences { }, default => $custom_preferences }, + order => 00, + target => '/etc/apt/preferences', } - concatenated_file { '/etc/apt/preferences': - dir => $apt_preferences_dir, - header => "${apt_preferences_dir}_header", - # use Concatenated_file[apt_config] to reference a completed configuration - # See "The Puppet Semaphor" 2007-06-25 on the puppet-users ML + concat{'/etc/apt/preferences': alias => apt_config, # only update together - require => File["/etc/apt/sources.list"]; + require => File["/etc/apt/sources.list"], + owner => root, group => 0, mode => 0644; } } -- cgit v1.2.3 From 39917fb4dbe21b1673ceabaa1d61180cca9f493b Mon Sep 17 00:00:00 2001 From: mh Date: Tue, 5 Jun 2012 21:31:15 -0300 Subject: new style for 2.7 --- README | 12 ++--- manifests/apticron.pp | 64 +++++++------------------ manifests/dist_upgrade/initiator.pp | 2 +- manifests/init.pp | 86 +++++++++++----------------------- manifests/listchanges.pp | 43 +++++------------ manifests/preferences.pp | 8 ++-- manifests/preseeded_package.pp | 11 ++--- manifests/unattended_upgrades.pp | 7 +-- templates/Debian/apticron_lenny.erb | 21 +++++---- templates/Debian/apticron_squeeze.erb | 28 ++++++----- templates/Debian/apticron_wheezy.erb | 24 +++++----- templates/Debian/listchanges_lenny.erb | 10 ++-- 12 files changed, 118 insertions(+), 198 deletions(-) (limited to 'manifests/preferences.pp') diff --git a/README b/README index 3d2b70f..398298e 100644 --- a/README +++ b/README @@ -45,7 +45,7 @@ site_apt/files/some.host.com/03clean_vserver) Variables ========= -$lsbdistcodename +$::lsbdistcodename ---------------- Contains the codename ("etch", "lenny", ...) of the client's @@ -173,7 +173,7 @@ defaults, which you are free to change before you include the class: $apticron_ensure_version = "present" $apticron_email = "root" - $apticron_config = "apt/${operatingsystem}/apticron_${lsbrelease}.erb" + $apticron_config = "apt/${::operatingsystem}/apticron_${::lsbrelease}.erb" $apticron_diff_only = "1" $apticron_listchanges_profile = "apticron" $apticron_system = false @@ -230,7 +230,7 @@ file's content changes. The initiator file is copied from the first available source amongst the following ones, in decreasing priority order: -- puppet:///site_apt/${fqdn}/upgrade_initiator +- puppet:///site_apt/${::fqdn}/upgrade_initiator - puppet:///site_apt/upgrade_initiator - puppet:///apt/upgrade_initiator @@ -258,7 +258,7 @@ This class, when included, installs apt-listchanges and configures it using the following variables, the defaults are below: $apt_listchanges_version = "present" - $apt_listchanges_config = "apt/${operatingsystem}/listchanges_${lsbrelease}.erb" + $apt_listchanges_config = "apt/${::operatingsystem}/listchanges_${::lsbrelease}.erb" $apt_listchanges_frontend = "pager" $apt_listchanges_email = "root" $apt_listchanges_confirm = "0" @@ -320,7 +320,7 @@ apt::preseeded_package This simplifies installation of packages for which you wish to preseed the answers to debconf. For example, if you wish to provide a preseed file for the locales package, you would place the locales.seed file in -'site_apt/templates/$lsbdistcodename/locales.seeds' and then include the +'site_apt/templates/${::lsbdistcodename}/locales.seeds' and then include the following in your manifest: apt::preseeded_package { locales: } @@ -343,7 +343,7 @@ meta-parameter to define content inline or with the help of a template. Example: apt::sources_list { "company_internals.list": - source => ["puppet:///modules/site_apt/${fqdn}/company_internals.list", + source => ["puppet:///modules/site_apt/${::fqdn}/company_internals.list", "puppet:///modules/site_apt/company_internals.list"], } diff --git a/manifests/apticron.pp b/manifests/apticron.pp index 2fe8e44..c578311 100644 --- a/manifests/apticron.pp +++ b/manifests/apticron.pp @@ -1,53 +1,21 @@ -class apt::apticron { - - case $apticron_ensure_version { - '': { $apticron_ensure_version = "present" } - } - - case $apticron_config { - '': { $apticron_config = "apt/${operatingsystem}/apticron_${lsbdistcodename}.erb" } - } - - case $apticron_email { - '': { $apticron_email = "root" } - } - - case $apticron_diff_only { - '': { $apticron_diff_only = "1" } - } - - case $apticron_listchanges_profile { - '': { $apticron_listchanges_profile = "apticron" } - } - - case $apticron_system { - '': { $apticron_system = false } - } - - case $apticron_ipaddressnum { - '': { $apticron_ipaddressnum = false } - } - - case $apticron_ipaddresses { - '': { $apticron_ipaddresses = false } - } - - case $apticron_notifyholds { - '': { $apticron_notifyholds = "0" } - } - - case $apticron_notifynew { - '': { $apticron_notifynew = "0" } - } - - case $apticron_customsubject { - '': { $apticron_customsubject = "" } - } - - package { apticron: ensure => $apticron_ensure_version } +class apt::apticron( + $ensure_version = hiera('apticron_ensure_version','installed'), + $config = hiera('apticron_config',"apt/${::operatingsystem}/apticron_${::lsbdistcodename}.erb"), + $email = hiera('apticron_email', 'root'), + $diff_only = hiera('apticron_diff_only', '1'), + $listchanges_profile = hiera('apticron_listchanges_profile','apticron'), + $system = hiera('apticron_system',false), + $ipaddressnum = hiera('apticron_ipaddressnum',false), + $ipaddresses = hiera('apticron_ipaddresses', false), + $notifyholds = hiera('apticron_notifyholds', '0'), + $notifynew = hiera('apticron_notifynew', '0'), + $customsubject = hiera('apticron_customsubject','') +) { + + package { apticron: ensure => $ensure_version } file { "/etc/apticron/apticron.conf": - content => template($apticron_config), + content => template($apt::apticron::config), mode => 0644, owner => root, group => root, require => Package["apticron"]; } diff --git a/manifests/dist_upgrade/initiator.pp b/manifests/dist_upgrade/initiator.pp index 571cd51..f1d522b 100644 --- a/manifests/dist_upgrade/initiator.pp +++ b/manifests/dist_upgrade/initiator.pp @@ -10,7 +10,7 @@ class apt::dist_upgrade::initiator inherits apt::dist_upgrade { path => "${initiator_abs}", checksum => md5, source => [ - "puppet:///modules/site_apt/${fqdn}/${initiator}", + "puppet:///modules/site_apt/${::fqdn}/${initiator}", "puppet:///modules/site_apt/${initiator}", "puppet:///modules/apt/${initiator}", ], diff --git a/manifests/init.pp b/manifests/init.pp index 2ae691f..4a4b178 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -3,54 +3,29 @@ # Copyright (C) 2007 David Schmitt # See LICENSE for the full license granted to you. -class apt { - - $use_volatile = $apt_volatile_enabled ? { - '' => false, - default => $apt_volatile_enabled, - } - - $include_src = $apt_include_src ? { - '' => false, - default => $apt_include_src, - } - - $use_next_release = $apt_use_next_release ? { - '' => false, - default => $apt_use_next_release, - } - - $debian_url = $apt_debian_url ? { - '' => 'http://cdn.debian.net/debian/', - default => "${apt_debian_url}", - } - $security_url = $apt_security_url ? { - '' => 'http://security.debian.org/', - default => "${apt_security_url}", - } - $backports_url = $apt_backports_url ? { - '' => 'http://backports.debian.org/debian-backports/', - default => "${apt_backports_url}", - } - $volatile_url = $apt_volatile_url ? { - '' => 'http://volatile.debian.org/debian-volatile/', - default => "${apt_volatile_url}", - } - $ubuntu_url = $apt_ubuntu_url ? { - '' => 'http://archive.ubuntu.com/ubuntu', - default => "${apt_ubuntu_url}", - } - case $operatingsystem { +class apt( + $use_volatile = hiera('apt_volatile_enabled',false), + $include_src = hiera('apt_include_src',false), + $use_next_release = hiera('apt_use_next_release'), + $debian_url = hiera('apt_debian_url','http://cdn.debian.net/debian/'), + $security_url = hiera('apt_security_url','http://security.debian.org/'), + $backports_url = hiera('apt_backports_url','http://backports.debian.org/debian-backports/'), + $volatile_url = hiera('apt_volatile_url', 'http://volatile.debian.org/debian-volatile/'), + $ubuntu_url = hiera('apt_ubuntu_url', 'http://archive.ubuntu.com/ubuntu'), + $repos = hiera('apt_repos','auto'), + $custom_preferences = hiera('apt_custom_preferences','') +) { + case $::operatingsystem { 'debian': { - $repos = $apt_repos ? { - '' => 'main contrib non-free', - default => "${apt_repos}", + $real_repos = $repos ? { + 'auto' => 'main contrib non-free', + default => $repos, } } 'ubuntu': { - $repos = $apt_repos ? { + $real_repos = $repos ? { '' => 'main restricted universe multiverse', - default => "${apt_repos}", + default => $repos, } } } @@ -63,13 +38,13 @@ class apt { include lsb # init $release, $next_release, $codename, $next_codename, $release_version - case $lsbdistcodename { + case $::lsbdistcodename { '': { - $codename = $lsbdistcodename - $release = $lsbdistrelease + $codename = $::lsbdistcodename + $release = $::lsbdistrelease } default: { - $codename = $lsbdistcodename + $codename = $::lsbdistcodename $release = debian_release($codename) } } @@ -82,7 +57,7 @@ class apt { # additional sources should be included via the apt::sources_list define "/etc/apt/sources.list": content => $custom_sources_list ? { - '' => template( "apt/$operatingsystem/sources.list.erb"), + '' => template( "apt/${::operatingsystem}/sources.list.erb"), default => $custom_sources_list }, require => Package['lsb'], @@ -90,14 +65,14 @@ class apt { } apt_conf { "02show_upgraded": - source => [ "puppet:///modules/site_apt/${fqdn}/02show_upgraded", + source => [ "puppet:///modules/site_apt/${::fqdn}/02show_upgraded", "puppet:///modules/site_apt/02show_upgraded", "puppet:///modules/apt/02show_upgraded" ] } - if ( $virtual == "vserver" ) { + if ( $::virtual == "vserver" ) { apt_conf { "03clean_vserver": - source => [ "puppet:///modules/site_apt/${fqdn}/03clean_vserver", + source => [ "puppet:///modules/site_apt/${::fqdn}/03clean_vserver", "puppet:///modules/site_apt/03clean_vserver", "puppet:///modules/apt/03clean_vserver" ], alias => "03clean"; @@ -105,7 +80,7 @@ class apt { } else { apt_conf { "03clean": - source => [ "puppet:///modules/site_apt/${fqdn}/03clean", + source => [ "puppet:///modules/site_apt/${::fqdn}/03clean", "puppet:///modules/site_apt/03clean", "puppet:///modules/apt/03clean" ] } @@ -122,13 +97,6 @@ class apt { } } - # backward compatibility: upgrade from previous versions of this module. - file { - [ "/etc/apt/apt.conf.d/from_puppet", "/etc/apt/apt.conf.d/99from_puppet" ]: - ensure => 'absent', - require => [ Apt_conf['02show_upgraded'], Apt_conf['03clean'] ]; - } - include apt::dot_d_directories ## This package should really always be current diff --git a/manifests/listchanges.pp b/manifests/listchanges.pp index 038d5c9..236b629 100644 --- a/manifests/listchanges.pp +++ b/manifests/listchanges.pp @@ -1,37 +1,16 @@ -class apt::listchanges { - - case $apt_listchanges_version { - '': { $apt_listchanges_version = "present" } - } - - case $apt_listchanges_config { - '': { $apt_listchanges_config = "apt/${operatingsystem}/listchanges_${lsbdistcodename}.erb" } - } - - case $apt_listchanges_frontend { - '': { $apt_listchanges_frontend = "mail" } - } - - case $apt_listchanges_email { - '': { $apt_listchanges_email = "root" } - } - - case $apt_listchanges_confirm { - '': { $apt_listchanges_confirm = "0" } - } - - case $apt_listchanges_saveseen { - '': { $apt_listchanges_saveseen = "/var/lib/apt/listchanges.db" } - } - - case $apt_listchanges_which { - '': { $apt_listchanges_which = "both" } - } - - package { apt-listchanges: ensure => $apt_listchanges_ensure_version } +class apt::listchanges( + $ensure_version = hiera('apt_listchanges_version','installed'), + $config = hiera('apt_listchanges_config', "apt/${::operatingsystem}/listchanges_${::lsbdistcodename}.erb"), + $frontend = hiera('apt_listchanges_frontend','mail'), + $email = hiera('apt_listchanges_email','root'), + $confirm = hiera('apt_listchanges_confirm','0'), + $saveseen = hiera('pt_listchanges_saveseen','/var/lib/apt/listchanges.db'), + $which = hiera('apt_listchanges_which','both') +){ + package { apt-listchanges: ensure => $ensure_version } file { "/etc/apt/listchanges.conf": - content => template($apt_listchanges_config), + content => template($apt::listchanges::config), mode => 0644, owner => root, group => root, require => Package["apt-listchanges"]; } diff --git a/manifests/preferences.pp b/manifests/preferences.pp index f188149..dc04713 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,10 +1,10 @@ class apt::preferences { concat::fragment{"apt_preferences_header": - content => $custom_preferences ? { - '' => $operatingsystem ? { - 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"), - 'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"), + content => $apt::custom_preferences ? { + '' => $::operatingsystem ? { + 'debian' => template("apt/${::operatingsystem}/preferences_${::codename}.erb"), + 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::codename}.erb"), }, default => $custom_preferences }, diff --git a/manifests/preseeded_package.pp b/manifests/preseeded_package.pp index d831934..ac9a821 100644 --- a/manifests/preseeded_package.pp +++ b/manifests/preseeded_package.pp @@ -1,12 +1,11 @@ define apt::preseeded_package ($content = "", $ensure = "installed") { - $seedfile = "/var/cache/local/preseeding/$name.seeds" - $real_content = $content ? { - "" => template ( "site_apt/$lsbdistcodename/$name.seeds" ), - default => $content - } + $seedfile = "/var/cache/local/preseeding/${name}.seeds" file { $seedfile: - content => $real_content, + content => $content ? { + "" => template ( "site_apt/${::lsbdistcodename}/${name}.seeds" ), + default => $content + }, mode => 0600, owner => root, group => root, } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index 2a19983..b5bf829 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -6,9 +6,10 @@ class apt::unattended_upgrades { } apt_conf { "50unattended-upgrades": - source => ["puppet:///modules/site_apt/$lsbdistcodename/50unattended-upgrades", - "puppet:///modules/site_apt/50unattended-upgrades", - "puppet:///modules/apt/$lsbdistcodename/50unattended-upgrades" ], + source => [ + "puppet:///modules/site_apt/${::lsbdistcodename}/50unattended-upgrades", + "puppet:///modules/site_apt/50unattended-upgrades", + "puppet:///modules/apt/${::lsbdistcodename}/50unattended-upgrades" ], require => Package['unattended-upgrades'], } diff --git a/templates/Debian/apticron_lenny.erb b/templates/Debian/apticron_lenny.erb index 9ec1c6d..aad9985 100644 --- a/templates/Debian/apticron_lenny.erb +++ b/templates/Debian/apticron_lenny.erb @@ -2,7 +2,7 @@ # # set EMAIL to a list of addresses which will be notified of impending updates # -EMAIL="<%= apticron_email %>" +EMAIL="<%= scope.lookupvar('apt::apticron::email') %>" # # Set DIFF_ONLY to "1" to only output the difference of the current run @@ -10,22 +10,22 @@ EMAIL="<%= apticron_email %>" # are no differences, no output/email will be generated. By default, apticron # will output everything that needs to be upgraded. # -DIFF_ONLY="<%= apticron_diff_only %>" +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="<%= apticron_listchanges_profile %>" +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" -<%- if has_variable?('apticron_system') and instance_variable_get("@#{'apticron_system'}").to_s != "false" -%> -<%= 'SYSTEM="' + instance_variable_get("@#{'apticron_system'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::system').to_s == "false" -%> +<%= "SYSTEM=\"#{scope.lookupvar('apt::apticron::system')}\"" %> <%- end -%> # @@ -34,8 +34,8 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>" # family type (inet, inet6), if available. # # IPADDRESSNUM="1" -<%- if has_variable?('apticron_ipaddressnum') and instance_variable_get("@#{'apticron_ipaddressnum'}").to_s != "false" -%> -<%= 'IPADDRESSNUM="' + instance_variable_get("@#{'apticron_ipaddressnum'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::ipaddressnum').to_s == "false" -%> +<%= "IPADDRESSNUM=\"#{scope.lookupvar('apt::apticron::ipaddressnum')}\"" %> <%- end -%> # @@ -44,6 +44,7 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>" # "ip" command # # IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1" -<%- if has_variable?('apticron_ipaddresses') and instance_variable_get("@#{'apticron_ipaddresses'}").to_s != "false" -%> -<%= 'IPADDRESSES="' + instance_variable_get("@#{'apticron_ipaddresses'}").to_s + '"' %> -<%- end -%> \ No newline at end of file +<%- unless scope.lookupvar('apt::apticron::ipaddresses').to_s == "false" -%> +<%= "IPADDRESSES=\"#{scope.lookupvar('apt::apticron::ipaddresses')}\"" %> +<%- end -%> + diff --git a/templates/Debian/apticron_squeeze.erb b/templates/Debian/apticron_squeeze.erb index b0aa975..580179e 100644 --- a/templates/Debian/apticron_squeeze.erb +++ b/templates/Debian/apticron_squeeze.erb @@ -3,7 +3,8 @@ # set EMAIL to a space separated list of addresses which will be notified of # impending updates # -EMAIL="<%= apticron_email %>" +EMAIL="<%= scope.lookupvar('apt::apticron::email') %>" + # # Set DIFF_ONLY to "1" to only output the difference of the current run @@ -11,51 +12,54 @@ EMAIL="<%= apticron_email %>" # are no differences, no output/email will be generated. By default, apticron # will output everything that needs to be upgraded. # -DIFF_ONLY="<%= apticron_diff_only %>" +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="<%= apticron_listchanges_profile %>" +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" -<%- if has_variable?('apticron_system') and instance_variable_get("@#{'apticron_system'}").to_s != "false" -%> -<%= 'SYSTEM="' + instance_variable_get("@#{'apticron_system'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::system').to_s == "false" -%> +<%= "SYSTEM=\"#{scope.lookupvar('apt::apticron::system')}\"" %> <%- 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" -<%- if has_variable?('apticron_ipaddressnum') and instance_variable_get("@#{'apticron_ipaddressnum'}").to_s != "false" -%> -<%= 'IPADDRESSNUM="' + instance_variable_get("@#{'apticron_ipaddressnum'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::ipaddressnum').to_s == "false" -%> +<%= "IPADDRESSNUM=\"#{scope.lookupvar('apt::apticron::ipaddressnum')}\"" %> <%- 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" -<%- if has_variable?('apticron_ipaddresses') and instance_variable_get("@#{'apticron_ipaddresses'}").to_s != "false" -%> -<%= 'IPADDRESSES="' + instance_variable_get("@#{'apticron_ipaddresses'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::ipaddresses').to_s == "false" -%> +<%= "IPADDRESSES=\"#{scope.lookupvar('apt::apticron::ipaddresses')}\"" %> <%- 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="<%= apticron_notifyholds %>" +NOTIFY_HOLDS="<%= scope.lookupvar('apt::apticron::notifyholds') %>" # # Set NOTIFY_NEW="0" if you don't want to be notified about packages which @@ -67,12 +71,12 @@ NOTIFY_HOLDS="<%= apticron_notifyholds %>" # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531002#44 # # NOTIFY_NEW="0" -NOTIFY_NEW="<%= apticron_notifynew %>" +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="<%= apticron_customsubject %>" +CUSTOM_SUBJECT="<%= scope.lookupvar('apt::apticron::customsubject') %>" diff --git a/templates/Debian/apticron_wheezy.erb b/templates/Debian/apticron_wheezy.erb index ff66d39..d8c8804 100644 --- a/templates/Debian/apticron_wheezy.erb +++ b/templates/Debian/apticron_wheezy.erb @@ -3,7 +3,7 @@ # set EMAIL to a space separated list of addresses which will be notified of # impending updates # -EMAIL="<%= apticron_email %>" +EMAIL="<%= scope.lookupvar('apt::apticron::email') %>" # # Set DIFF_ONLY to "1" to only output the difference of the current run @@ -11,22 +11,22 @@ EMAIL="<%= apticron_email %>" # are no differences, no output/email will be generated. By default, apticron # will output everything that needs to be upgraded. # -DIFF_ONLY="<%= apticron_diff_only %>" +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="<%= apticron_listchanges_profile %>" +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" -<%- if has_variable?('apticron_system') and instance_variable_get("@#{'apticron_system'}").to_s != "false" -%> -<%= 'SYSTEM="' + instance_variable_get("@#{'apticron_system'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::system').to_s == "false" -%> +<%= "SYSTEM=\"#{scope.lookupvar('apt::apticron::system')}\"" %> <%- end -%> # @@ -35,8 +35,8 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>" # family type (inet, inet6), if available. # # IPADDRESSNUM="1" -<%- if has_variable?('apticron_ipaddressnum') and instance_variable_get("@#{'apticron_ipaddressnum'}").to_s != "false" -%> -<%= 'IPADDRESSNUM="' + instance_variable_get("@#{'apticron_ipaddressnum'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::ipaddressnum').to_s == "false" -%> +<%= "IPADDRESSNUM=\"#{scope.lookupvar('apt::apticron::ipaddressnum')}\"" %> <%- end -%> # @@ -45,8 +45,8 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>" # "ip" command # # IPADDRESSES="192.0.2.1 2001:db8:1:2:3::1" -<%- if has_variable?('apticron_ipaddresses') and instance_variable_get("@#{'apticron_ipaddresses'}").to_s != "false" -%> -<%= 'IPADDRESSES="' + instance_variable_get("@#{'apticron_ipaddresses'}").to_s + '"' %> +<%- unless scope.lookupvar('apt::apticron::ipaddresses').to_s == "false" -%> +<%= "IPADDRESSES=\"#{scope.lookupvar('apt::apticron::ipaddresses')}\"" %> <%- end -%> # @@ -55,7 +55,7 @@ LISTCHANGES_PROFILE="<%= apticron_listchanges_profile %>" # listing them as any other package. # # NOTIFY_HOLDS="0" -NOTIFY_HOLDS="<%= apticron_notifyholds %>" +NOTIFY_HOLDS="<%= scope.lookupvar('apt::apticron::notifyholds') %>" # # Set NOTIFY_NEW="0" if you don't want to be notified about packages which @@ -67,7 +67,7 @@ NOTIFY_HOLDS="<%= apticron_notifyholds %>" # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=531002#44 # # NOTIFY_NEW="0" -NOTIFY_NEW="<%= apticron_notifynew %>" +NOTIFY_NEW="<%= scope.lookupvar('apt::apticron::notifynew') %>" # @@ -77,4 +77,4 @@ NOTIFY_NEW="<%= apticron_notifynew %>" # ='[apticron] : package update(s)' # # CUSTOM_SUBJECT="" -CUSTOM_SUBJECT="<%= apticron_customsubject %>" +CUSTOM_SUBJECT="<%= scope.lookupvar('apt::apticron::customsubject') %>" diff --git a/templates/Debian/listchanges_lenny.erb b/templates/Debian/listchanges_lenny.erb index 3624b39..1025dd0 100644 --- a/templates/Debian/listchanges_lenny.erb +++ b/templates/Debian/listchanges_lenny.erb @@ -1,7 +1,7 @@ [apt] -frontend=<%= apt_listchanges_frontend %> -email_address=<%= apt_listchanges_email %> -confirm=<%= apt_listchanges_confirm %> -save_seen=<%= apt_listchanges_saveseen %> -which=<%= apt_listchanges_which %> +frontend=<%= scope.lookupvar('apt::listchanges::frontend') %> +email_address=<%= scope.lookupvar('apt::listchanges::email') %> +confirm=<%= scope.lookupvar('apt::listchanges::confirm') %> +save_seen=<%= scope.lookupvar('apt::listchanges::saveseen') %> +which=<%= scope.lookupvar('apt::listchanges::which') %> -- cgit v1.2.3 From ac166366d7baa45b74e09974289d9fb2dad38e67 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 8 Jun 2012 12:16:46 -0300 Subject: refactor things for >2.7 --- manifests/init.pp | 10 ++++------ manifests/preferences.pp | 4 ++-- templates/Debian/preferences_lenny.erb | 8 ++++---- templates/Debian/preferences_squeeze.erb | 12 ++++++------ templates/Debian/preferences_wheezy.erb | 8 ++++---- templates/Debian/sources.list.erb | 28 ++++++++++++++-------------- templates/Ubuntu/preferences_maverick.erb | 18 +++++++++--------- templates/Ubuntu/sources.list.erb | 12 ++++++------ 8 files changed, 49 insertions(+), 51 deletions(-) (limited to 'manifests/preferences.pp') diff --git a/manifests/init.pp b/manifests/init.pp index 4a4b178..a015fc9 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -6,7 +6,7 @@ class apt( $use_volatile = hiera('apt_volatile_enabled',false), $include_src = hiera('apt_include_src',false), - $use_next_release = hiera('apt_use_next_release'), + $use_next_release = hiera('apt_use_next_release',false), $debian_url = hiera('apt_debian_url','http://cdn.debian.net/debian/'), $security_url = hiera('apt_security_url','http://security.debian.org/'), $backports_url = hiera('apt_backports_url','http://backports.debian.org/debian-backports/'), @@ -40,16 +40,14 @@ class apt( # init $release, $next_release, $codename, $next_codename, $release_version case $::lsbdistcodename { '': { - $codename = $::lsbdistcodename $release = $::lsbdistrelease } default: { - $codename = $::lsbdistcodename - $release = debian_release($codename) + $release = debian_release($::lsbdistcodename) } } - $release_version = debian_release_version($codename) - $next_codename = debian_nextcodename($codename) + $release_version = debian_release_version($::lsbdistcodename) + $next_codename = debian_nextcodename($::lsbdistcodename) $next_release = debian_nextrelease($release) config_file { diff --git a/manifests/preferences.pp b/manifests/preferences.pp index dc04713..8f532f8 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -3,8 +3,8 @@ class apt::preferences { concat::fragment{"apt_preferences_header": content => $apt::custom_preferences ? { '' => $::operatingsystem ? { - 'debian' => template("apt/${::operatingsystem}/preferences_${::codename}.erb"), - 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::codename}.erb"), + 'debian' => template("apt/${::operatingsystem}/preferences_${::lsbdistcodename}.erb"), + 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::lsbdistcodename}.erb"), }, default => $custom_preferences }, diff --git a/templates/Debian/preferences_lenny.erb b/templates/Debian/preferences_lenny.erb index fb80129..4648ce1 100644 --- a/templates/Debian/preferences_lenny.erb +++ b/templates/Debian/preferences_lenny.erb @@ -1,6 +1,6 @@ -Explanation: Debian <%= codename %> +Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %> Package: * -Pin: release o=Debian,a=<%= release %>,v=<%= release_version %>* +Pin: release o=Debian,a=<%= scope.lookupvar('apt::release') %>,v=<%= scope.lookupvar('apt::release_version') %>* Pin-Priority: 990 Explanation: Debian backports @@ -8,9 +8,9 @@ Package: * Pin: origin backports.debian.org Pin-Priority: 200 -Explanation: Debian <%= next_release %> +Explanation: Debian <%= scope.lookupvar('apt::next_release') %> Package: * -Pin: release o=Debian,a=<%= next_release %> +Pin: release o=Debian,a=<%= scope.lookupvar('apt::next_release') %> Pin-Priority: 2 Explanation: Debian sid diff --git a/templates/Debian/preferences_squeeze.erb b/templates/Debian/preferences_squeeze.erb index fa0849a..e74515e 100644 --- a/templates/Debian/preferences_squeeze.erb +++ b/templates/Debian/preferences_squeeze.erb @@ -1,16 +1,16 @@ -Explanation: Debian <%= codename %> +Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %> Package: * -Pin: release o=Debian,n=<%= codename %> +Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %> Pin-Priority: 990 -Explanation: Debian <%= codename %>-updates +Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>-updates Package: * -Pin: release o=Debian,n=<%= codename %>-updates +Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>-updates Pin-Priority: 990 -Explanation: Debian <%= next_codename %> +Explanation: Debian <%= scope.lookupvar('apt::next_codename') %> Package: * -Pin: release o=Debian,n=<%= next_codename %> +Pin: release o=Debian,n=<%= scope.lookupvar('apt::next_codename') %> Pin-Priority: 2 Explanation: Debian sid diff --git a/templates/Debian/preferences_wheezy.erb b/templates/Debian/preferences_wheezy.erb index d5c7af8..e8c15d6 100644 --- a/templates/Debian/preferences_wheezy.erb +++ b/templates/Debian/preferences_wheezy.erb @@ -1,11 +1,11 @@ -Explanation: Debian <%= codename %> +Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %> Package: * -Pin: release o=Debian,n=<%= codename %> +Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %> Pin-Priority: 990 -Explanation: Debian <%= codename %>-updates +Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>-updates Package: * -Pin: release o=Debian,n=<%= codename %>-updates +Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>-updates Pin-Priority: 990 Explanation: Debian sid diff --git a/templates/Debian/sources.list.erb b/templates/Debian/sources.list.erb index b0f490f..eaee338 100644 --- a/templates/Debian/sources.list.erb +++ b/templates/Debian/sources.list.erb @@ -1,20 +1,20 @@ # This file is managed by puppet # all local modifications will be overwritten -### Debian current: <%= codename %> +### Debian current: <%= codename = scope.lookupvar('::lsbdistcodename') %> # basic -deb <%= debian_url %> <%= codename %> <%= repos %> -<% if include_src then -%> +deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= repos=scope.lookupvar('apt::repos') %> +<% if scope.lookupvar('apt::include_src') -%> deb-src <%= debian_url %> <%= codename %> <%= repos %> <% end -%> # security -<% if (release == "unstable" || release == "experimental") -%> +<% if ((release=scope.lookupvar('apt::release')) == "unstable" || release == "experimental") -%> # There is no security support for <%= release %> <% else -%> -deb <%= security_url %> <%= codename %>/updates <%= repos %> -<% if include_src then -%> +deb <%= security_url=scope.lookupvar('apt::security_url') %> <%= codename %>/updates <%= repos %> +<% if include_src -%> deb-src <%= security_url %> <%= codename %>/updates <%= repos %> <% end -%> <% end -%> @@ -23,33 +23,33 @@ deb-src <%= security_url %> <%= codename %>/updates <%= repos %> <% if (release == "testing" || release == "unstable" || release == "experimental") -%> # There is no backports archive for <%= release %> <% else -%> -deb <%= backports_url %> <%= codename %>-backports <%= repos %> -<% if include_src then -%> +deb <%= backports_url=scope.lookupvar('apt::backports_url') %> <%= codename %>-backports <%= repos %> +<% if include_src -%> deb-src <%= backports_url %> <%= codename %>-backports <%= repos %> <% end -%> <% end -%> -<% if use_volatile -%> +<% if use_volatile=scope.lookupvar('apt::use_volatile') -%> # volatile <% if (release == "testing" || release == "unstable" || release == "experimental") -%> # There is no volatile archive for <%= release %> <% else -%> <% if (codename == "lenny" || codename == "etch") -%> -deb <%= volatile_url %> <%= codename %>/volatile <%= repos %> -<% if include_src then -%> +deb <%= volatile_url=scope.lookupvar('apt::volatile_url') %> <%= codename %>/volatile <%= repos %> +<% if include_src -%> deb-src <%= volatile_url %> <%= codename %>/volatile <%= repos %> <% end -%> <% else -%> deb <%= debian_url %> <%= codename %>-updates <%= repos %> -<% if include_src then -%> +<% if include_src -%> deb-src <%= debian_url %> <%= codename %>-updates <%= repos %> <% end -%> <% end -%> <% end -%> <% end -%> -<% if use_next_release then -%> -### Debian next: <%= next_codename %> +<% if next_release=scope.lookupvar('apt::use_next_release') -%> +### Debian next: <%= next_codename=scope.lookupvar('apt::next_codename') %> # basic deb <%= debian_url %> <%= next_codename %> <%= repos %> diff --git a/templates/Ubuntu/preferences_maverick.erb b/templates/Ubuntu/preferences_maverick.erb index 30d3ec6..6f6ea45 100644 --- a/templates/Ubuntu/preferences_maverick.erb +++ b/templates/Ubuntu/preferences_maverick.erb @@ -1,26 +1,26 @@ -Explanation: Ubuntu <%= codename %> security +Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> security Package: * -Pin: release o=Ubuntu,a=<%= codename %>-security +Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>-security Pin-Priority: 990 -Explanation: Ubuntu <%= codename %> updates +Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> updates Package: * -Pin: release o=Ubuntu,a=<%= codename %>-updates +Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>-updates Pin-Priority: 980 -Explanation: Ubuntu <%= codename %> +Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> Package: * -Pin: release o=Ubuntu,a=<%= codename %> +Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %> Pin-Priority: 970 Explanation: Ubuntu backports Package: * -Pin: release a=<%= codename %>-backports +Pin: release a=<%= scope.lookupvar('::lsbdistcodename') %>-backports Pin-Priority: 200 -Explanation: Ubuntu <%= next_release %> +Explanation: Ubuntu <%= scope.lookupvar('apt::next_release') %> Package: * -Pin: release o=Ubuntu,a=<%= next_release %> +Pin: release o=Ubuntu,a=<%= scope.lookupvar('apt::next_release') %> Pin-Priority: 2 Explanation: Ubuntu fallback diff --git a/templates/Ubuntu/sources.list.erb b/templates/Ubuntu/sources.list.erb index b5725f5..c1a6c1e 100644 --- a/templates/Ubuntu/sources.list.erb +++ b/templates/Ubuntu/sources.list.erb @@ -1,26 +1,26 @@ # This file is managed by puppet # all local modifications will be overwritten -# basic <%= lsbdistcodename %> -deb <%= ubuntu_url %> <%= lsbdistcodename %> <%= repos %> -<% if include_src then -%> +# basic <%= lsbdistcodename=scope.lookupvar('::lsbdistcodename') %> +deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= lsbdistcodename %> <%= repos=scope.lookupvar('apt::repos') %> +<% if include_src=scope.lookupvar('apt::include_src') -%> deb-src <%= ubuntu_url %> <%= lsbdistcodename %> <%= repos %> <% end -%> # updates deb <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= repos %> -<% if include_src then -%> +<% if include_src -%> deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= repos %> <% end -%> # security suppport deb <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= repos %> -<% if include_src then -%> +<% if include_src -%> deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= repos %> <% end -%> # backports deb <%= ubuntu_url %> <%= lsbdistcodename %>-backports main <%= repos %> -<% if include_src then -%> +<% if include_src -%> deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-backports <%= repos %> <% end -%> -- cgit v1.2.3 From 8229505ecb20da114d76a8704f4566483c965f83 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Thu, 20 Sep 2012 03:55:58 -0400 Subject: Make apt::preferences_snippet place files in /etc/apt/preferences.d Since Debian Squeeze, apt supports a .d directory for preferences (pinning). Simplify management by just placing files inside this .d directory. This removes the need for concat and concat::fragment resources, so removes the dependency on the concat module. It also removes the need for a moduledir that was needed for the concat module magic, so we also get rid of the dependency on the common module. Signed-off-by: Gabriel Filion --- README | 4 +--- manifests/init.pp | 6 +----- manifests/preferences.pp | 20 +++++++++----------- manifests/preferences_snippet.pp | 12 +++++------- 4 files changed, 16 insertions(+), 26 deletions(-) (limited to 'manifests/preferences.pp') diff --git a/README b/README index be80c62..05781cc 100644 --- a/README +++ b/README @@ -18,8 +18,6 @@ Ubuntu support is lagging behind but not absent either. This module needs: - the lsb module: git://labs.riseup.net/shared-lsb -- the common module: git://labs.riseup.net/shared-common -- the concat module: git://labs.riseup.net/shared-concat 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 @@ -383,7 +381,7 @@ upgrade_package { "perl": Resources ========= -Concat[apt_config] +File['apt_config'] ------------------ Use this resource to depend on or add to a completed apt configuration diff --git a/manifests/init.pp b/manifests/init.pp index 9ce7330..3caa376 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -138,10 +138,6 @@ class apt { # backports uses the normal archive key now package { "debian-backports-keyring": ensure => absent } - include common::moduledir - $apt_base_dir = "${common::moduledir::module_dir_path}/apt" - modules_dir { apt: } - if $custom_key_dir { file { "${apt_base_dir}/keys.d": source => "$custom_key_dir", @@ -155,7 +151,7 @@ class apt { } if $custom_preferences != false { Exec["custom_keys"] { - before => Concat[apt_config], + before => File['apt_config'], } } } diff --git a/manifests/preferences.pp b/manifests/preferences.pp index f188149..f766819 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,20 +1,18 @@ class apt::preferences { - concat::fragment{"apt_preferences_header": - content => $custom_preferences ? { - '' => $operatingsystem ? { - 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"), - 'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"), - }, - default => $custom_preferences + $pref_contents = $custom_preferences ? { + '' => $operatingsystem ? { + 'debian' => template("apt/${operatingsystem}/preferences_${codename}.erb"), + 'ubuntu' => template("apt/${operatingsystem}/preferences_${codename}.erb"), }, - order => 00, - target => '/etc/apt/preferences', + default => $custom_preferences } - concat{'/etc/apt/preferences': - alias => apt_config, + file { '/etc/apt/preferences': + ensure => present, + alias => 'apt_config', # only update together + content => $pref_contents, require => File["/etc/apt/sources.list"], owner => root, group => 0, mode => 0644; } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 6a8e6bc..1aafe57 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -23,11 +23,9 @@ define apt::preferences_snippet( fail("apt::preferences_snippet requires either a 'pin' or 'release' argument, not both") } - include apt::preferences - - concat::fragment{"apt_preference_${name}": + file { "/etc/apt/preferences.d/${name}": ensure => $ensure, - target => '/etc/apt/preferences', + owner => root, group => 0, mode => 0644; } # This should really work in the same manner as sources_list and apt_conf @@ -37,19 +35,19 @@ define apt::preferences_snippet( '': { case $release { '': { - Concat::Fragment["apt_preference_${name}"]{ + File["/etc/apt/preferences.d/${name}"]{ content => template("apt/preferences_snippet.erb") } } default: { - Concat::Fragment["apt_preference_${name}"]{ + File["/etc/apt/preferences.d/${name}"]{ content => template("apt/preferences_snippet_release.erb") } } } } default: { - Concat::Fragment["apt_preference_${name}"]{ + File["/etc/apt/preferences.d/${name}"]{ source => $source } } -- cgit v1.2.3 From 07a031f2050deecfefa205e1e0c63586692a06ff Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 5 Dec 2012 13:46:23 -0500 Subject: fix for $lsbdistcodename regression introduced by ac166366d7baa45b74e09974289d9fb2dad38e67 What happened here was the $codename = $::lsbdistcodename was removed from init.pp and replaced with just $::lsbdistcodename whereever $codename was used. Then in the sources.list.erb and preferences files things were changed like this:
+### Debian current: <%= codename = scope.lookupvar('::lsbdistcodename') %>
...
-deb <%= debian_url %> <%= codename %> <%= repos %>
...
+deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= repos=scope.lookupvar('apt::repos') %>
This meant that the codename was always set to lsbdistcodename, and you because in newer puppet versions you cannot assign a value to a top-level facter variable, it is not possible to change this. Because we cannot change $lsbdistcodename, we have to fix this by allowing the user to pass a different, non-top-level scoped variable to the class as a parameter, which defaults to $::lsbdistcodename, so that upgrades can be triggered. This is documented in the README in an upgrade notice --- README | 28 +++++++++++++++++++++------- manifests/init.pp | 10 ++++++---- manifests/preferences.pp | 4 ++-- templates/Debian/preferences_lenny.erb | 6 +++--- templates/Debian/preferences_squeeze.erb | 12 ++++++------ templates/Debian/preferences_wheezy.erb | 8 ++++---- templates/Debian/sources.list.erb | 2 +- templates/Ubuntu/preferences_maverick.erb | 18 +++++++++--------- templates/Ubuntu/sources.list.erb | 18 +++++++++--------- 9 files changed, 61 insertions(+), 45 deletions(-) (limited to 'manifests/preferences.pp') diff --git a/README b/README index f4b6566..3cd341d 100644 --- a/README +++ b/README @@ -31,6 +31,17 @@ Ubuntu support is lagging behind but not absent either. class { 'apt': debian_url => "http://localhost:9999/debian/", use_next_release => true } + previously, you could manually set $lsbdistcodename which would enable forced + upgrades, but because this is a top-level facter variable, and newer puppet + versions do not let you assign variables to other namespaces, this is no + longer possible. However, there is a way to obtain this functionality, and + that is to pass the 'codename' parameter to the apt class, which will change + the sources.list and preferences files to be the codename you set, allowing + you to trigger upgrades: + + include apt::dist_upgrade + class { 'apt': codename => 'wheezy', notify => Exec['apt_dist-upgrade'] } + * the apticron class has been moved to a parameterized class. if you were including this class before, you will need to move to instantiating the class instead. For example, if you had the following in your manifests: @@ -106,13 +117,6 @@ site_apt/files/some.host.com/03clean_vserver) Variables ========= -$::lsbdistcodename ----------------- - -Contains the codename ("etch", "lenny", ...) of the client's -release. While these values come from lsb-release by default, this -value can be set manually too, e.g. to enable forced upgrades. - $custom_sources_list -------------------- @@ -219,6 +223,16 @@ apt/preferences file to be absent: class { 'apt': custom_preferences => false } +codename +-------- + +Contains the codename ("squeeze", "wheezy", ...) of the client's release. While +these values come from lsb-release by default, this parameter can be set +manually, e.g. to enable forced upgrades. For example: + + include apt::dist_upgrade + class { 'apt': codename => 'wheezy', notify => Exec['apt_dist-upgrade'] } + apt::apticron ------------- diff --git a/manifests/init.pp b/manifests/init.pp index 509b6d1..3de4d9e 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -4,6 +4,7 @@ # See LICENSE for the full license granted to you. class apt( + $codename = '', $use_volatile = false, $include_src = false, $use_next_release = false, @@ -38,16 +39,17 @@ class apt( include lsb # init $release, $next_release, $codename, $next_codename, $release_version - case $::lsbdistcodename { + case $codename { '': { + $codename = $::lsbdistcodename $release = $::lsbdistrelease } default: { - $release = debian_release($::lsbdistcodename) + $release = debian_release($codename) } } - $release_version = debian_release_version($::lsbdistcodename) - $next_codename = debian_nextcodename($::lsbdistcodename) + $release_version = debian_release_version($codename) + $next_codename = debian_nextcodename($codename) $next_release = debian_nextrelease($release) file { diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 8f532f8..e9a74ff 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -3,8 +3,8 @@ class apt::preferences { concat::fragment{"apt_preferences_header": content => $apt::custom_preferences ? { '' => $::operatingsystem ? { - 'debian' => template("apt/${::operatingsystem}/preferences_${::lsbdistcodename}.erb"), - 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::lsbdistcodename}.erb"), + 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), + 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), }, default => $custom_preferences }, diff --git a/templates/Debian/preferences_lenny.erb b/templates/Debian/preferences_lenny.erb index 4648ce1..5c3c829 100644 --- a/templates/Debian/preferences_lenny.erb +++ b/templates/Debian/preferences_lenny.erb @@ -1,4 +1,4 @@ -Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %> +Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %> Package: * Pin: release o=Debian,a=<%= scope.lookupvar('apt::release') %>,v=<%= scope.lookupvar('apt::release_version') %>* Pin-Priority: 990 @@ -8,9 +8,9 @@ Package: * Pin: origin backports.debian.org Pin-Priority: 200 -Explanation: Debian <%= scope.lookupvar('apt::next_release') %> +Explanation: Debian <%= next_release=scope.lookupvar('apt::next_release') %> Package: * -Pin: release o=Debian,a=<%= scope.lookupvar('apt::next_release') %> +Pin: release o=Debian,a=<%= next_release %> Pin-Priority: 2 Explanation: Debian sid diff --git a/templates/Debian/preferences_squeeze.erb b/templates/Debian/preferences_squeeze.erb index e74515e..efe7720 100644 --- a/templates/Debian/preferences_squeeze.erb +++ b/templates/Debian/preferences_squeeze.erb @@ -1,16 +1,16 @@ -Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %> +Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %> Package: * -Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %> +Pin: release o=Debian,n=<%= codename %> Pin-Priority: 990 -Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>-updates +Explanation: Debian <%= codename %>-updates Package: * -Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>-updates +Pin: release o=Debian,n=<%= codename %>-updates Pin-Priority: 990 -Explanation: Debian <%= scope.lookupvar('apt::next_codename') %> +Explanation: Debian <%= next_codename=scope.lookupvar('apt::next_codename') %> Package: * -Pin: release o=Debian,n=<%= scope.lookupvar('apt::next_codename') %> +Pin: release o=Debian,n=<%= next_codename %> Pin-Priority: 2 Explanation: Debian sid diff --git a/templates/Debian/preferences_wheezy.erb b/templates/Debian/preferences_wheezy.erb index e8c15d6..0cc0e5c 100644 --- a/templates/Debian/preferences_wheezy.erb +++ b/templates/Debian/preferences_wheezy.erb @@ -1,11 +1,11 @@ -Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %> +Explanation: Debian <%= codename=scope.lookupvar('apt::codename') %> Package: * -Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %> +Pin: release o=Debian,n=<%= codename %> Pin-Priority: 990 -Explanation: Debian <%= scope.lookupvar('::lsbdistcodename') %>-updates +Explanation: Debian <%= codename %>-updates Package: * -Pin: release o=Debian,n=<%= scope.lookupvar('::lsbdistcodename') %>-updates +Pin: release o=Debian,n=<%= codename %>-updates Pin-Priority: 990 Explanation: Debian sid diff --git a/templates/Debian/sources.list.erb b/templates/Debian/sources.list.erb index ddfcaab..04c13ea 100644 --- a/templates/Debian/sources.list.erb +++ b/templates/Debian/sources.list.erb @@ -1,7 +1,7 @@ # This file is managed by puppet # all local modifications will be overwritten -### Debian current: <%= codename = scope.lookupvar('::lsbdistcodename') %> +### Debian current: <%= codename=scope.lookupvar('apt::codename') %> # basic deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= lrepos=scope.lookupvar('apt::real_repos') %> diff --git a/templates/Ubuntu/preferences_maverick.erb b/templates/Ubuntu/preferences_maverick.erb index 6f6ea45..801ddd4 100644 --- a/templates/Ubuntu/preferences_maverick.erb +++ b/templates/Ubuntu/preferences_maverick.erb @@ -1,26 +1,26 @@ -Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> security +Explanation: Ubuntu <%= codename=scope.lookupvar('apt::codename') %> security Package: * -Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>-security +Pin: release o=Ubuntu,a=<%= codename %>-security Pin-Priority: 990 -Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> updates +Explanation: Ubuntu <%= codename %> updates Package: * -Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %>-updates +Pin: release o=Ubuntu,a=<%= codename %>-updates Pin-Priority: 980 -Explanation: Ubuntu <%= scope.lookupvar('::lsbdistcodename') %> +Explanation: Ubuntu <%= codename %> Package: * -Pin: release o=Ubuntu,a=<%= scope.lookupvar('::lsbdistcodename') %> +Pin: release o=Ubuntu,a=<%= codename %> Pin-Priority: 970 Explanation: Ubuntu backports Package: * -Pin: release a=<%= scope.lookupvar('::lsbdistcodename') %>-backports +Pin: release a=<%= codename %>-backports Pin-Priority: 200 -Explanation: Ubuntu <%= scope.lookupvar('apt::next_release') %> +Explanation: Ubuntu <%= next_release=scope.lookupvar('apt::next_release') %> Package: * -Pin: release o=Ubuntu,a=<%= scope.lookupvar('apt::next_release') %> +Pin: release o=Ubuntu,a=<%= next_release %> Pin-Priority: 2 Explanation: Ubuntu fallback diff --git a/templates/Ubuntu/sources.list.erb b/templates/Ubuntu/sources.list.erb index ed31fbc..c1a6115 100644 --- a/templates/Ubuntu/sources.list.erb +++ b/templates/Ubuntu/sources.list.erb @@ -1,26 +1,26 @@ # This file is managed by puppet # all local modifications will be overwritten -# basic <%= lsbdistcodename=scope.lookupvar('::lsbdistcodename') %> -deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= lsbdistcodename %> <%= lrepos=scope.lookupvar('apt::real_repos') %> +# basic <%= codename=scope.lookupvar('apt::codename') %> +deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= codename %> <%= lrepos=scope.lookupvar('apt::real_repos') %> <% if include_src=scope.lookupvar('apt::include_src') -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %> <%= lrepos %> +deb-src <%= ubuntu_url %> <%= codename %> <%= lrepos %> <% end -%> # updates -deb <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= lrepos %> +deb <%= ubuntu_url %> <%= codename %>-updates <%= lrepos %> <% if include_src -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= lrepos %> +deb-src <%= ubuntu_url %> <%= codename %>-updates <%= lrepos %> <% end -%> # security suppport -deb <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= lrepos %> +deb <%= ubuntu_url %> <%= codename %>-security <%= lrepos %> <% if include_src -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= lrepos %> +deb-src <%= ubuntu_url %> <%= codename %>-security <%= lrepos %> <% end -%> # backports -deb <%= ubuntu_url %> <%= lsbdistcodename %>-backports main <%= lrepos %> +deb <%= ubuntu_url %> <%= codename %>-backports main <%= lrepos %> <% if include_src -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-backports <%= lrepos %> +deb-src <%= ubuntu_url %> <%= codename %>-backports <%= lrepos %> <% end -%> -- cgit v1.2.3 From ded81d8edcc9a7cc8275a68f669fde896379b12e Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Wed, 2 Jan 2013 08:12:11 -0500 Subject: Apply code style corrections from puppet-lint Signed-off-by: Gabriel Filion + more linting by intrigeri. Conflicts: manifests/apticron.pp manifests/cron/dist_upgrade.pp manifests/cron/download.pp manifests/dist_upgrade/initiator.pp manifests/init.pp manifests/listchanges.pp manifests/preferences.pp manifests/preseeded_package.pp manifests/proxy_client.pp manifests/unattended_upgrades.pp manifests/update.pp --- manifests/apt_conf.pp | 6 ++- manifests/apticron.pp | 10 +++-- manifests/cron/base.pp | 2 +- manifests/cron/dist_upgrade.pp | 22 ++++++----- manifests/cron/download.pp | 14 ++++--- manifests/dist_upgrade.pp | 12 +++--- manifests/dist_upgrade/initiator.pp | 10 ++--- manifests/dot_d_directories.pp | 14 +++---- manifests/dselect.pp | 8 ++-- manifests/init.pp | 75 +++++++++++++++++++++---------------- manifests/listchanges.pp | 12 +++--- manifests/preferences.pp | 14 +++---- manifests/preferences/absent.pp | 2 +- manifests/preferences_snippet.pp | 20 +++++----- manifests/preseeded_package.pp | 26 +++++++------ manifests/proxy_client.pp | 4 +- manifests/reboot_required_notify.pp | 2 +- manifests/sources_list.pp | 6 +-- manifests/unattended_upgrades.pp | 16 ++++---- manifests/update.pp | 7 ++-- manifests/upgrade_package.pp | 28 ++++++++------ 21 files changed, 173 insertions(+), 137 deletions(-) (limited to 'manifests/preferences.pp') diff --git a/manifests/apt_conf.pp b/manifests/apt_conf.pp index fe07546..d78fb9b 100644 --- a/manifests/apt_conf.pp +++ b/manifests/apt_conf.pp @@ -19,8 +19,10 @@ define apt::apt_conf( # apparently doesn't. file { "/etc/apt/apt.conf.d/${name}": ensure => $ensure, - owner => root, group => 0, mode => 0644, - notify => Exec["refresh_apt"], + owner => root, + group => 0, + mode => '0644', + notify => Exec['refresh_apt'], } if $source { diff --git a/manifests/apticron.pp b/manifests/apticron.pp index ebdd5b5..54d7b71 100644 --- a/manifests/apticron.pp +++ b/manifests/apticron.pp @@ -12,11 +12,13 @@ class apt::apticron( $customsubject = '' ) { - package { apticron: ensure => $ensure_version } + package { 'apticron': ensure => $ensure_version } - file { "/etc/apticron/apticron.conf": + file { '/etc/apticron/apticron.conf': content => template($apt::apticron::config), - mode => 0644, owner => root, group => root, - require => Package["apticron"]; + owner => root, + group => root, + mode => '0644', + require => Package['apticron']; } } diff --git a/manifests/cron/base.pp b/manifests/cron/base.pp index 7ccfce6..39fc306 100644 --- a/manifests/cron/base.pp +++ b/manifests/cron/base.pp @@ -1,6 +1,6 @@ class apt::cron::base { - package { cron-apt: ensure => installed } + package { 'cron-apt': ensure => installed } case $apt_cron_hours { '': {} diff --git a/manifests/cron/dist_upgrade.pp b/manifests/cron/dist_upgrade.pp index 68460f2..a880a66 100644 --- a/manifests/cron/dist_upgrade.pp +++ b/manifests/cron/dist_upgrade.pp @@ -4,22 +4,26 @@ class apt::cron::dist_upgrade inherits apt::cron::base { dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-confold' " - file { "/etc/cron-apt/action.d/3-download": + file { '/etc/cron-apt/action.d/3-download': ensure => absent, } - package { "apt-listbugs": ensure => absent } + package { 'apt-listbugs': ensure => absent } - file { "/etc/cron-apt/action.d/4-dist-upgrade": + file { '/etc/cron-apt/action.d/4-dist-upgrade': content => $action, - require => Package[cron-apt], - owner => root, group => 0, mode => 0644; + owner => root, + group => 0, + mode => '0644', + require => Package[cron-apt]; } - file { "/etc/cron-apt/config.d/MAILON": - content => "MAILON=upgrade\n", - require => Package[cron-apt], - owner => root, group => 0, mode => 0644; + file { '/etc/cron-apt/config.d/MAILON': + content => 'MAILON=upgrade\n', + owner => root, + group => 0, + mode => '0644', + require => Package[cron-apt]; } } diff --git a/manifests/cron/download.pp b/manifests/cron/download.pp index f4e9184..4a19fec 100644 --- a/manifests/cron/download.pp +++ b/manifests/cron/download.pp @@ -4,20 +4,24 @@ class apt::cron::download inherits apt::cron::base { dist-upgrade -d -y -o APT::Get::Show-Upgraded=true " - file { "/etc/cron-apt/action.d/4-dist-upgrade": + file { '/etc/cron-apt/action.d/4-dist-upgrade': ensure => absent, } - file { "/etc/cron-apt/action.d/3-download": + file { '/etc/cron-apt/action.d/3-download': content => $action, require => Package[cron-apt], - owner => root, group => 0, mode => 0644; + owner => root, + group => 0, + mode => '0644'; } - file { "/etc/cron-apt/config.d/MAILON": + file { '/etc/cron-apt/config.d/MAILON': content => "MAILON=changes\n", require => Package[cron-apt], - owner => root, group => 0, mode => 0644; + owner => root, + group => 0, + mode => '0644'; } } diff --git a/manifests/dist_upgrade.pp b/manifests/dist_upgrade.pp index ed25b0b..bf78dcc 100644 --- a/manifests/dist_upgrade.pp +++ b/manifests/dist_upgrade.pp @@ -4,13 +4,15 @@ class apt::dist_upgrade { include apt::update } + $req = $apt::disable_update ? { + true => undef, + default => Exec['apt_updated'], + } + exec { 'apt_dist-upgrade': - command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade", + command => '/usr/bin/apt-get -q -y -o \'DPkg::Options::=--force-confold\' dist-upgrade', refreshonly => true, - require => $apt::disable_update ? { - true => undef, - default => Exec['apt_updated'], - } + require => $req } } diff --git a/manifests/dist_upgrade/initiator.pp b/manifests/dist_upgrade/initiator.pp index f1d522b..d238988 100644 --- a/manifests/dist_upgrade/initiator.pp +++ b/manifests/dist_upgrade/initiator.pp @@ -4,15 +4,15 @@ class apt::dist_upgrade::initiator inherits apt::dist_upgrade { $initiator_abs = "${apt::apt_base_dir}/${initiator}" file { 'apt_upgrade_initiator': - mode => 0644, + mode => '0644', owner => root, group => 0, - path => "${initiator_abs}", + path => $initiator_abs, checksum => md5, source => [ - "puppet:///modules/site_apt/${::fqdn}/${initiator}", - "puppet:///modules/site_apt/${initiator}", - "puppet:///modules/apt/${initiator}", + "puppet:///modules/site_apt/${::fqdn}/${initiator}", + "puppet:///modules/site_apt/${initiator}", + "puppet:///modules/apt/${initiator}", ], } diff --git a/manifests/dot_d_directories.pp b/manifests/dot_d_directories.pp index 742aad4..37c3fc8 100644 --- a/manifests/dot_d_directories.pp +++ b/manifests/dot_d_directories.pp @@ -2,20 +2,20 @@ class apt::dot_d_directories { # watch .d directories and ensure they are present file { - "/etc/apt/apt.conf.d": - ensure => directory, + '/etc/apt/apt.conf.d': + ensure => directory, checksum => mtime, - notify => Exec['refresh_apt']; - "/etc/apt/sources.list.d": - ensure => directory, + notify => Exec['refresh_apt']; + '/etc/apt/sources.list.d': + ensure => directory, checksum => mtime, - notify => Exec['refresh_apt']; + notify => Exec['refresh_apt']; } exec { # "&& sleep 1" is workaround for older(?) clients 'refresh_apt': - command => '/usr/bin/apt-get update && sleep 1', + command => '/usr/bin/apt-get update && sleep 1', refreshonly => true, } diff --git a/manifests/dselect.pp b/manifests/dselect.pp index 44f0e19..6feeb9f 100644 --- a/manifests/dselect.pp +++ b/manifests/dselect.pp @@ -1,10 +1,10 @@ class apt::dselect { # suppress annoying help texts of dselect - line { dselect_expert: - file => "/etc/dpkg/dselect.cfg", - line => "expert", + line { 'dselect_expert': + file => '/etc/dpkg/dselect.cfg', + line => 'expert', } - package { dselect: ensure => installed } + package { 'dselect': ensure => installed } } diff --git a/manifests/init.pp b/manifests/init.pp index 5c0738b..020c1cc 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -20,7 +20,7 @@ class apt( case $::operatingsystem { 'debian': { $real_repos = $repos ? { - 'auto' => 'main contrib non-free', + 'auto' => 'main contrib non-free', default => $repos, } } @@ -32,8 +32,8 @@ class apt( } } - package { apt: - ensure => installed, + package { 'apt': + ensure => installed, require => undef, } @@ -42,7 +42,7 @@ class apt( # init $release, $next_release, $next_codename, $release_version case $codename { 'n/a': { - fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.") + fail("Unknown lsbdistcodename reported by facter: '$::lsbdistcodename', please fix this by setting this variable in your manifest.") } default: { $release = debian_release($codename) @@ -52,41 +52,44 @@ class apt( $next_codename = debian_nextcodename($codename) $next_release = debian_nextrelease($release) + $sources_content = $::custom_sources_list ? { + '' => template( "apt/${::operatingsystem}/sources.list.erb"), + default => $::custom_sources_list + } file { # include main, security and backports # additional sources should be included via the apt::sources_list define - "/etc/apt/sources.list": - content => $custom_sources_list ? { - '' => template( "apt/${::operatingsystem}/sources.list.erb"), - default => $custom_sources_list - }, + '/etc/apt/sources.list': + content => $sources_content, require => Package['lsb'], - notify => Exec['refresh_apt'], - owner => root, group => 0, mode => 0644; + notify => Exec['refresh_apt'], + owner => root, + group => 0, + mode => '0644'; } - apt_conf { "02show_upgraded": + apt_conf { '02show_upgraded': source => [ "puppet:///modules/site_apt/${::fqdn}/02show_upgraded", - "puppet:///modules/site_apt/02show_upgraded", - "puppet:///modules/apt/02show_upgraded" ] + 'puppet:///modules/site_apt/02show_upgraded', + 'puppet:///modules/apt/02show_upgraded' ] } - if ( $::virtual == "vserver" ) { - apt_conf { "03clean_vserver": + if ( $::virtual == 'vserver' ) { + apt_conf { '03clean_vserver': source => [ "puppet:///modules/site_apt/${::fqdn}/03clean_vserver", - "puppet:///modules/site_apt/03clean_vserver", - "puppet:///modules/apt/03clean_vserver" ], - alias => "03clean"; + 'puppet:///modules/site_apt/03clean_vserver', + 'puppet:///modules/apt/03clean_vserver' ], + alias => '03clean'; } } else { - apt_conf { "03clean": + apt_conf { '03clean': source => [ "puppet:///modules/site_apt/${::fqdn}/03clean", - "puppet:///modules/site_apt/03clean", - "puppet:///modules/apt/03clean" ] + 'puppet:///modules/site_apt/03clean', + 'puppet:///modules/apt/03clean' ] } } - + case $custom_preferences { false: { include apt::preferences::absent @@ -101,29 +104,35 @@ class apt( include apt::dot_d_directories ## This package should really always be current - package { "debian-archive-keyring": ensure => latest } + package { 'debian-archive-keyring': ensure => latest } # backports uses the normal archive key now - package { "debian-backports-keyring": ensure => absent } + package { 'debian-backports-keyring': ensure => absent } + + include common::moduledir + $apt_base_dir = "${common::moduledir::module_dir_path}/apt" + modules_dir { 'apt': } - if $custom_key_dir { + if $::custom_key_dir { file { "${apt_base_dir}/keys.d": - source => "$custom_key_dir", + source => $::custom_key_dir, recurse => true, - mode => 0755, owner => root, group => root, + owner => root, + group => root, + mode => '0755', } - exec { "custom_keys": - command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && /usr/bin/apt-get update", - subscribe => File["${apt_base_dir}/keys.d"], + exec { 'custom_keys': + command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && /usr/bin/apt-get update", + subscribe => File["${apt_base_dir}/keys.d"], refreshonly => true, } if $custom_preferences != false { - Exec["custom_keys"] { + Exec['custom_keys'] { before => File['apt_config'], } } } # workaround for preseeded_package component - file { [ "/var/cache", "/var/cache/local", "/var/cache/local/preseeding" ]: ensure => directory } + file { [ '/var/cache', '/var/cache/local', '/var/cache/local/preseeding' ]: ensure => directory } } diff --git a/manifests/listchanges.pp b/manifests/listchanges.pp index 4194463..0c163ae 100644 --- a/manifests/listchanges.pp +++ b/manifests/listchanges.pp @@ -7,11 +7,13 @@ class apt::listchanges( $saveseen = '/var/lib/apt/listchanges.db', $which = 'both' ){ - package { apt-listchanges: ensure => $ensure_version } - - file { "/etc/apt/listchanges.conf": + package { 'apt-listchanges': ensure => $ensure_version } + + file { '/etc/apt/listchanges.conf': content => template($apt::listchanges::config), - mode => 0644, owner => root, group => root, - require => Package["apt-listchanges"]; + owner => root, + group => root, + mode => '0644', + require => Package['apt-listchanges']; } } diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 66f36a7..9ed24c1 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,20 +1,20 @@ class apt::preferences { - $pref_contents = $custom_preferences ? { - '' => $operatingsystem ? { + $pref_contents = $apt::custom_preferences ? { + '' => $::operatingsystem ? { 'debian' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), }, - default => $custom_preferences + default => $apt::custom_preferences } file { '/etc/apt/preferences': - ensure => present, - alias => 'apt_config', + ensure => present, + alias => 'apt_config', # only update together content => $pref_contents, - require => File["/etc/apt/sources.list"], - owner => root, group => 0, mode => 0644; + require => File['/etc/apt/sources.list'], + owner => root, group => 0, mode => '0644'; } } diff --git a/manifests/preferences/absent.pp b/manifests/preferences/absent.pp index 68ab400..f32e030 100644 --- a/manifests/preferences/absent.pp +++ b/manifests/preferences/absent.pp @@ -1,7 +1,7 @@ class apt::preferences::absent { file { '/etc/apt/preferences': - alias => 'apt_config', ensure => absent, + alias => 'apt_config', } } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 1aafe57..0bff85c 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -1,11 +1,11 @@ -define apt::preferences_snippet( +define apt::preferences_snippet ( + $priority, $package = false, $ensure = 'present', $source = '', $release = '', - $pin = '', - $priority ) -{ + $pin = '' +) { $real_package = $package ? { false => $name, @@ -13,19 +13,19 @@ define apt::preferences_snippet( } if $custom_preferences == false { - fail("Trying to define a preferences_snippet with \$custom_preferences set to false.") + fail('Trying to define a preferences_snippet with $custom_preferences set to false.') } if !$pin and !$release { - fail("apt::preferences_snippet requires one of the 'pin' or 'release' argument to be set") + fail('apt::preferences_snippet requires one of the \'pin\' or \'release\' argument to be set') } if $pin and $release { - fail("apt::preferences_snippet requires either a 'pin' or 'release' argument, not both") + fail('apt::preferences_snippet requires either a \'pin\' or \'release\' argument, not both') } file { "/etc/apt/preferences.d/${name}": ensure => $ensure, - owner => root, group => 0, mode => 0644; + owner => root, group => 0, mode => '0644'; } # This should really work in the same manner as sources_list and apt_conf @@ -36,12 +36,12 @@ define apt::preferences_snippet( case $release { '': { File["/etc/apt/preferences.d/${name}"]{ - content => template("apt/preferences_snippet.erb") + content => template('apt/preferences_snippet.erb') } } default: { File["/etc/apt/preferences.d/${name}"]{ - content => template("apt/preferences_snippet_release.erb") + content => template('apt/preferences_snippet_release.erb') } } } diff --git a/manifests/preseeded_package.pp b/manifests/preseeded_package.pp index ac9a821..9bca8b1 100644 --- a/manifests/preseeded_package.pp +++ b/manifests/preseeded_package.pp @@ -1,17 +1,21 @@ -define apt::preseeded_package ($content = "", $ensure = "installed") { +define apt::preseeded_package ( + $ensure = 'installed', + $content = '' +) { $seedfile = "/var/cache/local/preseeding/${name}.seeds" + $real_content = $content ? { + '' => template ( "site_apt/${::lsbdistcodename}/${name}.seeds" ), + default => $content + } file { $seedfile: - content => $content ? { - "" => template ( "site_apt/${::lsbdistcodename}/${name}.seeds" ), - default => $content - }, - mode => 0600, owner => root, group => root, - } + content => $real_content, + mode => '0600', owner => root, group => root, + } package { $name: - ensure => $ensure, + ensure => $ensure, responsefile => $seedfile, - require => File[$seedfile], - } -} + require => File[$seedfile], + } +} diff --git a/manifests/proxy_client.pp b/manifests/proxy_client.pp index c284c74..9ba79f2 100644 --- a/manifests/proxy_client.pp +++ b/manifests/proxy_client.pp @@ -3,7 +3,7 @@ class apt::proxy_client( $port = '3142', ){ - apt_conf { "20proxy": - content => template("apt/20proxy.erb"), + apt_conf { '20proxy': + content => template('apt/20proxy.erb'), } } diff --git a/manifests/reboot_required_notify.pp b/manifests/reboot_required_notify.pp index 3603aa2..722e8a5 100644 --- a/manifests/reboot_required_notify.pp +++ b/manifests/reboot_required_notify.pp @@ -3,7 +3,7 @@ class apt::reboot_required_notify { # This package installs the script that created /var/run/reboot-required*. # This script (/usr/share/update-notifier/notify-reboot-required) is # triggered e.g. by kernel packages. - package { update-notifier-common: + package { 'update-notifier-common': ensure => installed, } diff --git a/manifests/sources_list.pp b/manifests/sources_list.pp index 499116d..00f6097 100644 --- a/manifests/sources_list.pp +++ b/manifests/sources_list.pp @@ -1,8 +1,8 @@ define apt::sources_list ( $ensure = 'present', $source = '', - $content = undef ) -{ + $content = undef +) { if $source == '' and $content == undef { fail("One of \$source or \$content must be specified for apt_sources_snippet ${name}") @@ -18,7 +18,7 @@ define apt::sources_list ( # apparently doesn't. file { "/etc/apt/sources.list.d/${name}": ensure => $ensure, - owner => root, group => 0, mode => 0644, + owner => root, group => 0, mode => '0644', notify => Exec['refresh_apt'], } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index b5bf829..37e8321 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -1,21 +1,21 @@ class apt::unattended_upgrades { package { 'unattended-upgrades': - ensure => present, + ensure => present, require => undef, } - apt_conf { "50unattended-upgrades": + 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/site_apt/${::lsbdistcodename}/50unattended-upgrades", + 'puppet:///modules/site_apt/50unattended-upgrades', + "puppet:///modules/apt/${::lsbdistcodename}/50unattended-upgrades" ], require => Package['unattended-upgrades'], } - if $custom_preferences != false { - Apt_conf["50unattended-upgrades"] { - before => Concat[apt_config], + if $apt::custom_preferences != false { + Apt_conf['50unattended-upgrades'] { + before => Concat['apt_config'], } } } diff --git a/manifests/update.pp b/manifests/update.pp index 9c773ab..3f45125 100644 --- a/manifests/update.pp +++ b/manifests/update.pp @@ -2,11 +2,12 @@ class apt::update { exec { 'update_apt': command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', - require => [ File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ], - File['/etc/apt/sources.list'] ], + require => [ + File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ], + File['/etc/apt/sources.list'] ], loglevel => info, # Another Semaphor for all packages to reference - alias => "apt_updated" + alias => 'apt_updated' } } diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp index 2ce6932..d607150 100644 --- a/manifests/upgrade_package.pp +++ b/manifests/upgrade_package.pp @@ -1,7 +1,9 @@ -define apt::upgrade_package ($version = "") { +define apt::upgrade_package ( + $version = '' +) { - if $apt::disable_update == false { - include apt::update + if $apt::disable_update == false { + include apt::update } $version_suffix = $version ? { @@ -12,25 +14,29 @@ define apt::upgrade_package ($version = "") { if !defined(Package['apt-show-versions']) { package { 'apt-show-versions': - ensure => installed, + ensure => installed, require => undef, } } if !defined(Package['dctrl-tools']) { package { 'dctrl-tools': - ensure => installed, + ensure => installed, require => undef, } } + $req = $apt::disable_update ? { + true => Package['apt-show-versions', 'dctrl-tools'], + default => [ + Exec['apt_updated'], + Package['apt-show-versions', 'dctrl-tools'] + ], + } + exec { "apt-get -q -y -o 'DPkg::Options::=--force-confold' install ${name}${version_suffix}": - onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ], - require => $apt::disable_update ? { - true => Package['apt-show-versions', 'dctrl-tools'], - default => [ Exec['apt_updated'], - Package['apt-show-versions', 'dctrl-tools'] ], - } + onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ], + require => $req } } -- cgit v1.2.3