aboutsummaryrefslogtreecommitdiff
path: root/manifests/init.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/init.pp')
-rw-r--r--manifests/init.pp117
1 files changed, 98 insertions, 19 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index 1011e65..1247b45 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -13,31 +13,87 @@ class apt {
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}",
+ }
+ $ubuntu_url = $apt_ubuntu_url ? {
+ '' => 'http://archive.ubuntu.com/ubuntu',
+ default => "${apt_ubuntu_url}",
+ }
+ case $operatingsystem {
+ 'debian': {
+ $repos = $apt_repos ? {
+ '' => 'main contrib non-free',
+ default => "${apt_repos}",
+ }
+ }
+ 'ubuntu': {
+ $repos = $apt_repos ? {
+ '' => 'main restricted universe multiverse',
+ 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'];
}
}
}
- 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 {
false: {
include apt::preferences::absent
@@ -47,6 +103,29 @@ class apt {
}
}
+ config_file { '/etc/apt/apt.conf.d/99from_puppet': }
+ # little default settings which keep the system sane
+ append_if_no_such_line { 'apt-get-show-upgraded':
+ file => "/etc/apt/apt.conf.d/99from_puppet",
+ line => "APT::Get::Show-Upgraded true;",
+ before => Concatenated_file['/etc/apt/preferences'],
+ require => Config_file['/etc/apt/apt.conf.d/99from_puppet'],
+ }
+ append_if_no_such_line { 'dselect-clean':
+ file => "/etc/apt/apt.conf.d/99from_puppet",
+ line => "DSelect::Clean ${real_apt_clean};",
+ before => Concatenated_file['/etc/apt/preferences'],
+ require => Config_file['/etc/apt/apt.conf.d/99from_puppet'],
+ }
+ # backward compatibility: upgrade from previous versions of this module.
+ file {
+ "/etc/apt/apt.conf.d/from_puppet":
+ ensure => 'absent',
+ require => [ Append_if_no_such_line['apt-get-show-upgraded'],
+ Append_if_no_such_line['dselect-clean']
+ ],
+ }
+
if $apt_unattended_upgrades {
include apt::unattended_upgrades
}
@@ -62,16 +141,16 @@ class apt {
'refresh_apt':
command => '/usr/bin/apt-get update && sleep 1',
refreshonly => true,
- 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',
+ subscribe => [ File['/etc/apt/apt.conf.d'],
+ Config_file['/etc/apt/sources.list'] ];
+ 'update_apt':
+ command => '/usr/bin/apt-get update && /usr/bin/apt-get autoclean',
+ require => [ File['/etc/apt/apt.conf.d',
'/etc/apt/preferences'],
- loglevel => info,
- # Another Semaphor for all packages to reference
- alias => "apt_updated";
+ Config_file['/etc/apt/sources.list'] ],
+ loglevel => info,
+ # Another Semaphor for all packages to reference
+ alias => "apt_updated";
}
## This package should really always be current
@@ -96,4 +175,4 @@ class apt {
# workaround for preseeded_package component
file { [ "/var/cache", "/var/cache/local", "/var/cache/local/preseeding" ]: ensure => directory }
-}
+}