diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/apt_conf.pp | 2 | ||||
-rw-r--r-- | manifests/dist_upgrade.pp | 11 | ||||
-rw-r--r-- | manifests/dot_d_directories.pp | 11 | ||||
-rw-r--r-- | manifests/init.pp | 35 | ||||
-rw-r--r-- | manifests/key.pp | 2 | ||||
-rw-r--r-- | manifests/key/plain.pp | 2 | ||||
-rw-r--r-- | manifests/params.pp | 18 | ||||
-rw-r--r-- | manifests/preferences.pp | 7 | ||||
-rw-r--r-- | manifests/preferences_snippet.pp | 3 | ||||
-rw-r--r-- | manifests/sources_list.pp | 2 | ||||
-rw-r--r-- | manifests/unattended_upgrades.pp | 10 | ||||
-rw-r--r-- | manifests/update.pp | 12 | ||||
-rw-r--r-- | manifests/upgrade_package.pp | 15 |
13 files changed, 59 insertions, 71 deletions
diff --git a/manifests/apt_conf.pp b/manifests/apt_conf.pp index f446c69..949f615 100644 --- a/manifests/apt_conf.pp +++ b/manifests/apt_conf.pp @@ -38,7 +38,7 @@ define apt::apt_conf( if $refresh_apt { File["/etc/apt/apt.conf.d/${name}"] { - notify => Exec['refresh_apt'], + notify => Exec['apt_updated'], } } diff --git a/manifests/dist_upgrade.pp b/manifests/dist_upgrade.pp index bf78dcc..19c031e 100644 --- a/manifests/dist_upgrade.pp +++ b/manifests/dist_upgrade.pp @@ -1,18 +1,9 @@ class apt::dist_upgrade { - if $apt::disable_update == false { - include apt::update - } - - $req = $apt::disable_update ? { - true => undef, - default => Exec['apt_updated'], - } - exec { 'apt_dist-upgrade': command => '/usr/bin/apt-get -q -y -o \'DPkg::Options::=--force-confold\' dist-upgrade', refreshonly => true, - require => $req + before => Exec['apt_updated'] } } diff --git a/manifests/dot_d_directories.pp b/manifests/dot_d_directories.pp index 37c3fc8..0ace863 100644 --- a/manifests/dot_d_directories.pp +++ b/manifests/dot_d_directories.pp @@ -5,18 +5,11 @@ class apt::dot_d_directories { '/etc/apt/apt.conf.d': ensure => directory, checksum => mtime, - notify => Exec['refresh_apt']; + notify => Exec['apt_updated']; '/etc/apt/sources.list.d': ensure => directory, checksum => mtime, - notify => Exec['refresh_apt']; - } - - exec { - # "&& sleep 1" is workaround for older(?) clients - 'refresh_apt': - command => '/usr/bin/apt-get update && sleep 1', - refreshonly => true, + notify => Exec['apt_updated']; } } diff --git a/manifests/init.pp b/manifests/init.pp index 1e7ddd7..46e5cb0 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -18,22 +18,12 @@ class apt( $repos = $apt::params::repos, $custom_preferences = $apt::params::custom_preferences, $custom_sources_list = '', - $disable_update = $apt::params::disable_update, $custom_key_dir = $apt::params::custom_key_dir ) inherits apt::params { - case $::operatingsystem { - 'debian': { - $real_repos = $repos ? { - 'auto' => 'main contrib non-free', - default => $repos, - } - } - 'ubuntu': { - $real_repos = $repos ? { - 'auto' => 'main restricted universe multiverse', - default => $repos, - } - } + + $real_backports_url = $backports_url ? { + false => $debian_url, + default => $backports_url, } package { 'apt': @@ -50,7 +40,7 @@ class apt( # additional sources should be included via the apt::sources_list define '/etc/apt/sources.list': content => $sources_content, - notify => Exec['refresh_apt'], + notify => Exec['apt_updated'], owner => root, group => 0, mode => '0644'; @@ -100,12 +90,12 @@ class apt( if ($use_backports and !($::debian_release in ['testing', 'unstable', 'experimental'])) { apt::sources_list { 'backports': - content => "deb $backports_url ${::debian_codename}-backports ${apt::real_repos}", + content => "deb ${real_backports_url} ${::debian_codename}-backports ${apt::repos}", } if $include_src { apt::sources_list { 'backports-src': - content => "deb-src $backports_url ${::debian_codename}-backports ${apt::real_repos}", + content => "deb-src ${real_backports_url} ${::debian_codename}-backports ${apt::repos}", } } } @@ -137,4 +127,15 @@ class apt( # workaround for preseeded_package component file { [ '/var/cache', '/var/cache/local', '/var/cache/local/preseeding' ]: ensure => directory } + + exec { 'update_apt': + command => '/usr/bin/apt-get update', + require => [ + File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ], + File['/etc/apt/sources.list'] ], + refreshonly => true, + # Another Semaphor for all packages to reference + alias => [ 'apt_updated', 'refresh_apt'] + } + } diff --git a/manifests/key.pp b/manifests/key.pp index 65b62e9..cb70ec6 100644 --- a/manifests/key.pp +++ b/manifests/key.pp @@ -8,6 +8,6 @@ define apt::key ($source, $ensure = 'present') { "/etc/apt/trusted.gpg.d/${name}": ensure => $ensure, source => $source, - notify => Exec['refresh_apt'], + notify => Exec['apt_updated'], } } diff --git a/manifests/key/plain.pp b/manifests/key/plain.pp index e4a2f89..dff8b51 100644 --- a/manifests/key/plain.pp +++ b/manifests/key/plain.pp @@ -8,6 +8,6 @@ define apt::key::plain ($source) { exec { "apt-key add '${apt::apt_base_dir}/keys/${name}'": subscribe => File["${apt::apt_base_dir}/keys/${name}"], refreshonly => true, - notify => Exec['refresh_apt'], + notify => Exec['apt_updated'], } } diff --git a/manifests/params.pp b/manifests/params.pp index 28da13e..a70dac1 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -9,15 +9,21 @@ class apt::params () { $ubuntu_url = 'http://archive.ubuntu.com/ubuntu' $backports_url = $::debian_codename ? { 'squeeze' => 'http://backports.debian.org/debian-backports/', - default => $::operatingsystem ? { - 'Ubuntu' => $ubuntu_url, - default => $debian_url, - } + default => false, } $lts_url = $debian_url $volatile_url = 'http://volatile.debian.org/debian-volatile/' - $repos = 'auto' + case $::operatingsystem { + 'debian': { + $repos = 'main contrib non-free' + } + 'ubuntu': { + $repos = 'main restricted universe multiverse' + } + default: { + fail("Unsupported system '${::operatingsystem}'.") + } + } $custom_preferences = '' - $disable_update = false $custom_key_dir = false } diff --git a/manifests/preferences.pp b/manifests/preferences.pp index 6982ca0..50ca23a 100644 --- a/manifests/preferences.pp +++ b/manifests/preferences.pp @@ -2,8 +2,11 @@ class apt::preferences { $pref_contents = $apt::custom_preferences ? { '' => $::operatingsystem ? { - 'debian' => template("apt/${::operatingsystem}/preferences_${::debian_codename}.erb"), - 'ubuntu' => template("apt/${::operatingsystem}/preferences_${::ubuntu_codename}.erb"), + 'debian' => $::debian_codename ? { + 'lenny' => template("apt/${::operatingsystem}/preferences_lenny.erb"), + default => template("apt/${::operatingsystem}/preferences.erb"), + }, + 'ubuntu' => template("apt/${::operatingsystem}/preferences_${apt::codename}.erb"), }, default => $apt::custom_preferences } diff --git a/manifests/preferences_snippet.pp b/manifests/preferences_snippet.pp index 0c7b7bb..b7dba0d 100644 --- a/manifests/preferences_snippet.pp +++ b/manifests/preferences_snippet.pp @@ -31,7 +31,8 @@ define apt::preferences_snippet ( file { "/etc/apt/preferences.d/${name}": ensure => $ensure, - owner => root, group => 0, mode => '0644'; + owner => root, group => 0, mode => '0644', + before => Exec['apt_updated']; } case $source { diff --git a/manifests/sources_list.pp b/manifests/sources_list.pp index aefad2d..0ee068d 100644 --- a/manifests/sources_list.pp +++ b/manifests/sources_list.pp @@ -23,7 +23,7 @@ define apt::sources_list ( file { "/etc/apt/sources.list.d/${realname}.list": ensure => $ensure, owner => root, group => 0, mode => '0644', - notify => Exec['refresh_apt'], + notify => Exec['apt_updated'], } if $source { diff --git a/manifests/unattended_upgrades.pp b/manifests/unattended_upgrades.pp index ffb5fad..52d7542 100644 --- a/manifests/unattended_upgrades.pp +++ b/manifests/unattended_upgrades.pp @@ -11,6 +11,16 @@ class apt::unattended_upgrades ( ensure => $ensure_version } + # For some reason, this directory is sometimes absent, which causes + # unattended-upgrades to crash. + file { '/var/log/unattended-upgrades': + ensure => directory, + owner => 'root', + group => 0, + mode => '0755', + require => Package['unattended-upgrades'], + } + $file_content = $config_content ? { undef => template($config_template), default => $config_content diff --git a/manifests/update.pp b/manifests/update.pp index 3f45125..dde8320 100644 --- a/manifests/update.pp +++ b/manifests/update.pp @@ -1,13 +1,7 @@ -class apt::update { +class apt::update inherits ::apt { - exec { 'update_apt': - command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean', - require => [ - File['/etc/apt/apt.conf.d', '/etc/apt/preferences' ], - File['/etc/apt/sources.list'] ], - loglevel => info, - # Another Semaphor for all packages to reference - alias => 'apt_updated' + Exec['update_apt'] { + refreshonly => false } } diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp index d607150..30572c9 100644 --- a/manifests/upgrade_package.pp +++ b/manifests/upgrade_package.pp @@ -2,10 +2,6 @@ define apt::upgrade_package ( $version = '' ) { - if $apt::disable_update == false { - include apt::update - } - $version_suffix = $version ? { '' => '', 'latest' => '', @@ -26,17 +22,10 @@ define apt::upgrade_package ( } } - $req = $apt::disable_update ? { - true => Package['apt-show-versions', 'dctrl-tools'], - default => [ - Exec['apt_updated'], - Package['apt-show-versions', 'dctrl-tools'] - ], - } - exec { "apt-get -q -y -o 'DPkg::Options::=--force-confold' install ${name}${version_suffix}": onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ], - require => $req + require => Package['apt-show-versions', 'dctrl-tools'], + before => Exec['apt_updated'] } } |