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. --- files/50unattended-upgrades | 57 ------------------------------------- files/lenny/50unattended-upgrades | 57 +++++++++++++++++++++++++++++++++++++ files/squeeze/50unattended-upgrades | 57 +++++++++++++++++++++++++++++++++++++ manifests/unattended_upgrades.pp | 3 +- 4 files changed, 115 insertions(+), 59 deletions(-) delete mode 100644 files/50unattended-upgrades create mode 100644 files/lenny/50unattended-upgrades create mode 100644 files/squeeze/50unattended-upgrades diff --git a/files/50unattended-upgrades b/files/50unattended-upgrades deleted file mode 100644 index fbab858..0000000 --- a/files/50unattended-upgrades +++ /dev/null @@ -1,57 +0,0 @@ -// this file is managed by puppet ! -// -//See https://wiki.ubuntu.com/AutomaticUpdates for more details about this feature. - -// allowed (origin, archive) pairs -Unattended-Upgrade::Allowed-Origins { - "Debian stable"; - "Debian-Security stable"; -// "Debian testing"; -}; - -APT::Periodic::Update-Package-Lists "1"; -APT::Periodic::Unattended-Upgrade "1"; -Unattended-Upgrade::Mail "root"; - -APT::UnattendedUpgrades::LogDir "/var/log/"; -APT::UnattendedUpgrades::LogFile "unattended_upgrades.log"; - -Unattended-Upgrade::Package-Blacklist { - // we don't want the kernel to be updated so nagios still can give a warning if there is - // a manual update (and reboot) left - - "linux-image-*"; - - // unfortunately there seems to be a bug in unattended-upgrades <= 0.62 that wildcards aren't recognized: - //2009-12-11 13:41:43,267 INFO Initial blacklisted packages: linux-image-* - //2009-12-11 13:41:43,267 INFO Starting unattended upgrades script - //2009-12-11 13:41:43,267 INFO Allowed origins are: ["['Debian', 'stable']", "['Debian-Security', 'stable']"] - //2009-12-11 13:41:45,233 INFO Packages that are upgraded: linux-image-2.6.26-2-amd64 - //2009-12-11 13:41:45,233 INFO Writing dpkg log to '/var/log/unattended-upgrades-dpkg_2009-12-11_13:41:45.233713.log' - //2009-12-11 13:42:11,988 INFO All upgrades installed - - // lenny - "linux-image-2.6.26-1-686"; - "linux-image-2.6.26-1-amd64"; - "linux-image-2.6.26-1-xen-686"; - "linux-image-2.6.26-1-xen-amd64"; - "linux-image-2.6.26-1-vserver-686"; - "linux-image-2.6.26-1-vserver-amd64"; - - "linux-image-2.6.26-2-686"; - "linux-image-2.6.26-2-amd64"; - "linux-image-2.6.26-2-xen-686"; - "linux-image-2.6.26-2-xen-amd64"; - "linux-image-2.6.26-2-vserver-686"; - "linux-image-2.6.26-2-vserver-amd64"; - - // squeeze - "linux-image-2.6.32-5-686"; - "linux-image-2.6.32-5-amd64"; - "linux-image-2.6.32-5-xen-686"; - "linux-image-2.6.32-5-xen-amd64"; - "linux-image-2.6.32-5-vserver-686"; - "linux-image-2.6.32-5-vserver-amd64"; - -}; - diff --git a/files/lenny/50unattended-upgrades b/files/lenny/50unattended-upgrades new file mode 100644 index 0000000..0841811 --- /dev/null +++ b/files/lenny/50unattended-upgrades @@ -0,0 +1,57 @@ +// this file is managed by puppet ! +// +//See https://wiki.ubuntu.com/AutomaticUpdates for more details about this feature. + +// allowed (origin, archive) pairs +Unattended-Upgrade::Allowed-Origins { + "Debian lenny"; + "Debian-Security lenny"; +// "Debian testing"; +}; + +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Unattended-Upgrade "1"; +Unattended-Upgrade::Mail "root"; + +APT::UnattendedUpgrades::LogDir "/var/log/"; +APT::UnattendedUpgrades::LogFile "unattended_upgrades.log"; + +Unattended-Upgrade::Package-Blacklist { + // we don't want the kernel to be updated so nagios still can give a warning if there is + // a manual update (and reboot) left + + "linux-image-*"; + + // unfortunately there seems to be a bug in unattended-upgrades <= 0.62 that wildcards aren't recognized: + //2009-12-11 13:41:43,267 INFO Initial blacklisted packages: linux-image-* + //2009-12-11 13:41:43,267 INFO Starting unattended upgrades script + //2009-12-11 13:41:43,267 INFO Allowed origins are: ["['Debian', 'stable']", "['Debian-Security', 'stable']"] + //2009-12-11 13:41:45,233 INFO Packages that are upgraded: linux-image-2.6.26-2-amd64 + //2009-12-11 13:41:45,233 INFO Writing dpkg log to '/var/log/unattended-upgrades-dpkg_2009-12-11_13:41:45.233713.log' + //2009-12-11 13:42:11,988 INFO All upgrades installed + + // lenny + "linux-image-2.6.26-1-686"; + "linux-image-2.6.26-1-amd64"; + "linux-image-2.6.26-1-xen-686"; + "linux-image-2.6.26-1-xen-amd64"; + "linux-image-2.6.26-1-vserver-686"; + "linux-image-2.6.26-1-vserver-amd64"; + + "linux-image-2.6.26-2-686"; + "linux-image-2.6.26-2-amd64"; + "linux-image-2.6.26-2-xen-686"; + "linux-image-2.6.26-2-xen-amd64"; + "linux-image-2.6.26-2-vserver-686"; + "linux-image-2.6.26-2-vserver-amd64"; + + // squeeze + "linux-image-2.6.32-5-686"; + "linux-image-2.6.32-5-amd64"; + "linux-image-2.6.32-5-xen-686"; + "linux-image-2.6.32-5-xen-amd64"; + "linux-image-2.6.32-5-vserver-686"; + "linux-image-2.6.32-5-vserver-amd64"; + +}; + diff --git a/files/squeeze/50unattended-upgrades b/files/squeeze/50unattended-upgrades new file mode 100644 index 0000000..a1822e7 --- /dev/null +++ b/files/squeeze/50unattended-upgrades @@ -0,0 +1,57 @@ +// this file is managed by puppet ! +// +//See https://wiki.ubuntu.com/AutomaticUpdates for more details about this feature. + +// allowed (origin, archive) pairs +Unattended-Upgrade::Allowed-Origins { + "Debian squeeze"; + "Debian-Security squeeze"; +// "Debian testing"; +}; + +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Unattended-Upgrade "1"; +Unattended-Upgrade::Mail "root"; + +APT::UnattendedUpgrades::LogDir "/var/log/"; +APT::UnattendedUpgrades::LogFile "unattended_upgrades.log"; + +Unattended-Upgrade::Package-Blacklist { + // we don't want the kernel to be updated so nagios still can give a warning if there is + // a manual update (and reboot) left + + "linux-image-*"; + + // unfortunately there seems to be a bug in unattended-upgrades <= 0.62 that wildcards aren't recognized: + //2009-12-11 13:41:43,267 INFO Initial blacklisted packages: linux-image-* + //2009-12-11 13:41:43,267 INFO Starting unattended upgrades script + //2009-12-11 13:41:43,267 INFO Allowed origins are: ["['Debian', 'stable']", "['Debian-Security', 'stable']"] + //2009-12-11 13:41:45,233 INFO Packages that are upgraded: linux-image-2.6.26-2-amd64 + //2009-12-11 13:41:45,233 INFO Writing dpkg log to '/var/log/unattended-upgrades-dpkg_2009-12-11_13:41:45.233713.log' + //2009-12-11 13:42:11,988 INFO All upgrades installed + + // lenny + "linux-image-2.6.26-1-686"; + "linux-image-2.6.26-1-amd64"; + "linux-image-2.6.26-1-xen-686"; + "linux-image-2.6.26-1-xen-amd64"; + "linux-image-2.6.26-1-vserver-686"; + "linux-image-2.6.26-1-vserver-amd64"; + + "linux-image-2.6.26-2-686"; + "linux-image-2.6.26-2-amd64"; + "linux-image-2.6.26-2-xen-686"; + "linux-image-2.6.26-2-xen-amd64"; + "linux-image-2.6.26-2-vserver-686"; + "linux-image-2.6.26-2-vserver-amd64"; + + // squeeze + "linux-image-2.6.32-5-686"; + "linux-image-2.6.32-5-amd64"; + "linux-image-2.6.32-5-xen-686"; + "linux-image-2.6.32-5-xen-amd64"; + "linux-image-2.6.32-5-vserver-686"; + "linux-image-2.6.32-5-vserver-amd64"; + +}; + 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 b3246e964525f1ca46a65e835b38cc2c46b88cf2 Mon Sep 17 00:00:00 2001 From: mh Date: Tue, 7 Jun 2011 01:02:01 +0200 Subject: fixing unattended upgrade We should use the correct origin archive. Lenny is oldstable. --- files/lenny/50unattended-upgrades | 4 ++-- files/squeeze/50unattended-upgrades | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/files/lenny/50unattended-upgrades b/files/lenny/50unattended-upgrades index 0841811..768bef8 100644 --- a/files/lenny/50unattended-upgrades +++ b/files/lenny/50unattended-upgrades @@ -4,8 +4,8 @@ // allowed (origin, archive) pairs Unattended-Upgrade::Allowed-Origins { - "Debian lenny"; - "Debian-Security lenny"; + "Debian oldstable"; + "Debian-Security oldstable"; // "Debian testing"; }; diff --git a/files/squeeze/50unattended-upgrades b/files/squeeze/50unattended-upgrades index a1822e7..fbab858 100644 --- a/files/squeeze/50unattended-upgrades +++ b/files/squeeze/50unattended-upgrades @@ -4,8 +4,8 @@ // allowed (origin, archive) pairs Unattended-Upgrade::Allowed-Origins { - "Debian squeeze"; - "Debian-Security squeeze"; + "Debian stable"; + "Debian-Security stable"; // "Debian testing"; }; -- 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(-) 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(-) 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(-) 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 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(-) 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(-) 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(-) 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(-) 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(-) 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 f823fcd5b7408d7d690cfc5c5063e28db06271a4 Mon Sep 17 00:00:00 2001 From: mh Date: Mon, 18 Jun 2012 17:33:42 -0300 Subject: fix auto repo selection the actual repos are in real_repos as by default we have auto. --- templates/Debian/sources.list.erb | 36 ++++++++++++++++++------------------ templates/Ubuntu/sources.list.erb | 16 ++++++++-------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/templates/Debian/sources.list.erb b/templates/Debian/sources.list.erb index eaee338..ddfcaab 100644 --- a/templates/Debian/sources.list.erb +++ b/templates/Debian/sources.list.erb @@ -4,18 +4,18 @@ ### Debian current: <%= codename = scope.lookupvar('::lsbdistcodename') %> # basic -deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= repos=scope.lookupvar('apt::repos') %> +deb <%= debian_url=scope.lookupvar('apt::debian_url') %> <%= codename %> <%= lrepos=scope.lookupvar('apt::real_repos') %> <% if scope.lookupvar('apt::include_src') -%> -deb-src <%= debian_url %> <%= codename %> <%= repos %> +deb-src <%= debian_url %> <%= codename %> <%= lrepos %> <% end -%> # security <% if ((release=scope.lookupvar('apt::release')) == "unstable" || release == "experimental") -%> # There is no security support for <%= release %> <% else -%> -deb <%= security_url=scope.lookupvar('apt::security_url') %> <%= codename %>/updates <%= repos %> +deb <%= security_url=scope.lookupvar('apt::security_url') %> <%= codename %>/updates <%= lrepos %> <% if include_src -%> -deb-src <%= security_url %> <%= codename %>/updates <%= repos %> +deb-src <%= security_url %> <%= codename %>/updates <%= lrepos %> <% end -%> <% end -%> @@ -23,9 +23,9 @@ 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=scope.lookupvar('apt::backports_url') %> <%= codename %>-backports <%= repos %> +deb <%= backports_url=scope.lookupvar('apt::backports_url') %> <%= codename %>-backports <%= lrepos %> <% if include_src -%> -deb-src <%= backports_url %> <%= codename %>-backports <%= repos %> +deb-src <%= backports_url %> <%= codename %>-backports <%= lrepos %> <% end -%> <% end -%> @@ -35,14 +35,14 @@ deb-src <%= backports_url %> <%= codename %>-backports <%= repos %> # There is no volatile archive for <%= release %> <% else -%> <% if (codename == "lenny" || codename == "etch") -%> -deb <%= volatile_url=scope.lookupvar('apt::volatile_url') %> <%= codename %>/volatile <%= repos %> +deb <%= volatile_url=scope.lookupvar('apt::volatile_url') %> <%= codename %>/volatile <%= lrepos %> <% if include_src -%> -deb-src <%= volatile_url %> <%= codename %>/volatile <%= repos %> +deb-src <%= volatile_url %> <%= codename %>/volatile <%= lrepos %> <% end -%> <% else -%> -deb <%= debian_url %> <%= codename %>-updates <%= repos %> +deb <%= debian_url %> <%= codename %>-updates <%= lrepos %> <% if include_src -%> -deb-src <%= debian_url %> <%= codename %>-updates <%= repos %> +deb-src <%= debian_url %> <%= codename %>-updates <%= lrepos %> <% end -%> <% end -%> <% end -%> @@ -52,18 +52,18 @@ deb-src <%= debian_url %> <%= codename %>-updates <%= repos %> ### Debian next: <%= next_codename=scope.lookupvar('apt::next_codename') %> # basic -deb <%= debian_url %> <%= next_codename %> <%= repos %> +deb <%= debian_url %> <%= next_codename %> <%= lrepos %> <% if include_src then -%> -deb-src <%= debian_url %> <%= next_codename %> <%= repos %> +deb-src <%= debian_url %> <%= next_codename %> <%= lrepos %> <% end -%> # security <% if (next_release == "unstable" || next_release == "experimental") -%> # There is no security support for <%= next_release %> <% else -%> -deb <%= security_url %> <%= next_codename %>/updates <%= repos %> +deb <%= security_url %> <%= next_codename %>/updates <%= lrepos %> <% if include_src then -%> -deb-src <%= security_url %> <%= next_codename %>/updates <%= repos %> +deb-src <%= security_url %> <%= next_codename %>/updates <%= lrepos %> <% end -%> <% end -%> @@ -73,14 +73,14 @@ deb-src <%= security_url %> <%= next_codename %>/updates <%= repos %> # There is no volatile archive for <%= next_release %> <% else -%> <% if (next_codename == "lenny" || next_codename == "etch") -%> -deb <%= volatile_url %> <%= next_codename %>/volatile <%= repos %> +deb <%= volatile_url %> <%= next_codename %>/volatile <%= lrepos %> <% if include_src then -%> -deb-src <%= volatile_url %> <%= next_codename %>/volatile <%= repos %> +deb-src <%= volatile_url %> <%= next_codename %>/volatile <%= lrepos %> <% end -%> <% else -%> -deb <%= debian_url %> <%= next_codename %>-updates <%= repos %> +deb <%= debian_url %> <%= next_codename %>-updates <%= lrepos %> <% if include_src then -%> -deb-src <%= debian_url %> <%= next_codename %>-updates <%= repos %> +deb-src <%= debian_url %> <%= next_codename %>-updates <%= lrepos %> <% end -%> <% end -%> <% end -%> diff --git a/templates/Ubuntu/sources.list.erb b/templates/Ubuntu/sources.list.erb index c1a6c1e..ed31fbc 100644 --- a/templates/Ubuntu/sources.list.erb +++ b/templates/Ubuntu/sources.list.erb @@ -2,25 +2,25 @@ # all local modifications will be overwritten # basic <%= lsbdistcodename=scope.lookupvar('::lsbdistcodename') %> -deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= lsbdistcodename %> <%= repos=scope.lookupvar('apt::repos') %> +deb <%= ubuntu_url=scope.lookupvar('apt::ubuntu_url') %> <%= lsbdistcodename %> <%= lrepos=scope.lookupvar('apt::real_repos') %> <% if include_src=scope.lookupvar('apt::include_src') -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %> <%= repos %> +deb-src <%= ubuntu_url %> <%= lsbdistcodename %> <%= lrepos %> <% end -%> # updates -deb <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= repos %> +deb <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= lrepos %> <% if include_src -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= repos %> +deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-updates <%= lrepos %> <% end -%> # security suppport -deb <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= repos %> +deb <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= lrepos %> <% if include_src -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= repos %> +deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-security <%= lrepos %> <% end -%> # backports -deb <%= ubuntu_url %> <%= lsbdistcodename %>-backports main <%= repos %> +deb <%= ubuntu_url %> <%= lsbdistcodename %>-backports main <%= lrepos %> <% if include_src -%> -deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-backports <%= repos %> +deb-src <%= ubuntu_url %> <%= lsbdistcodename %>-backports <%= lrepos %> <% end -%> -- 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(-) 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 460c1d54d1d04c1dd648d60a0b10f473d801f9b8 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Wed, 22 Aug 2012 10:57:06 -0400 Subject: Add upgrade notices about the changes to parameterized classes; add a Requirements header; move things that used to be called variables into the appropriate parameterized class section --- README | 210 +++++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 140 insertions(+), 70 deletions(-) diff --git a/README b/README index 404a5cf..f4b6566 100644 --- a/README +++ b/README @@ -15,6 +15,67 @@ prevent accidental upgrades. Ubuntu support is lagging behind but not absent either. +! Upgrade Notice ! + + * the apt class has been moved to a paramterized class. if you were including + this class before, after passing some variables, you will need to move to + instantiating the class with those variables instead. For example, if you + had the following in your manifests: + + $apt_debian_url = "http://localhost:9999/debian/" + $apt_use_next_release = true + include apt + + you will need to remove the variables, and the include and instead do + the following: + + class { 'apt': debian_url => "http://localhost:9999/debian/", use_next_release => true } + + * 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: + + $apticron_email = "foo@example.com" + $apticron_notifynew = "1" + ... any $apticron_* variables + include apticron + + you will need to remove the variables, and the include and instead do the + following: + + class { 'apt::apticron': email => "foo@example.com", notifynew => '1' } + + * the apt::listchanges class has been moved to a paramterized class. if you + were including this class before, after passing some variables, you will need + to move to instantiating the class with those variables instead. For example, + if you had the following in your manifests: + + $apt_listchanges_email = "foo@example.com" + ... any $apt_listchanges_* variables + include apt::listchanges + + you will need to remove the variables, and the include and instead do the + following: + + class { 'apt::listchanges': email => "foo@example.com" } + + * the apt::proxy_client class has been moved to a paramterized class. if you + were including this class before, after passing some variables, you will need + to move to instantiating the class with those variables instead. For example, + if you had the following in your manifests: + + $apt_proxy = 'http://proxy.domain' + $apt_proxy_port = 666 + include apt::proxy_client + + you will need to remove the variables, and the include and instead do the + following: + + class { 'apt::proxy_client': proxy => 'http://proxy.domain', port => '666' } + +Requirements +============ + This module needs: - the lsb module: git://labs.riseup.net/shared-lsb @@ -65,26 +126,6 @@ pull in the templates/site_apt/sources.list file: $custom_sources_list = template("site_apt/sources.list") -$custom_preferences -------------------- - -Since Debian Lenny's version of APT doesn't support the use of the -preferences.d directory for putting fragments of 'preferences', this -module will manage a default generic apt/preferences file with more -recent releases pinned to very low values so that any package -installation will not accidentally pull in packages from those suites -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') ) - -Setting this variable to false before including this class will force the -apt/preferences file to be absent: - - $custom_preferences = false - $custom_key_dir --------------- @@ -96,92 +137,110 @@ exist there, this module will 'apt-key add' each key. The debian-archive-keyring package is installed and kept current up to the latest revision (this includes the backports archive keyring). -$apt_proxy / $apt_proxy_port ----------------------------- -When you include the apt::proxy_client class in your nodes, you can set the -$apt_proxy variable to the URL of the proxy that will be used. -By default, the proxy will be queried on port 3142, but you can change the port -number by setting the $apt_proxy_port variable. +Classes +======= -Here's an example of setting the proxy to 'http://proxy.domain' at port 666: +apt +--- + +The apt class sets up most of the documented functionality. To use functionality +that is not enabled by default, you must set one of the following parameters. + +Example usage: - $apt_proxy = 'http://proxy.domain' - $apt_proxy_port = 666 - include apt::proxy_client + class { 'apt': use_next_release => true, debian_url => 'http://localhost:9999/debian/" } -$apt_volatile_enabled +volatile_enabled ----------------- If this variable is set to true the Debian Volatile sources (until Lenny) or CODENAME-updates (such as squeeze-updates, supported since Squeeze) are added. + By default this is false for backward compatibility with older versions of this module. -$apt_include_src ----------------- +include_src +------------ If this variable is set to true a deb-src source is added for every added binary archive source. + By default this is false for backward compatibility with older versions of this module. -$apt_use_next_release ---------------------- +use_next_release +----------------- If this variable is set to true the sources for the next Debian release are added. The default pinning configuration pins it to very low values. + By default this is false for backward compatibility with older versions of this module. -$apt_debian_url, $apt_security_url, $apt_backports_url, $apt_volatile_url -------------------------------------------------------------------------- +debian_url, security_url, backports_url, volatile_url +------------------------------------------------------ These variables allow to override the default APT mirrors respectively used for the standard Debian archives, the Debian security archive, the Debian official backports and the Debian Volatile archive. -$apt_ubuntu_url +apt_ubuntu_url --------------- These variables allows to override the default APT mirror used for all standard Ubuntu archives (including updates, security, backports). -$apt_repos +apt_repos ---------- If this variable is set the default repositories list ("main contrib non-free") is overriden. -Classes -======= +custom_preferences +------------------- -apt ---- +Since Debian Lenny's version of APT doesn't support the use of the +preferences.d directory for putting fragments of 'preferences', this +module will manage a default generic apt/preferences file with more +recent releases pinned to very low values so that any package +installation will not accidentally pull in packages from those suites +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') ) + +Setting this variable to false before including this class will force the +apt/preferences file to be absent: + + class { 'apt': custom_preferences => false } -The apt class sets up most of the documented functionality. To use -functionality that is not enabled by default, you must include one of -the following classes. apt::apticron ------------- -When you include this class, apticron will be installed, with the following -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_diff_only = "1" - $apticron_listchanges_profile = "apticron" - $apticron_system = false - $apticron_ipaddressnum = false - $apticron_ipaddresses = false - $apticron_notifyholds = "0" - $apticron_notifynew = "0" - $apticron_customsubject = "" +When you instantiate this class, apticron will be installed, with the following +defaults, which you are free to change: + + $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 = '' + +Example usage: + + class { 'apt::apticron': email => "foo@example.com", notifynew => '1' } apt::cron::download ------------------- @@ -254,22 +313,33 @@ suppress superfluous help screens. apt::listchanges ---------------- -This class, when included, installs apt-listchanges and configures it using the -following variables, the defaults are below: +This class, when instantiated, installs apt-listchanges and configures it using +the following parameterized variables, which can be changed: - $apt_listchanges_version = "present" - $apt_listchanges_config = "apt/${::operatingsystem}/listchanges_${::lsbrelease}.erb" - $apt_listchanges_frontend = "pager" - $apt_listchanges_email = "root" - $apt_listchanges_confirm = "0" - $apt_listchanges_saveseen = "/var/lib/apt/listchanges.db" - $apt_listchanges_which = "both" + version = "present" + config = "apt/${::operatingsystem}/listchanges_${::lsbrelease}.erb" + frontend = "pager" + email = "root" + confirm = "0" + saveseen = "/var/lib/apt/listchanges.db" + which = "both" + Example usage: + class { 'apt::listchanges': email => "foo@example.com" } + apt::proxy_client ----------------- This class adds the right configuration to apt to make it fetch packages via a -proxy. The variables $apt_proxy and $apt_proxy_port need to be set (see above). +proxy. The class parameters apt_proxy and apt_proxy_port need to be set: + +You can set the 'proxy' class parameter variable to the URL of the proxy that +will be used. By default, the proxy will be queried on port 3142, but you can +change the port number by setting the 'port' class parameter. + +Example: + + class { 'apt::proxy_client': proxy => 'http://proxy.domain', port => '666' } apt::reboot_required_notify --------------------------- -- 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(-) 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