From 92fd1d13513d2cec5ea95652b7b0c5fa0f6b1111 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Thu, 2 Sep 2010 19:14:23 -0400 Subject: quote all aliases to be consistent --- manifests/init.pp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index af860f7..0116ff8 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -36,7 +36,7 @@ class apt { default: { config_file { "/etc/apt/preferences": content => $custom_preferences, - alias => apt_config, + alias => "apt_config", require => File["/etc/apt/sources.list"]; } } @@ -60,14 +60,14 @@ class apt { subscribe => [ File["/etc/apt/sources.list"], File["/etc/apt/preferences"], File["/etc/apt/apt.conf.d"], - Config_file[apt_config] ]; + Config_file["apt_config"] ]; 'update_apt': command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', require => [ File["/etc/apt/sources.list"], - File["/etc/apt/preferences"], Config_file[apt_config] ], + File["/etc/apt/preferences"], Config_file["apt_config"] ], loglevel => info, # Another Semaphor for all packages to reference - alias => apt_updated; + alias => "apt_updated"; } ## This package should really always be current @@ -88,7 +88,7 @@ class apt { alias => "backports_key", refreshonly => true, subscribe => File["${apt_base_dir}/backports.org.key"], - before => [ File[apt_config], Package["debian-backports-keyring"] ] + before => [ File["apt_config"], Package["debian-backports-keyring"] ] } } lenny: { @@ -105,7 +105,7 @@ class apt { alias => "backports_key", refreshonly => true, subscribe => File["${apt_base_dir}/backports.org.key"], - before => [ Config_file[apt_config], Package["debian-backports-keyring"] ] + before => [ Config_file["apt_config"], Package["debian-backports-keyring"] ] } } } @@ -124,7 +124,7 @@ class apt { alias => "custom_keys", subscribe => File["${apt_base_dir}/keys.d"], refreshonly => true, - before => Config_file[apt_config]; + before => Config_file["apt_config"]; } } } -- cgit v1.2.3 From cb9e265ad23178d47970e28458b8a426d9400d92 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Thu, 2 Sep 2010 19:15:47 -0400 Subject: clean up the multiple File subscribes --- manifests/init.pp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index 0116ff8..497077b 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -57,14 +57,11 @@ class apt { 'refresh_apt': command => '/usr/bin/apt-get update && sleep 1', refreshonly => true, - subscribe => [ File["/etc/apt/sources.list"], - File["/etc/apt/preferences"], - File["/etc/apt/apt.conf.d"], + subscribe => [ File["/etc/apt/sources.list", "/etc/apt/preferences", "/etc/apt/apt.conf.d"], Config_file["apt_config"] ]; 'update_apt': command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', - require => [ File["/etc/apt/sources.list"], - File["/etc/apt/preferences"], Config_file["apt_config"] ], + require => [ File["/etc/apt/sources.list", "/etc/apt/preferences"], Config_file["apt_config"] ], loglevel => info, # Another Semaphor for all packages to reference alias => "apt_updated"; -- cgit v1.2.3 From 356ff9334078198fde39fe5c8e8212109d6537a0 Mon Sep 17 00:00:00 2001 From: Matt Taggart Date: Wed, 8 Sep 2010 15:39:33 -0700 Subject: backports.org has merged with the normal debian archive, the apt source changed and we don't need a separate apt-key for it now --- README | 6 +----- files/backports.org.key | 33 ------------------------------ manifests/init.pp | 39 ++---------------------------------- templates/sources.list.backports.erb | 2 +- 4 files changed, 4 insertions(+), 76 deletions(-) delete mode 100644 files/backports.org.key (limited to 'manifests') diff --git a/README b/README index 1234ce2..131ae1d 100644 --- a/README +++ b/README @@ -7,7 +7,7 @@ This module manages apt on Debian. It keeps dpkg's and apt's databases as well as the keyrings for securing package download current. -backports.org is added and an archive key is provided[1]. +backports.debian.org is added. dselect is switched to expert mode to suppress superfluous help screens. @@ -139,7 +139,3 @@ Sometimes -- especially when initially starting management or deploying new packages -- a immediate update is really needed to be able to install the right packages without errors. Thus a method should be devised to be able to specify with high fidelity when a update should be run and when it is not needed. - - - -[1] Of course, you should check the validity of _this_ key yourself. diff --git a/files/backports.org.key b/files/backports.org.key deleted file mode 100644 index 6e66404..0000000 --- a/files/backports.org.key +++ /dev/null @@ -1,33 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.3 (GNU/Linux) - -mQGiBEMIgw4RBADueqAzlq+rQT9JYSSWnNzo6C+9crI8lzW/fcl2Q3PO97MOQTOx -Qsf/lOh0Ku7O+VdBa+BwVPuUkSw6wTY5Ku1y/6r1BQzJ9oHkryDDJXsHzKhpdyFc -/lD4hNGqRkiNg5ulwAI0O1eqffPWDmeR9ZzSsqM40f1U4TNLfPAu1viWxwCgnbWz -onY6RqSYlRsDQaPsNTwieVEEAJeX2FGgNepD1SvfEremAkWCrYYlSZI76iTIf6bd -kGkWqIT0vJyE2MNenhDJ2ebbHJVFmL9x8S3m1daC4Zwnacm7aoCY/QgMJ+Js1Fex -Acev48W9KHgpVbFMd1t8KAwRbmFcQf0C/FZUbE7xScpTxS4z3SsMOuRyfnGpDOi6 -m/SnA/9wpquf3pPwbPykzKWNJEDouiJgt0zaFLauKDPeyTWeJ6htaAPDglArewdq -bJ9M8QgLFtzjhg/fBQlRRUk7YP4OYtp1OdPkg2D/1rPQNySWlDf21T3N/K8ydKhR -bYi+AsPuJLQUi3d+lVTFOebaL9felePvDC2/Eod7PSD1/rnkZ7Q0QmFja3BvcnRz -Lm9yZyBBcmNoaXZlIEtleSA8ZnRwLW1hc3RlckBiYWNrcG9ydHMub3JnPohGBBAR -AgAGBQJDgImkAAoJEHFe1qB+e4rJ2x4An2oI4xJpDvOx8uDIo9ihG1M0MpUqAJ9S -cqVUmiyYSPtu8MwcZecy9kmOIYheBBMRAgAeBQJDCIMOAhsDBgsJCAcDAgMVAgMD -FgIBAh4BAheAAAoJEOqOiyEWuhNsDt4AniaEBvlr4oVFMrGgPiye7iE/jv68AJ48 -OkIfwcKJt7N8ImPAboeimFvWgIheBBMRAgAeBQJDCIMOAhsDBgsJCAcDAgMVAgMD -FgIBAh4BAheAAAoJEOqOiyEWuhNsDt4AnjdB14rGa/rzz1ohwsi1oEnDRYuyAJ44 -Nv8MTPjOaeEZArQ0flg8OXwF37kCDQRDCIMREAgAzXu6DGSDAz4JH+mlthtiQwNZ -FU8bjWanGT3DL6zubxwc3ZQmRaMOiVuvJUuaJv8fdGRSvp09dP2/x5mzq2rACiEn -DwZssNSK5sigxgy2W9zeO9bOtg6bhqZLwlsL8Y2xZhyGL3qGeP4zL1QbXZ1QdJuO -90Xu7GWYS6Wsj+Y6dUsZFYvTZwSiLkEmgFUTxkNue3DQtZ/KNkwoKc+aqU+S7gDN -StQDvTNtR6IV11KbKcY1iQ0B2bkh4zShWwloIr83V6huAhfH8GA7UW6saRJAof5D -JWUb+PRmU2TAOOlyZoM4nMH+sFFDPOeG8fbecwlox5BRTMqcCB5ELbQXoVZT+wAD -BQf/ffI9R53f9USQkhsSak+k82JjRo9hqKAvPwBv3fDhMYqX3XRmwgNeax2y6Ub0 -AQkDhIC6eJILP5hTb2gjpmYYP7YE/7F1h37lUg7dDYeyPQF54mUXPnIg3uQ/V9HB -TY+ZW8rsVe1KRvPAuVFU77FfCvIFdLSXVi1HSUcGv9Y7Kk4Tkr7vzKshlcIp6zZr -O0Y3t/+ekBwTTQqEoUylVYkCSt3z6bjpVWbepkL88rbqJnPueTATw9shjbFYaND8 -cXZox9tQmlOIZ6gDeH1YvFf7ObRLxULm7C6hwik6agtXWkNABVXSxM6MB4hcP9QC -+FEhK6y/7wC3SyNRBuFujDG1aohJBBgRAgAJBQJDCIMRAhsMAAoJEOqOiyEWuhNs -VVMAoJ1gbL0PHVf7yDwMjO3HuJBErxLdAJ4v9ojJnvJu2yUl4W586soBm+wsLg== -=fBrI ------END PGP PUBLIC KEY BLOCK----- diff --git a/manifests/init.pp b/manifests/init.pp index 497077b..774f9e4 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -69,44 +69,9 @@ class apt { ## This package should really always be current package { "debian-archive-keyring": ensure => latest } + # backports uses the normal archive key now + package { "debian-backports-keyring": ensure => absent } - case $lsbdistcodename { - etch: { - package { "debian-backports-keyring": ensure => latest } - - # This key was downloaded from - # http://backports.org/debian/archive.key - # and is needed to bootstrap the backports trustpath - file { "${apt_base_dir}/backports.org.key": - source => "puppet:///modules/apt/backports.org.key", - mode => 0444, owner => root, group => root, - } - exec { "/usr/bin/apt-key add ${apt_base_dir}/backports.org.key && apt-get update": - alias => "backports_key", - refreshonly => true, - subscribe => File["${apt_base_dir}/backports.org.key"], - before => [ File["apt_config"], Package["debian-backports-keyring"] ] - } - } - lenny: { - package { "debian-backports-keyring": ensure => latest } - - # This key was downloaded from - # http://backports.org/debian/archive.key - # and is needed to bootstrap the backports trustpath - file { "${apt_base_dir}/backports.org.key": - source => "puppet:///modules/apt/backports.org.key", - mode => 0444, owner => root, group => root, - } - exec { "/usr/bin/apt-key add ${apt_base_dir}/backports.org.key && apt-get update": - alias => "backports_key", - refreshonly => true, - subscribe => File["${apt_base_dir}/backports.org.key"], - before => [ Config_file["apt_config"], Package["debian-backports-keyring"] ] - } - } - } - case $custom_key_dir { '': { exec { "/bin/true # no_custom_keydir": } diff --git a/templates/sources.list.backports.erb b/templates/sources.list.backports.erb index b62f6d3..b271ca7 100644 --- a/templates/sources.list.backports.erb +++ b/templates/sources.list.backports.erb @@ -4,5 +4,5 @@ <% if (lsbdistcodename == "sid" || lsbdistcodename == "unstable") -%> # There are no backports for for <%= lsbdistcodename %> <% else -%> -deb http://www.backports.org/debian/ <%= lsbdistcodename %>-backports main +deb http://backports.debian.org/debian-backports/ <%= lsbdistcodename %>-backports main <% end -%> -- cgit v1.2.3 From 4d28e6668f0c26d7484198c1cdf418c83898b3c7 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 13:58:59 +0200 Subject: introduce preferences snippet Now, we have the possibility to externally add snippes, so that we can preferences for packages that are for example only in backports or unstable. --- README | 19 ++++++++----------- manifests/default_preferences.pp | 16 ---------------- manifests/init.pp | 24 ++++++------------------ manifests/module_dir.pp | 3 +++ manifests/preferences.pp | 28 ++++++++++++++++++++++++++++ manifests/preferences_snippet.pp | 11 +++++++++++ manifests/unattended_upgrades.pp | 2 +- 7 files changed, 57 insertions(+), 46 deletions(-) delete mode 100644 manifests/default_preferences.pp create mode 100644 manifests/module_dir.pp create mode 100644 manifests/preferences.pp create mode 100644 manifests/preferences_snippet.pp (limited to 'manifests') diff --git a/README b/README index e624bba..b52a024 100644 --- a/README +++ b/README @@ -50,17 +50,6 @@ following variable before including this class will pull in the templates/apt/sources.list file: $custom_sources_list ='template("apt/sources.list")' -$custom_preferences --------------------- -By default this module will use a basic apt/preferences file with -unstable and testing 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. You can set this -variable to pull in a customized apt/preferences template, for -example, setting the following variable before including this class -will pull in the templates/apt/preferences file: -$custom_preferences = 'template("apt/preferences")' - $custom_key_dir --------------- If you have different apt-key files that you want to get added to your @@ -81,6 +70,14 @@ Classes This module contains only the apt class, which sets up all described functionality. +Defines +======= + +apt::preferences_snippet +------------------------ + +A way to add pinning information to /etc/apt/preferences + Resources ========= diff --git a/manifests/default_preferences.pp b/manifests/default_preferences.pp deleted file mode 100644 index 3cdb355..0000000 --- a/manifests/default_preferences.pp +++ /dev/null @@ -1,16 +0,0 @@ -class apt::default_preferences { - config_file { - # this just pins unstable and testing to very low values - "/etc/apt/preferences": - content => template("apt/preferences.erb"), - # use File[apt_config] to reference a completed configuration - # See "The Puppet Semaphor" 2007-06-25 on the puppet-users ML - alias => apt_config, - # only update together - require => File["/etc/apt/sources.list"]; - # little default settings which keep the system sane - "/etc/apt/apt.conf.d/from_puppet": - content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n", - before => Config_file[apt_config]; - } -} diff --git a/manifests/init.pp b/manifests/init.pp index 78ae6c5..12096a0 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -29,18 +29,7 @@ class apt { } } - case $custom_preferences { - '': { - include apt::default_preferences - } - default: { - config_file { "/etc/apt/preferences": - content => $custom_preferences, - alias => apt_config, - require => File["/etc/apt/sources.list"]; - } - } - } + include apt::preferences if $apt_unattended_upgrades { include apt::unattended_upgrades @@ -58,13 +47,12 @@ class apt { command => '/usr/bin/apt-get update && sleep 1', refreshonly => true, subscribe => [ File["/etc/apt/sources.list"], - File["/etc/apt/preferences"], File["/etc/apt/apt.conf.d"], - Config_file[apt_config] ]; + Concatenated_file[apt_config] ]; 'update_apt': command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', require => [ File["/etc/apt/sources.list"], - File["/etc/apt/preferences"], Config_file[apt_config] ], + File["/etc/apt/preferences"], Concatenated_file[apt_config] ], loglevel => info, # Another Semaphor for all packages to reference alias => apt_updated; @@ -88,7 +76,7 @@ class apt { alias => "backports_key", refreshonly => true, subscribe => File["${apt_base_dir}/backports.org.key"], - before => [ File[apt_config], Package["debian-backports-keyring"] ] + before => [ Concatenated_file[apt_config], Package["debian-backports-keyring"] ] } } lenny: { @@ -105,7 +93,7 @@ class apt { alias => "backports_key", refreshonly => true, subscribe => File["${apt_base_dir}/backports.org.key"], - before => [ Config_file[apt_config], Package["debian-backports-keyring"] ] + before => [ Concatenated_file[apt_config], Package["debian-backports-keyring"] ] } } } @@ -120,7 +108,7 @@ class apt { alias => "custom_keys", subscribe => File["${apt_base_dir}/keys.d"], refreshonly => true, - before => Config_file[apt_config]; + before => Concatenated_file[apt_config]; } } diff --git a/manifests/module_dir.pp b/manifests/module_dir.pp new file mode 100644 index 0000000..6dcfca3 --- /dev/null +++ b/manifests/module_dir.pp @@ -0,0 +1,3 @@ +class apt::module_dir { + module_dir{'apt': } +} diff --git a/manifests/preferences.pp b/manifests/preferences.pp new file mode 100644 index 0000000..b106153 --- /dev/null +++ b/manifests/preferences.pp @@ -0,0 +1,28 @@ +class apt::preferences { + + include apt::module_dir + module_dir{'apt/preferences': } + concatenated_file{'/etc/apt/preferences': + dir => '/var/lib/puppet/modules/apt/preferences', + header => 'Package: * +Pin: release a=unstable +Pin-Priority: 1 + +Package: * +Pin: release a=testing +Pin-Priority: 2 +', + # use Concatenated_file[apt_config] to reference a completed configuration + # See "The Puppet Semaphor" 2007-06-25 on the puppet-users ML + alias => apt_config, + # only update together + require => File["/etc/apt/sources.list"]; + } + + config_file { + # little default settings which keep the system sane + "/etc/apt/apt.conf.d/from_puppet": + content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n", + before => Concatenated_file[apt_config]; + } +} diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp new file mode 100644 index 0000000..52edf97 --- /dev/null +++ b/manifests/preferences_snippet.pp @@ -0,0 +1,11 @@ +define apt::preferences_snippet( + $ensure => 'present', + $content +){ + file { "/var/lib/puppet/modules/apt/preferences/${name}": + ensure => $ensure, + content => "${content}\n", + notify => Exec['concat_/var/lib/puppet/modules/apt/preferences'], + owner => root, group => 0, mode => 0600; + } +} diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index c984c40..9a6c13b 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -9,7 +9,7 @@ class apt::unattended_upgrades { content => 'APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1"; ', - before => Config_file[apt_config], + before => Concatenated_file[apt_config], require => Package['unattended-upgrades'], } } -- cgit v1.2.3 From 822d482f4d6e94546cb5454d571b4d58525af94b Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:13:02 +0200 Subject: improve prefrences snippet --- manifests/preferences_snippet.pp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'manifests') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 52edf97..8d82a42 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -1,10 +1,14 @@ define apt::preferences_snippet( - $ensure => 'present', - $content + $ensure = 'present', + $release, + $priority ){ file { "/var/lib/puppet/modules/apt/preferences/${name}": ensure => $ensure, - content => "${content}\n", + content => "Package: ${name} +Pin: release a=${release} +Pin-Priority: ${priority} +", notify => Exec['concat_/var/lib/puppet/modules/apt/preferences'], owner => root, group => 0, mode => 0600; } -- cgit v1.2.3 From b989192dfd5c6604afe6e0562f9d39a7487b6cf4 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:27:27 +0200 Subject: fix modules directory stuff --- manifests/module_dir.pp | 3 --- manifests/preferences.pp | 5 +++-- manifests/preferences_snippet.pp | 5 +++-- 3 files changed, 6 insertions(+), 7 deletions(-) delete mode 100644 manifests/module_dir.pp (limited to 'manifests') diff --git a/manifests/module_dir.pp b/manifests/module_dir.pp deleted file mode 100644 index 6dcfca3..0000000 --- a/manifests/module_dir.pp +++ /dev/null @@ -1,3 +0,0 @@ -class apt::module_dir { - module_dir{'apt': } -} diff --git a/manifests/preferences.pp b/manifests/preferences.pp index b106153..e806f9f 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -1,9 +1,10 @@ class apt::preferences { - include apt::module_dir + include common::moduledir + $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" module_dir{'apt/preferences': } concatenated_file{'/etc/apt/preferences': - dir => '/var/lib/puppet/modules/apt/preferences', + dir => $apt_preferences_dir, header => 'Package: * Pin: release a=unstable Pin-Priority: 1 diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 8d82a42..e5393bd 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -3,13 +3,14 @@ define apt::preferences_snippet( $release, $priority ){ - file { "/var/lib/puppet/modules/apt/preferences/${name}": + include apt::preferences_snippet + file { "${apt::preferences::apt_preferences_dir}/${name}": ensure => $ensure, content => "Package: ${name} Pin: release a=${release} Pin-Priority: ${priority} ", - notify => Exec['concat_/var/lib/puppet/modules/apt/preferences'], + notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], owner => root, group => 0, mode => 0600; } } -- cgit v1.2.3 From 80ad2d086edb86456c3e944f7f440fbaf96cfad3 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:29:01 +0200 Subject: fix classname --- manifests/preferences_snippet.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'manifests') diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index e5393bd..71c095b 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -3,7 +3,7 @@ define apt::preferences_snippet( $release, $priority ){ - include apt::preferences_snippet + include apt::preferences file { "${apt::preferences::apt_preferences_dir}/${name}": ensure => $ensure, content => "Package: ${name} -- cgit v1.2.3 From 68842b2f968a6da6a9b654f5da8d061f429d991b Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:36:28 +0200 Subject: fix header file --- manifests/preferences.pp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'manifests') diff --git a/manifests/preferences.pp b/manifests/preferences.pp index e806f9f..479e910 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -3,9 +3,8 @@ class apt::preferences { include common::moduledir $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" module_dir{'apt/preferences': } - concatenated_file{'/etc/apt/preferences': - dir => $apt_preferences_dir, - header => 'Package: * + file{"${apt_preferences_dir}_header": + content => 'Package: * Pin: release a=unstable Pin-Priority: 1 @@ -13,6 +12,11 @@ Package: * Pin: release a=testing Pin-Priority: 2 ', + } + + 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 alias => apt_config, -- cgit v1.2.3 From b497ed88efd04852cb4deefacc9b19b9a3f625d6 Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 14:40:27 +0200 Subject: empty line between snippets --- manifests/preferences.pp | 1 + manifests/preferences_snippet.pp | 1 + 2 files changed, 2 insertions(+) (limited to 'manifests') diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 479e910..232b8f7 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -11,6 +11,7 @@ Pin-Priority: 1 Package: * Pin: release a=testing Pin-Priority: 2 + ', } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 71c095b..21dfe86 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -9,6 +9,7 @@ define apt::preferences_snippet( content => "Package: ${name} Pin: release a=${release} Pin-Priority: ${priority} + ", notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], owner => root, group => 0, mode => 0600; -- cgit v1.2.3 From e19c94dcd20c966143c933e22d5a63f350649b6e Mon Sep 17 00:00:00 2001 From: mh Date: Sun, 17 Oct 2010 15:18:08 +0200 Subject: minor improvements, especially do not refresh apt every run --- README | 4 ++-- manifests/init.pp | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'manifests') diff --git a/README b/README index 5f8225a..833008e 100644 --- a/README +++ b/README @@ -89,8 +89,8 @@ Example: Resources ========= -File[apt_config] ----------------- +Concatenated_file[apt_config] +----------------------------- Use this resource to depend on or add to a completed apt configuration Exec[apt_updated] diff --git a/manifests/init.pp b/manifests/init.pp index 12096a0..675c78d 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -46,13 +46,13 @@ class apt { 'refresh_apt': command => '/usr/bin/apt-get update && sleep 1', refreshonly => true, - subscribe => [ File["/etc/apt/sources.list"], - File["/etc/apt/apt.conf.d"], - Concatenated_file[apt_config] ]; + subscribe => File['/etc/apt/sources.list', + '/etc/apt/apt.conf.d', + '/etc/apt/preferences']; 'update_apt': command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', - require => [ File["/etc/apt/sources.list"], - File["/etc/apt/preferences"], Concatenated_file[apt_config] ], + require => File['/etc/apt/sources.list', + '/etc/apt/preferences'], loglevel => info, # Another Semaphor for all packages to reference alias => apt_updated; -- cgit v1.2.3 From ebcda455df36aefac48bb831192f2b4e7af8fafc Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Sun, 17 Oct 2010 20:36:45 -0400 Subject: Make $apt_clean effective in all cases The file "/etc/apt/apt.conf.d/from_puppet" is currently only defined when $custom_sources_list is not used (it is declared in default_preferences). Bring this file up in the apt class so that using custom sources doesn't remove its addition. Signed-off-by: Gabriel Filion --- manifests/default_preferences.pp | 4 ---- manifests/init.pp | 7 +++++++ 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'manifests') diff --git a/manifests/default_preferences.pp b/manifests/default_preferences.pp index 3cdb355..4752fad 100644 --- a/manifests/default_preferences.pp +++ b/manifests/default_preferences.pp @@ -8,9 +8,5 @@ class apt::default_preferences { alias => apt_config, # only update together require => File["/etc/apt/sources.list"]; - # little default settings which keep the system sane - "/etc/apt/apt.conf.d/from_puppet": - content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n", - before => Config_file[apt_config]; } } diff --git a/manifests/init.pp b/manifests/init.pp index 98ec91c..9ef1cea 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -29,6 +29,13 @@ class apt { } } + config_file { + # little default settings which keep the system sane + "/etc/apt/apt.conf.d/from_puppet": + content => "APT::Get::Show-Upgraded true;\nDSelect::Clean $real_apt_clean;\n", + before => Config_file[apt_config]; + } + case $custom_preferences { '': { include apt::default_preferences -- cgit v1.2.3 From 8175bff077112fc7b1397f082f1fbac56474feb8 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Sun, 17 Oct 2010 20:42:09 -0400 Subject: Add a proxy-client class The module currently doesn't have a handy way of making a server get its packages via a proxy. Add a "proxy-client" class that makes this easy. $apt_proxy declares the proxy server's fqdn $apt_proxy_port declares the port used for connection Signed-off-by: Gabriel Filion --- manifests/proxy-client.pp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 manifests/proxy-client.pp (limited to 'manifests') diff --git a/manifests/proxy-client.pp b/manifests/proxy-client.pp new file mode 100644 index 0000000..ea0a29c --- /dev/null +++ b/manifests/proxy-client.pp @@ -0,0 +1,18 @@ +class apt::proxy-client { + + $real_apt_proxy = $apt_proxy ? { + "" => "localhost", + default => $apt_proxy + } + + $real_apt_proxy_port = $apt_proxy_port ? { + "" => "3142", + default => $apt_proxy_port + } + + file { "/etc/apt/apt.conf.d/20proxy": + ensure => present, + content => "Acquire::http { Proxy \"http://$real_apt_proxy:$real_apt_proxy_port\"; };\n", + owner => root, group => 0, mode => 0644; + } +} -- cgit v1.2.3 From 973657848100d227c10f4b51a23bf24a56550c8d Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 18 Oct 2010 01:43:24 -0400 Subject: Remove unnecessary exec When $custom_key_dir has not been assigned any value, a useless exec of /bin/true is run. Remove this by using 'if' instead of 'case'. Signed-off-by: Gabriel Filion --- manifests/init.pp | 29 ++++++++++++----------------- 1 file changed, 12 insertions(+), 17 deletions(-) (limited to 'manifests') diff --git a/manifests/init.pp b/manifests/init.pp index 9ef1cea..57a685c 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -78,26 +78,21 @@ class apt { package { "debian-archive-keyring": ensure => latest } # backports uses the normal archive key now package { "debian-backports-keyring": ensure => absent } - - case $custom_key_dir { - '': { - exec { "/bin/true # no_custom_keydir": } + + if $custom_key_dir { + file { "${apt_base_dir}/keys.d": + source => "$custom_key_dir", + recurse => true, + mode => 0755, owner => root, group => root, } - default: { - file { "${apt_base_dir}/keys.d": - source => "$custom_key_dir", - recurse => true, - mode => 0755, owner => root, group => root, - } - exec { "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && apt-get update": - alias => "custom_keys", - subscribe => File["${apt_base_dir}/keys.d"], - refreshonly => true, - before => Config_file["apt_config"]; - } + exec { "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && apt-get update": + alias => "custom_keys", + subscribe => File["${apt_base_dir}/keys.d"], + refreshonly => true, + before => Config_file["apt_config"]; } } # workaround for preseeded_package component file { [ "/var/cache", "/var/cache/local", "/var/cache/local/preseeding" ]: ensure => directory } -} +} -- cgit v1.2.3 From 4dbcd092817708292de6463777b331c8dbc7e727 Mon Sep 17 00:00:00 2001 From: Gabriel Filion Date: Mon, 18 Oct 2010 01:45:22 -0400 Subject: Make it possible to ensure preferences is absent The current code makes it mandatory to have a file /etc/apt/preferences present. In the event that this file is empty or contains a space, apt-get update cannot execute. Add a case with the special value "false" that ensures the file does not exist. Signed-off-by: Gabriel Filion --- README | 4 ++++ manifests/init.pp | 6 ++++++ 2 files changed, 10 insertions(+) (limited to 'manifests') diff --git a/README b/README index 131ae1d..dbcf383 100644 --- a/README +++ b/README @@ -62,6 +62,10 @@ example, setting the following variable before including this class will pull in the templates/apt/preferences file: $custom_preferences = 'template("apt/preferences")' +Also, if you need the preferences file to be absent, set this variable to false: + +$custom_preferences = false + $custom_key_dir --------------- If you have different apt-key files that you want to get added to your diff --git a/manifests/init.pp b/manifests/init.pp index 57a685c..60c95a1 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -40,6 +40,12 @@ class apt { '': { include apt::default_preferences } + false: { + config_file { "/etc/apt/preferences": + alias => "apt_config", + ensure => absent; + } + } default: { config_file { "/etc/apt/preferences": content => $custom_preferences, -- cgit v1.2.3