diff options
author | nadir <nadir-technik@nadir.org> | 2010-10-22 19:17:57 +0200 |
---|---|---|
committer | nadir <nadir-technik@nadir.org> | 2010-10-22 19:17:57 +0200 |
commit | 851d20a7b621345516e8a8cd83d0970a5ea0521c (patch) | |
tree | 42847383584e518b3917d55d31b39ccafbee585c /manifests | |
parent | eae01000c1db8bcfa7de17b2a9a8370289b801bc (diff) | |
parent | e2ac1b3d8d1713c81c83a695b776dec1c00d2d47 (diff) | |
download | puppet-apt-851d20a7b621345516e8a8cd83d0970a5ea0521c.tar.gz puppet-apt-851d20a7b621345516e8a8cd83d0970a5ea0521c.tar.bz2 |
merged with immerda/master
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/default_preferences.pp | 16 | ||||
-rw-r--r-- | manifests/init.pp | 70 | ||||
-rw-r--r-- | manifests/preferences.pp | 31 | ||||
-rw-r--r-- | manifests/preferences/absent.pp | 8 | ||||
-rw-r--r-- | manifests/preferences_snippet.pp | 17 | ||||
-rw-r--r-- | manifests/proxy-client.pp | 18 | ||||
-rw-r--r-- | manifests/unattended_upgrades.pp | 4 |
7 files changed, 96 insertions, 68 deletions
diff --git a/manifests/default_preferences.pp b/manifests/default_preferences.pp deleted file mode 100644 index 671abdd..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/99from_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 9c33b4d..1011e65 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -31,16 +31,19 @@ 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 => Concatenated_file['/etc/apt/preferences']; + } + case $custom_preferences { - '': { - include apt::default_preferences + false: { + include apt::preferences::absent } default: { - config_file { "/etc/apt/preferences": - content => $custom_preferences, - alias => apt_config, - require => File["/etc/apt/sources.list"]; - } + include apt::preferences } } @@ -59,58 +62,23 @@ 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"], - Config_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"], Config_file[apt_config] ], + require => File['/etc/apt/sources.list', + '/etc/apt/preferences'], loglevel => info, # Another Semaphor for all packages to reference - alias => apt_updated; + alias => "apt_updated"; } ## This package should really always be current package { "debian-archive-keyring": ensure => latest } - - 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"] ] - } - } - } + # backports uses the normal archive key now + package { "debian-backports-keyring": ensure => absent } if $custom_key_dir { file { "${apt_base_dir}/keys.d": @@ -122,7 +90,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/preferences.pp b/manifests/preferences.pp new file mode 100644 index 0000000..772b426 --- /dev/null +++ b/manifests/preferences.pp @@ -0,0 +1,31 @@ +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": + content => $custom_preferences ? { + '' => 'Package: * +Pin: release a=unstable +Pin-Priority: 1 + +Package: * +Pin: release a=testing +Pin-Priority: 2 + +', + default => $custom_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 + alias => apt_config, + # only update together + require => File["/etc/apt/sources.list"]; + } + +} diff --git a/manifests/preferences/absent.pp b/manifests/preferences/absent.pp new file mode 100644 index 0000000..3131aff --- /dev/null +++ b/manifests/preferences/absent.pp @@ -0,0 +1,8 @@ +class apt::preferences::absent { + include common::moduledir + $apt_preferences_dir = "${common::moduledir::module_dir_path}/apt/preferences" + concatenated_file{'/etc/apt/preferences': + dir => $apt_preferences_dir, + ensure => absent, + } +} diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp new file mode 100644 index 0000000..21dfe86 --- /dev/null +++ b/manifests/preferences_snippet.pp @@ -0,0 +1,17 @@ +define apt::preferences_snippet( + $ensure = 'present', + $release, + $priority +){ + include apt::preferences + file { "${apt::preferences::apt_preferences_dir}/${name}": + ensure => $ensure, + content => "Package: ${name} +Pin: release a=${release} +Pin-Priority: ${priority} + +", + notify => Exec["concat_${apt::preferences::apt_preferences_dir}"], + owner => root, group => 0, mode => 0600; + } +} 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; + } +} diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index 27942b3..e1080a0 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -8,8 +8,10 @@ class apt::unattended_upgrades { "/etc/apt/apt.conf.d/50unattended-upgrades": source => ["puppet:///modules/site-apt/50unattended-upgrades", "puppet:///modules/apt/50unattended-upgrades" ], + + # err: Could not run Puppet configuration client: Could not find dependent Config_file[apt_config] for Config_file[/etc/apt/apt.conf.d/50unattended-upgrades] at /etc/puppet/modules/apt/manifests/unattended_upgrades.pp:14 - before => Config_file[apt_config], + #before => Config_file[apt_config], require => Package['unattended-upgrades'], } } |