diff options
Diffstat (limited to 'manifests/init.pp')
-rw-r--r-- | manifests/init.pp | 113 |
1 files changed, 64 insertions, 49 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 9c33b4d..8136f25 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -6,27 +6,76 @@ class apt { import "custom_sources.pp" - + # See README $real_apt_clean = $apt_clean ? { '' => 'auto', default => $apt_clean, } + $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://ftp.debian.org/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}", + } + $repos = $apt_repos ? { + '' => 'main contrib non-free', + default => "${apt_repos}", + } + package { apt: ensure => installed, require => undef, } + # init $release, $next_release, $codename, $next_codename + case $lsbdistcodename { + '': { + include lsb + $codename = $lsbdistcodename + $release = $lsbdistrelease + } + default: { + $codename = $lsbdistcodename + $release = debian_release($codename) + } + } + $next_codename = debian_nextcodename($codename) + $next_release = debian_nextrelease($release) + case $custom_sources_list { '': { include apt::default_sources_list } default: { - include lsb config_file { "/etc/apt/sources.list": content => $custom_sources_list, - require => Package['lsb']; } } } @@ -38,7 +87,7 @@ class apt { default: { config_file { "/etc/apt/preferences": content => $custom_preferences, - alias => apt_config, + alias => "apt_config", require => File["/etc/apt/sources.list"]; } } @@ -53,64 +102,30 @@ class apt { modules_dir { apt: } # watch apt.conf.d file { "/etc/apt/apt.conf.d": ensure => directory, checksum => mtime; } + file { '/etc/apt/apt.conf.d/99-puppet': + ensure => 'file', + owner => 'root', group => '0', mode => '0644', + } exec { # "&& sleep 1" is workaround for older(?) clients '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/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; + 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": @@ -128,4 +143,4 @@ class apt { # workaround for preseeded_package component file { [ "/var/cache", "/var/cache/local", "/var/cache/local/preseeding" ]: ensure => directory } -} +} |