From 54932c9c215154311765a63d41a9d105cfc76c02 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 5 Jun 2011 14:58:22 +0200 Subject: fix unattended upgrades as we use $lsbdistcodename as source we cannot name the sources which should be used to update "stable". -> Fix it by deploying a per lsbdistcodename configfile. This can also be used as a pre- work for the #2681 shared modules bug. --- manifests/unattended_upgrades.pp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'manifests') diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index b90fcbb..3baffad 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -8,8 +8,7 @@ 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", - "puppet:///modules/apt/50unattended-upgrades" ], + "puppet:///modules/apt/$lsbdistcodename/50unattended-upgrades" ], require => Package['unattended-upgrades'], } -- cgit v1.2.3 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 --- README | 1 + manifests/preferences.pp | 16 ++++++---------- manifests/preferences_snippet.pp | 10 ++++------ 3 files changed, 11 insertions(+), 16 deletions(-) (limited to 'manifests') diff --git a/README b/README index 31c715a..ba287d9 100644 --- a/README +++ b/README @@ -19,6 +19,7 @@ This module needs: - lsb-release installed - the common module: git://labs.riseup.net/shared-common +- the concat module: https://github.com/ripienaar/puppet-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 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; } } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 4b8e575..bcc12de 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -11,11 +11,9 @@ define apt::preferences_snippet( include apt::preferences - file { "${apt::preferences::apt_preferences_dir}/${name}": + concat::fragment{"apt_preference_${name}": ensure => $ensure, - #TODO this template is somewhat limited - notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], - owner => root, group => 0, mode => 0600; + target => '/etc/apt/preferences', } # This should really work in the same manner as sources_list and apt_conf @@ -23,12 +21,12 @@ define apt::preferences_snippet( # lenny, we can't generalize without going into ugly special-casing. case $source { '': { - File["${apt::preferences::apt_preferences_dir}/${name}"] { + Concat::Fragment[$name]{ content => template("apt/preferences_snippet.erb") } } default: { - File["${apt::preferences::apt_preferences_dir}/${name}"] { + Concat::Fragment[$name]{ source => $source } } -- cgit v1.2.3 From 2b7cfe52f7a1720947e57ba5163546c37712db16 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 5 Aug 2011 11:12:29 +0200 Subject: use the correct name --- manifests/preferences_snippet.pp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'manifests') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index bcc12de..91b3dde 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -21,12 +21,12 @@ define apt::preferences_snippet( # lenny, we can't generalize without going into ugly special-casing. case $source { '': { - Concat::Fragment[$name]{ + Concat::Fragment["apt_preference_${name}"]{ content => template("apt/preferences_snippet.erb") } } default: { - Concat::Fragment[$name]{ + Concat::Fragment["apt_preference_${name}"]{ source => $source } } -- cgit v1.2.3 From 7727549c02c97e6a20dffcbf996bce90c252c793 Mon Sep 17 00:00:00 2001 From: mh Date: Fri, 5 Aug 2011 11:22:05 +0200 Subject: use correct references for new concat usage --- README | 2 +- manifests/init.pp | 2 +- manifests/unattended_upgrades.pp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'manifests') diff --git a/README b/README index ba287d9..1b01f88 100644 --- a/README +++ b/README @@ -370,7 +370,7 @@ upgrade_package { "perl": Resources ========= -Concatenated_file[apt_config] +Concat[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 b5be91f..3a816d2 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -167,7 +167,7 @@ class apt { } if $custom_preferences != false { Exec["custom_keys"] { - before => Concatenated_file[apt_config], + before => Concat[apt_config], } } } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index 3baffad..2904f36 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -14,7 +14,7 @@ class apt::unattended_upgrades { if $custom_preferences != false { Apt_conf["50unattended-upgrades"] { - before => Concatenated_file[apt_config], + before => Concat[apt_config], } } } -- cgit v1.2.3 From f1a0eca4662f8c7ec47bfc3d60aa9099c8f9fa77 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 15 Apr 2012 15:41:58 +0200 Subject: Migrate - in class names to _ In newer puppet releases the old way to name class/modules with a -, won't anymore be supported. --- README | 30 +++++++++++++++--------------- manifests/cron/dist-upgrade.pp | 23 ----------------------- manifests/cron/dist_upgrade.pp | 23 +++++++++++++++++++++++ manifests/dist_upgrade/initiator.pp | 4 ++-- manifests/init.pp | 12 ++++++------ manifests/preseeded_package.pp | 2 +- manifests/unattended_upgrades.pp | 4 ++-- 7 files changed, 49 insertions(+), 49 deletions(-) delete mode 100644 manifests/cron/dist-upgrade.pp create mode 100644 manifests/cron/dist_upgrade.pp (limited to 'manifests') diff --git a/README b/README index fdae462..3d2b70f 100644 --- a/README +++ b/README @@ -36,11 +36,11 @@ From apt.conf(5), 0.7.2: packages." To change the default setting for DSelect::Clean, you can create a file named -"03clean" or "03clean_vserver" in your site-apt module's files directory. You +"03clean" or "03clean_vserver" in your site_apt module's files directory. You can also define this for a specific host by creating a file in a subdirectory of -the site-apt modules' files directory that is named the same as the -host. (example: site-apt/files/some.host.com/03clean, or -site-apt/files/some.host.com/03clean_vserver) +the site_apt modules' files directory that is named the same as the +host. (example: site_apt/files/some.host.com/03clean, or +site_apt/files/some.host.com/03clean_vserver) Variables ========= @@ -61,9 +61,9 @@ e.g. changing the sections included in the source, etc. you can set this variable to the content that you desire to use instead. For example, setting the following variable before including this class will -pull in the templates/site-apt/sources.list file: +pull in the templates/site_apt/sources.list file: - $custom_sources_list = template("site-apt/sources.list") + $custom_sources_list = template("site_apt/sources.list") $custom_preferences ------------------- @@ -77,8 +77,8 @@ unless you explicitly specify the version number. This file will be complemented with all of the preferences_snippet calls (see below). If the default preferences template doesn't suit your needs, you can create a -template located in your site-apt module, and set $custom_preferences with the -content (eg. $custom_preferences = template('site-apt/preferences') ) +template located in your site_apt module, and set $custom_preferences with the +content (eg. $custom_preferences = template('site_apt/preferences') ) Setting this variable to false before including this class will force the apt/preferences file to be absent: @@ -198,7 +198,7 @@ be passed as the "hours" parameter of a cronjob. Example: Note that the default 4 AM cronjob won't be disabled. -apt::cron::dist-upgrade +apt::cron::dist_upgrade ----------------------- This class sets up cron-apt so that it dist-upgrades the system and @@ -230,8 +230,8 @@ 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/upgrade_initiator +- puppet:///site_apt/${fqdn}/upgrade_initiator +- puppet:///site_apt/upgrade_initiator - puppet:///apt/upgrade_initiator This is useful when one does not want to setup a fully automated @@ -298,7 +298,7 @@ meta-parameter to define content inline or with the help of a template. Example: apt::apt_conf { "80download-only": - source => "puppet:///modules/site-apt/80download-only", + source => "puppet:///modules/site_apt/80download-only", } apt::preferences_snippet @@ -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,8 +343,8 @@ 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", - "puppet:///modules/site-apt/company_internals.list"], + source => ["puppet:///modules/site_apt/${fqdn}/company_internals.list", + "puppet:///modules/site_apt/company_internals.list"], } apt::upgrade_package diff --git a/manifests/cron/dist-upgrade.pp b/manifests/cron/dist-upgrade.pp deleted file mode 100644 index 2568cb7..0000000 --- a/manifests/cron/dist-upgrade.pp +++ /dev/null @@ -1,23 +0,0 @@ -class apt::cron::dist-upgrade inherits apt::cron::base { - - $action = "autoclean -y -dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-confold' -" - - file { "/etc/cron-apt/action.d/3-download": - ensure => absent, - } - - package { "apt-listbugs": ensure => absent } - - config_file { "/etc/cron-apt/action.d/4-dist-upgrade": - content => $action, - require => Package[cron-apt] - } - - config_file { "/etc/cron-apt/config.d/MAILON": - content => "MAILON=upgrade\n", - require => Package[cron-apt] - } - -} diff --git a/manifests/cron/dist_upgrade.pp b/manifests/cron/dist_upgrade.pp new file mode 100644 index 0000000..1c8adb1 --- /dev/null +++ b/manifests/cron/dist_upgrade.pp @@ -0,0 +1,23 @@ +class apt::cron::dist_upgrade inherits apt::cron::base { + + $action = "autoclean -y +dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-confold' +" + + file { "/etc/cron-apt/action.d/3-download": + ensure => absent, + } + + package { "apt-listbugs": ensure => absent } + + config_file { "/etc/cron-apt/action.d/4-dist-upgrade": + content => $action, + require => Package[cron-apt] + } + + config_file { "/etc/cron-apt/config.d/MAILON": + content => "MAILON=upgrade\n", + require => Package[cron-apt] + } + +} diff --git a/manifests/dist_upgrade/initiator.pp b/manifests/dist_upgrade/initiator.pp index 6d57947..571cd51 100644 --- a/manifests/dist_upgrade/initiator.pp +++ b/manifests/dist_upgrade/initiator.pp @@ -10,8 +10,8 @@ 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/${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 960f18d..2ae691f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -90,23 +90,23 @@ class apt { } apt_conf { "02show_upgraded": - source => [ "puppet:///modules/site-apt/${fqdn}/02show_upgraded", - "puppet:///modules/site-apt/02show_upgraded", + source => [ "puppet:///modules/site_apt/${fqdn}/02show_upgraded", + "puppet:///modules/site_apt/02show_upgraded", "puppet:///modules/apt/02show_upgraded" ] } if ( $virtual == "vserver" ) { apt_conf { "03clean_vserver": - source => [ "puppet:///modules/site-apt/${fqdn}/03clean_vserver", - "puppet:///modules/site-apt/03clean_vserver", + source => [ "puppet:///modules/site_apt/${fqdn}/03clean_vserver", + "puppet:///modules/site_apt/03clean_vserver", "puppet:///modules/apt/03clean_vserver" ], alias => "03clean"; } } else { apt_conf { "03clean": - source => [ "puppet:///modules/site-apt/${fqdn}/03clean", - "puppet:///modules/site-apt/03clean", + source => [ "puppet:///modules/site_apt/${fqdn}/03clean", + "puppet:///modules/site_apt/03clean", "puppet:///modules/apt/03clean" ] } } diff --git a/manifests/preseeded_package.pp b/manifests/preseeded_package.pp index 839f200..d831934 100644 --- a/manifests/preseeded_package.pp +++ b/manifests/preseeded_package.pp @@ -1,7 +1,7 @@ define apt::preseeded_package ($content = "", $ensure = "installed") { $seedfile = "/var/cache/local/preseeding/$name.seeds" $real_content = $content ? { - "" => template ( "site-apt/$lsbdistcodename/$name.seeds" ), + "" => template ( "site_apt/$lsbdistcodename/$name.seeds" ), default => $content } diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index 2904f36..2a19983 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -6,8 +6,8 @@ class apt::unattended_upgrades { } apt_conf { "50unattended-upgrades": - source => ["puppet:///modules/site-apt/$lsbdistcodename/50unattended-upgrades", - "puppet:///modules/site-apt/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'], } -- 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') 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') 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 0e016e968da85a435f1670761bad458aa515c7a5 Mon Sep 17 00:00:00 2001 From: mh Date: Thu, 14 Jun 2012 10:07:29 -0300 Subject: migrate away from hiera stuff --- manifests/apticron.pp | 22 +++++++++++----------- manifests/init.pp | 22 +++++++++++----------- manifests/listchanges.pp | 14 +++++++------- 3 files changed, 29 insertions(+), 29 deletions(-) (limited to 'manifests') diff --git a/manifests/apticron.pp b/manifests/apticron.pp index c578311..ebdd5b5 100644 --- a/manifests/apticron.pp +++ b/manifests/apticron.pp @@ -1,15 +1,15 @@ 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','') + $ensure_version = 'installed', + $config = "apt/${::operatingsystem}/apticron_${::lsbdistcodename}.erb", + $email = 'root', + $diff_only = '1', + $listchanges_profile = 'apticron', + $system = false, + $ipaddressnum = false, + $ipaddresses = false, + $notifyholds = '0', + $notifynew = '0', + $customsubject = '' ) { package { apticron: ensure => $ensure_version } diff --git a/manifests/init.pp b/manifests/init.pp index a015fc9..e35dd2c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -4,17 +4,17 @@ # See LICENSE for the full license granted to you. class apt( - $use_volatile = hiera('apt_volatile_enabled',false), - $include_src = hiera('apt_include_src',false), - $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/'), - $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','') -) { + $use_volatile = false, + $include_src = false, + $use_next_release = false, + $debian_url = 'http://cdn.debian.net/debian/', + $security_url = 'http://security.debian.org/', + $backports_url = 'http://backports.debian.org/debian-backports/', + $volatile_url = 'http://volatile.debian.org/debian-volatile/', + $ubuntu_url = 'http://archive.ubuntu.com/ubuntu', + $repos = 'auto', + $custom_preferences = '' +){ case $::operatingsystem { 'debian': { $real_repos = $repos ? { diff --git a/manifests/listchanges.pp b/manifests/listchanges.pp index 236b629..4194463 100644 --- a/manifests/listchanges.pp +++ b/manifests/listchanges.pp @@ -1,11 +1,11 @@ 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') + $ensure_version = 'installed', + $config = "apt/${::operatingsystem}/listchanges_${::lsbdistcodename}.erb", + $frontend = 'mail', + $email = 'root', + $confirm = '0', + $saveseen = '/var/lib/apt/listchanges.db', + $which = 'both' ){ package { apt-listchanges: ensure => $ensure_version } -- cgit v1.2.3 From d47addd2ed9ae6e99423bff736352144cda32832 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 18 Jun 2012 11:41:04 -0300 Subject: get rid off config_file wrapper --- manifests/cron/dist_upgrade.pp | 10 ++++++---- manifests/cron/download.pp | 10 ++++++---- manifests/init.pp | 3 ++- 3 files changed, 14 insertions(+), 9 deletions(-) (limited to 'manifests') diff --git a/manifests/cron/dist_upgrade.pp b/manifests/cron/dist_upgrade.pp index 1c8adb1..68460f2 100644 --- a/manifests/cron/dist_upgrade.pp +++ b/manifests/cron/dist_upgrade.pp @@ -10,14 +10,16 @@ dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-conf package { "apt-listbugs": ensure => absent } - config_file { "/etc/cron-apt/action.d/4-dist-upgrade": + file { "/etc/cron-apt/action.d/4-dist-upgrade": content => $action, - require => Package[cron-apt] + require => Package[cron-apt], + owner => root, group => 0, mode => 0644; } - config_file { "/etc/cron-apt/config.d/MAILON": + file { "/etc/cron-apt/config.d/MAILON": content => "MAILON=upgrade\n", - require => Package[cron-apt] + require => Package[cron-apt], + owner => root, group => 0, mode => 0644; } } diff --git a/manifests/cron/download.pp b/manifests/cron/download.pp index a27967d..a189995 100644 --- a/manifests/cron/download.pp +++ b/manifests/cron/download.pp @@ -3,19 +3,21 @@ 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, } - config_file { "/etc/cron-apt/action.d/3-download": + file { "/etc/cron-apt/action.d/3-download": content => $action, - require => Package[cron-apt] + require => Package[cron-apt], + owner => root, group => 0, mode => 0644; } config_file { "/etc/cron-apt/config.d/MAILON": content => "MAILON=changes\n", - require => Package[cron-apt] + require => Package[cron-apt], + owner => root, group => 0, mode => 0644; } } diff --git a/manifests/init.pp b/manifests/init.pp index e35dd2c..509b6d1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -50,7 +50,7 @@ class apt( $next_codename = debian_nextcodename($::lsbdistcodename) $next_release = debian_nextrelease($release) - config_file { + file { # include main, security and backports # additional sources should be included via the apt::sources_list define "/etc/apt/sources.list": @@ -60,6 +60,7 @@ class apt( }, require => Package['lsb'], notify => Exec['refresh_apt'], + owner => root, group => 0, mode => 0644; } apt_conf { "02show_upgraded": -- cgit v1.2.3 From 5d75c10a4d45da76d2c33d2b3cad49dfb948ceec Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 18 Jun 2012 17:10:40 -0300 Subject: fix relations and finally get rid off config_file --- manifests/cron/download.pp | 2 +- manifests/update.pp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'manifests') diff --git a/manifests/cron/download.pp b/manifests/cron/download.pp index a189995..f4e9184 100644 --- a/manifests/cron/download.pp +++ b/manifests/cron/download.pp @@ -14,7 +14,7 @@ dist-upgrade -d -y -o APT::Get::Show-Upgraded=true owner => root, group => 0, mode => 0644; } - config_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; diff --git a/manifests/update.pp b/manifests/update.pp index ae992f4..9c773ab 100644 --- a/manifests/update.pp +++ b/manifests/update.pp @@ -3,7 +3,7 @@ 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' ], - Config_file['/etc/apt/sources.list'] ], + File['/etc/apt/sources.list'] ], loglevel => info, # Another Semaphor for all packages to reference alias => "apt_updated" -- cgit v1.2.3 From b528cd0005f263b3d2014cdc44d7461577821343 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 22 Aug 2012 10:55:25 -0400 Subject: parameterize the apt::proxy_client class --- manifests/proxy_client.pp | 15 ++++----------- templates/20proxy.erb | 2 +- 2 files changed, 5 insertions(+), 12 deletions(-) (limited to 'manifests') diff --git a/manifests/proxy_client.pp b/manifests/proxy_client.pp index 23e9bd1..c284c74 100644 --- a/manifests/proxy_client.pp +++ b/manifests/proxy_client.pp @@ -1,14 +1,7 @@ -class apt::proxy_client { - - $real_apt_proxy = $apt_proxy ? { - "" => "http://localhost", - default => $apt_proxy - } - - $real_apt_proxy_port = $apt_proxy_port ? { - "" => "3142", - default => $apt_proxy_port - } +class apt::proxy_client( + $proxy = 'http://localhost', + $port = '3142', +){ apt_conf { "20proxy": content => template("apt/20proxy.erb"), diff --git a/templates/20proxy.erb b/templates/20proxy.erb index fd0c7fe..ea706b6 100644 --- a/templates/20proxy.erb +++ b/templates/20proxy.erb @@ -1,5 +1,5 @@ // This file is managed by Puppet // all local modifications will be overwritten -Acquire::http { Proxy "<%= real_apt_proxy %>:<%= real_apt_proxy_port %>"; }; +Acquire::http { Proxy "<%= proxy %>:<%= port %>"; }; Acquire::HTTP::Proxy::bugs.debian.org "DIRECT"; -- cgit v1.2.3 From 978378623d250a06441650dd969eb01f90891b64 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Thu, 20 Sep 2012 02:54:26 -0400 Subject: Stop using config_file from the common module This define doesn't add much of a shortcut and imposes a dependency on the "common" module. We'll be better off with the small repetition but less tightly coupled modules. Sadly, the "common" module is still required, but that is going to be the focus of the commit that follows this one. Signed-off-by: Gabriel Filion --- manifests/cron/dist_upgrade.pp | 17 +++++++++-------- manifests/cron/download.pp | 19 ++++++++++--------- manifests/init.pp | 3 ++- 3 files changed, 21 insertions(+), 18 deletions(-) (limited to 'manifests') diff --git a/manifests/cron/dist_upgrade.pp b/manifests/cron/dist_upgrade.pp index 1c8adb1..bd29784 100644 --- a/manifests/cron/dist_upgrade.pp +++ b/manifests/cron/dist_upgrade.pp @@ -10,14 +10,15 @@ dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-conf package { "apt-listbugs": ensure => absent } - config_file { "/etc/cron-apt/action.d/4-dist-upgrade": - content => $action, - require => Package[cron-apt] - } - - config_file { "/etc/cron-apt/config.d/MAILON": - content => "MAILON=upgrade\n", - require => Package[cron-apt] + file { + "/etc/cron-apt/action.d/4-dist-upgrade": + content => $action, + mode => 0644, owner => root, group => 0, + require => Package[cron-apt]; + "/etc/cron-apt/config.d/MAILON": + content => "MAILON=upgrade\n", + mode => 0644, owner => root, group => 0, + require => Package[cron-apt]; } } diff --git a/manifests/cron/download.pp b/manifests/cron/download.pp index a27967d..5c2d3f9 100644 --- a/manifests/cron/download.pp +++ b/manifests/cron/download.pp @@ -3,19 +3,20 @@ 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, } - config_file { "/etc/cron-apt/action.d/3-download": - content => $action, - require => Package[cron-apt] - } - - config_file { "/etc/cron-apt/config.d/MAILON": - content => "MAILON=changes\n", - require => Package[cron-apt] + file { + "/etc/cron-apt/action.d/3-download": + content => $action, + mode => 0644, owner => root, group => 0, + require => Package[cron-apt]; + "/etc/cron-apt/config.d/MAILON": + content => "MAILON=changes\n", + mode => 0644, owner => root, group => 0, + require => Package[cron-apt]; } } diff --git a/manifests/init.pp b/manifests/init.pp index 2ae691f..9ce7330 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -77,7 +77,7 @@ class apt { $next_codename = debian_nextcodename($codename) $next_release = debian_nextrelease($release) - config_file { + file { # include main, security and backports # additional sources should be included via the apt::sources_list define "/etc/apt/sources.list": @@ -85,6 +85,7 @@ class apt { '' => template( "apt/$operatingsystem/sources.list.erb"), default => $custom_sources_list }, + mode => 0644, owner => root, group => 0, require => Package['lsb'], notify => Exec['refresh_apt'], } -- 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') 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 9d7b48e37cfcf6815ab247b67dd52fdd7c29691e Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Thu, 20 Sep 2012 04:00:38 -0400 Subject: Define an alias when enforcing absence of /etc/apt/preferences This ensures that resources that set a dependecy on the "File['apt_config']" file, as mentioned in the README, can always resolve. Signed-off-by: Gabriel Filion --- manifests/preferences/absent.pp | 1 + 1 file changed, 1 insertion(+) (limited to 'manifests') diff --git a/manifests/preferences/absent.pp b/manifests/preferences/absent.pp index 0e96119..68ab400 100644 --- a/manifests/preferences/absent.pp +++ b/manifests/preferences/absent.pp @@ -1,6 +1,7 @@ class apt::preferences::absent { file { '/etc/apt/preferences': + alias => 'apt_config', ensure => absent, } } -- 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') 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 4204847fdd423dfaff0dafb5130080a30003921f Mon Sep 17 00:00:00 2001 From: nadir Date: Thu, 8 Nov 2012 10:07:38 +0100 Subject: added $apt_disable_update to disable "apt-get update" during puppetruns --- manifests/dist_upgrade.pp | 2 +- manifests/init.pp | 5 +++++ manifests/upgrade_package.pp | 13 ++++++++----- 3 files changed, 14 insertions(+), 6 deletions(-) (limited to 'manifests') diff --git a/manifests/dist_upgrade.pp b/manifests/dist_upgrade.pp index 9e26769..347ccc7 100644 --- a/manifests/dist_upgrade.pp +++ b/manifests/dist_upgrade.pp @@ -1,6 +1,6 @@ class apt::dist_upgrade { - include apt::update + if $apt::disable_update = false { include apt::update } exec { 'apt_dist-upgrade': command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade", diff --git a/manifests/init.pp b/manifests/init.pp index 2ae691f..794347f 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -40,6 +40,11 @@ class apt { '' => 'http://archive.ubuntu.com/ubuntu', default => "${apt_ubuntu_url}", } + $disable_update = $apt_disable_update ? { + '' => false, + default => $apt_disable_update + } + case $operatingsystem { 'debian': { $repos = $apt_repos ? { diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp index 9202624..2ce6932 100644 --- a/manifests/upgrade_package.pp +++ b/manifests/upgrade_package.pp @@ -1,6 +1,8 @@ define apt::upgrade_package ($version = "") { - include apt::update + if $apt::disable_update == false { + include apt::update + } $version_suffix = $version ? { '' => '', @@ -24,10 +26,11 @@ define apt::upgrade_package ($version = "") { 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 => [ - Exec['apt_updated'], - Package['apt-show-versions', 'dctrl-tools'], - ], + require => $apt::disable_update ? { + true => Package['apt-show-versions', 'dctrl-tools'], + default => [ Exec['apt_updated'], + Package['apt-show-versions', 'dctrl-tools'] ], + } } } -- cgit v1.2.3 From 3a473dafd5887cb77b0b764dd951d9581b69f160 Mon Sep 17 00:00:00 2001 From: nadir Date: Tue, 18 Dec 2012 22:31:00 +0100 Subject: comparing variabled should use double quotes (interestingly, it does work with only one too) --- manifests/dist_upgrade.pp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'manifests') diff --git a/manifests/dist_upgrade.pp b/manifests/dist_upgrade.pp index 347ccc7..47b1cff 100644 --- a/manifests/dist_upgrade.pp +++ b/manifests/dist_upgrade.pp @@ -1,6 +1,8 @@ class apt::dist_upgrade { - if $apt::disable_update = false { include apt::update } + if $apt::disable_update == false { + include apt::update + } exec { 'apt_dist-upgrade': command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade", -- cgit v1.2.3 From e66823269e7799d88e5f071b32bd3415c1e477ce Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Tue, 18 Dec 2012 16:41:10 -0500 Subject: switch default $debian_url to use http.debian.net which is more accurate and up-to-date than cdn.debian.net --- manifests/init.pp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index 2ae691f..581f058 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -21,7 +21,7 @@ class apt { } $debian_url = $apt_debian_url ? { - '' => 'http://cdn.debian.net/debian/', + '' => 'http://http.debian.net/debian/', default => "${apt_debian_url}", } $security_url = $apt_security_url ? { @@ -68,6 +68,9 @@ class apt { $codename = $lsbdistcodename $release = $lsbdistrelease } + 'n/a': { + fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.") + } default: { $codename = $lsbdistcodename $release = debian_release($codename) -- cgit v1.2.3 From 7de392c40e0037c2abdf6d659f28212b265a1eb3 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Tue, 18 Dec 2012 16:45:38 -0500 Subject: On a sid system, $lsbdistcodename is reports 'n/a', this doesn't work because the module looks for a template based on the $lsbdistcodename, so you get this error: Could not find template 'apt/Debian/preferences_n/a.erb' The slash in 'n/a' appears to be a path (confusing!) So I've set an error message when 'n/a' is encountered, encouraging the user to set the $lsbdistcodename. I was not confident in the idea of pointing any occurrence of 'n/a' to the sid templates, as I could imagine a case where this might occur on a non-sid system where the lsbdistcodename isn't properly detected --- manifests/init.pp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index 2ae691f..802da3a 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -68,6 +68,9 @@ class apt { $codename = $lsbdistcodename $release = $lsbdistrelease } + 'n/a': { + fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.") + } default: { $codename = $lsbdistcodename $release = debian_release($codename) -- cgit v1.2.3 From 37e40416d2aa7614cfbcd4330d4cd543f9874093 Mon Sep 17 00:00:00 2001 From: nadir Date: Wed, 19 Dec 2012 18:30:29 +0100 Subject: exec{'apt_dist-upgrade'} just requires Exec['apt_updated'] if apt::disable_update if false --- manifests/dist_upgrade.pp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'manifests') diff --git a/manifests/dist_upgrade.pp b/manifests/dist_upgrade.pp index 47b1cff..ed25b0b 100644 --- a/manifests/dist_upgrade.pp +++ b/manifests/dist_upgrade.pp @@ -7,7 +7,10 @@ class apt::dist_upgrade { exec { 'apt_dist-upgrade': command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade", refreshonly => true, - require => Exec['apt_updated'], + require => $apt::disable_update ? { + true => undef, + default => Exec['apt_updated'], + } } } -- cgit v1.2.3 From 09710a29b116427a1bda8641a44d6383975e0844 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Wed, 2 Jan 2013 16:40:26 +0100 Subject: Remove duplicated settings, resulting from wrong merge. --- manifests/init.pp | 1 - 1 file changed, 1 deletion(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index c098ef3..a851011 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -64,7 +64,6 @@ class apt( '' => template( "apt/${::operatingsystem}/sources.list.erb"), default => $custom_sources_list }, - mode => 0644, owner => root, group => 0, require => Package['lsb'], notify => Exec['refresh_apt'], owner => root, group => 0, mode => 0644; -- cgit v1.2.3 From 17f67d9fac83193f4436e82fc6046e065d9ab024 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Wed, 2 Jan 2013 16:54:03 +0100 Subject: Simplify codename handling. Have the codename class parameter default to $::lsbdistcodename, and derive $release from it. --- manifests/init.pp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index a851011..5c0738b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -4,7 +4,7 @@ # See LICENSE for the full license granted to you. class apt( - $codename = '', + $codename = $::lsbdistcodename, $use_volatile = false, $include_src = false, $use_next_release = false, @@ -39,12 +39,8 @@ class apt( include lsb - # init $release, $next_release, $codename, $next_codename, $release_version + # init $release, $next_release, $next_codename, $release_version case $codename { - '': { - $codename = $::lsbdistcodename - $release = $::lsbdistrelease - } 'n/a': { fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.") } -- 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') 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 From 1fe1fe66c3f75987833756ff22427af4821b3700 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Thu, 3 Jan 2013 19:57:44 +0100 Subject: Fix overzealous linting. We do want to see \n expanded in this string. --- manifests/cron/dist_upgrade.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'manifests') diff --git a/manifests/cron/dist_upgrade.pp b/manifests/cron/dist_upgrade.pp index a880a66..74403bb 100644 --- a/manifests/cron/dist_upgrade.pp +++ b/manifests/cron/dist_upgrade.pp @@ -19,7 +19,7 @@ dist-upgrade -y -o APT::Get::Show-Upgraded=true -o 'DPkg::Options::=--force-conf } file { '/etc/cron-apt/config.d/MAILON': - content => 'MAILON=upgrade\n', + content => "MAILON=upgrade\n", owner => root, group => 0, mode => '0644', -- cgit v1.2.3 From 2fe3df225c1144d108a7f33f90344310b55687a4 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Thu, 3 Jan 2013 14:55:55 -0500 Subject: replace a missed Concat reference change with File['apt_config'] --- manifests/unattended_upgrades.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'manifests') diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index 37e8321..d2a2352 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -15,7 +15,7 @@ class apt::unattended_upgrades { if $apt::custom_preferences != false { Apt_conf['50unattended-upgrades'] { - before => Concat['apt_config'], + before => File['apt_config'], } } } -- cgit v1.2.3 From 14670466be5eceba043e697d5f6f0f0ada9d5b07 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Tue, 8 Jan 2013 18:13:23 +0100 Subject: Don't check for source / content to be set when removing an APT source. Else, the sanity checks prevent one from using a simple apt::sources_list { "sid.list": ensure => absent } --- manifests/sources_list.pp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'manifests') diff --git a/manifests/sources_list.pp b/manifests/sources_list.pp index 00f6097..3367f83 100644 --- a/manifests/sources_list.pp +++ b/manifests/sources_list.pp @@ -4,11 +4,13 @@ define apt::sources_list ( $content = undef ) { - if $source == '' and $content == undef { - fail("One of \$source or \$content must be specified for apt_sources_snippet ${name}") - } - if $source != '' and $content != undef { - fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}") + if $ensure == 'present' { + if $source == '' and $content == undef { + fail("One of \$source or \$content must be specified for apt_sources_snippet ${name}") + } + if $source != '' and $content != undef { + fail("Only one of \$source or \$content must specified for apt_sources_snippet ${name}") + } } include apt::dot_d_directories -- cgit v1.2.3 From d51e2af9d452731f63b2fe16391e9cd2ff9d640f Mon Sep 17 00:00:00 2001 From: intrigeri Date: Wed, 23 Jan 2013 23:10:40 +0100 Subject: Don't check for a package priority to be set when removing an APT preferences snippet. The problem I'm facing is that the sanity checks prevent one from using a simple: apt::preferences_snippet { "bla": ensure => absent } So, first set a default value for the `priority' parameter, so that it's not required anymore. Second, add a sanity check to error out when priority is not set, to get the safe old behaviour. Then, wrap all sanity checks about arguments within a "if $ensure == 'present'" block. --- manifests/preferences_snippet.pp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'manifests') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 0bff85c..5ae748b 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -1,5 +1,5 @@ define apt::preferences_snippet ( - $priority, + $priority = undef, $package = false, $ensure = 'present', $source = '', @@ -12,15 +12,21 @@ define apt::preferences_snippet ( default => $package, } - if $custom_preferences == false { - fail('Trying to define a preferences_snippet with $custom_preferences set to false.') - } + if $ensure == 'present' { + if $custom_preferences == 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') - } - if $pin and $release { - fail('apt::preferences_snippet requires either a \'pin\' or \'release\' argument, not both') + if $priority == undef { + fail('apt::preferences_snippet requires the \'priority\' argument to be set') + } + + if !$pin and !$release { + 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') + } } file { "/etc/apt/preferences.d/${name}": -- cgit v1.2.3