aboutsummaryrefslogtreecommitdiff
path: root/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/init.pp')
-rw-r--r--manifests/init.pp65
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']
+ }
+
}