diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2016-03-31 14:50:07 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2016-03-31 14:50:07 -0300 |
commit | b65996f7ae03d2bae118855a3c4d94a3947e556d (patch) | |
tree | 5bab8e5c3663aaabca34ebcee3c706c4fbc35cb5 /manifests/init.pp | |
parent | b0425c65ecc61c6af3f31fba577b1e1c5d880674 (diff) | |
parent | 8c8bd7bb1e5cc0f5297db9629ece783452233d1f (diff) | |
download | puppet-apt-develop.tar.gz puppet-apt-develop.tar.bz2 |
Conflicts:
README
files/Debian/50unattended-upgrades.lenny
files/Debian/50unattended-upgrades.wheezy
manifests/init.pp
manifests/params.pp
manifests/unattended_upgrades.pp
templates/Debian/preferences_jessie.erb
templates/Debian/sources.list.erb
Diffstat (limited to 'manifests/init.pp')
-rw-r--r-- | manifests/init.pp | 65 |
1 files changed, 36 insertions, 29 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 33eac37..4c44af2 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -4,18 +4,20 @@ # See LICENSE for the full license granted to you. class apt( - $codename = $apt::params::codename, + $use_lts = $apt::params::use_lts, $use_volatile = $apt::params::use_volatile, + $use_backports = $apt::params::use_backports, $include_src = $apt::params::include_src, $use_next_release = $apt::params::use_next_release, $debian_url = $apt::params::debian_url, $security_url = $apt::params::security_url, $backports_url = $apt::params::backports_url, + $lts_url = $apt::params::lts_url, $volatile_url = $apt::params::volatile_url, $ubuntu_url = $apt::params::ubuntu_url, $repos = $apt::params::repos, $custom_preferences = $apt::params::custom_preferences, - $disable_update = $apt::params::disable_update, + $custom_sources_list = '', $custom_key_dir = $apt::params::custom_key_dir ) inherits apt::params { case $::operatingsystem { @@ -38,32 +40,16 @@ class apt( require => undef, } - include lsb - - # init $release, $next_release, $next_codename, $release_version - case $codename { - 'n/a': { - fail("Unknown lsbdistcodename reported by facter: '$::lsbdistcodename', please fix this by setting this variable in your manifest.") - } - default: { - $release = debian_release($codename) - } - } - $release_version = debian_release_version($codename) - $next_codename = debian_nextcodename($codename) - $next_release = debian_nextrelease($release) - - $sources_content = $::custom_sources_list ? { + $sources_content = $custom_sources_list ? { '' => template( "apt/${::operatingsystem}/sources.list.erb"), - default => $::custom_sources_list + default => $custom_sources_list } file { - # include main, security and backports + # include main and security # additional sources should be included via the apt::sources_list define '/etc/apt/sources.list': content => $sources_content, - require => Package['lsb'], - notify => Exec['refresh_apt'], + notify => Exec['apt_updated'], owner => root, group => 0, mode => '0644'; @@ -110,9 +96,22 @@ class apt( # backports uses the normal archive key now package { 'debian-backports-keyring': ensure => absent } + if ($use_backports and !($::debian_release in ['testing', 'unstable', 'experimental'])) { + apt::sources_list { + 'backports': + content => "deb $backports_url ${::debian_codename}-backports ${apt::real_repos}", + } + if $include_src { + apt::sources_list { + 'backports-src': + content => "deb-src $backports_url ${::debian_codename}-backports ${apt::real_repos}", + } + } + } + include common::moduledir + common::module_dir { 'apt': } $apt_base_dir = "${common::moduledir::module_dir_path}/apt" - modules_dir { 'apt': } if $custom_key_dir { file { "${apt_base_dir}/keys.d": @@ -123,21 +122,29 @@ class apt( mode => '0755', } exec { 'custom_keys': - command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\; && /usr/bin/apt-get update", + command => "find ${apt_base_dir}/keys.d -type f -exec apt-key add '{}' \\;", subscribe => File["${apt_base_dir}/keys.d"], refreshonly => true, + notify => Exec[refresh_apt] } if $custom_preferences != false { Exec['custom_keys'] { - before => [ Exec[refresh_apt], File['apt_config'] ] - } - } else { - Exec['custom_keys'] { - before => Exec[refresh_apt] + before => File['apt_config'] } } } # 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'] + } + } |