All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
1 # apt/manifests/init.pp - manage APT
2 # Copyright (C) 2009–2010 martin f. krafft <madduck@madduck.net>
11 package { [ "debian-archive-keyring", "gnupg", "wget", "debconf-utils" ]:
18 if !defined(File[$_apt_module_parent_dir]) {
19 file { $_apt_module_parent_dir:
27 file { [ "/etc/apt/apt.conf.d", $_apt_module_dir ]:
35 file { "/etc/apt/sources.list.d":
41 purge => $apt_enforce_sourceslist_set
44 if $apt_enforce_sourceslist_set {
45 file { "/etc/apt/sources.list":
53 command => "sh -c 'aptitude update || :'",
55 subscribe => [Class["apt::files"], Class["apt::repositories"]],
56 logoutput => on_failure
62 if defined(Class["sudo"]) {
63 @sudo::permission { "aptitude-safe-upgrades":
64 who => "%$apt_upgrader_group",
66 command => [ "/usr/bin/aptitude update"
67 , "/usr/bin/aptitude safe-upgrade"
68 , "/usr/bin/apt-get update"
69 , "/usr/bin/apt-get upgrade"
74 @sudo::permission { "aptitude":
75 who => "%$apt_upgrader_group",
77 command => "/usr/bin/aptitude"
80 @sudo::permission { ["apt-dist-upgrades","apt-safe-upgrades"]:
82 who => "%$apt_upgrader_group",
84 command => [ "/usr/bin/aptitude dist-upgrade"
85 , "/usr/bin/apt-get dist-upgrade"
93 $_apt_stable_suite = "lenny"
95 $apt_include_sources = $apt_include_sources ?
96 { "" => false, default => $apt_include_sources }
98 $apt_suite = $apt_suite ? {
99 "" => $_apt_stable_suite,
100 default => $apt_suite
103 $apt_include_experimental = $apt_include_experimental ? {
105 default => $apt_include_experimental
108 $apt_components = $apt_components ? {
110 default => $apt_components
113 $apt_mirror_base = $apt_mirror_base ? {
114 "" => "http://cdn.debian.net",
115 default => $apt_mirror_base
118 $apt_mirror = $apt_mirror ? {
119 "" => "${apt_mirror_base}/debian",
120 default => $apt_mirror
123 $apt_security_mirror = $apt_security_mirror ? {
124 "" => "http://security.debian.org",
125 default => $apt_security_mirror
128 $_apt_is_stable = $apt_suite ? { $_apt_stable_suite => true, default => false }
130 $apt_include_volatile = $apt_include_volatile ?
131 { "" => $_apt_is_stable, default => $apt_include_volatile }
132 $apt_include_volatile_sloppy = $apt_include_volatile_sloppy ?
133 { "" => $apt_include_volatile, default => $apt_include_volatile_sloppy }
134 $apt_volatile_mirror = $apt_volatile_mirror ? {
135 "" => "${apt_mirror_base}/debian-volatile",
136 default => $apt_volatile_mirror
139 $apt_include_backports = $apt_include_backports ?
140 { "" => $_apt_is_stable, default => $apt_include_backports }
141 $apt_backports_mirror = $apt_backports_mirror ? {
142 "" => "${apt_mirror_base}/backports.org",
143 default => $apt_backports_mirror
146 $apt_include_multimedia = $apt_include_multimedia ?
147 { "" => false, default => $apt_include_multimedia }
148 $apt_multimedia_mirror = $apt_multimedia_mirror ? {
149 "" => "http://www.debian-multimedia.org",
150 default => $apt_multimedia_mirror
153 $apt_pgp_keyserver = $apt_pgp_keyserver ? {
154 "" => "hkp://pool.sks-keyservers.net",
155 default => $apt_pgp_keyserver
158 $apt_enforce_sourceslist_set = $apt_enforce_sourceslist_set ?
159 { "" => false, default => $apt_enforce_sourceslist_set }
161 $apt_enforce_preferences_set = $apt_enforce_preferences_set ?
162 { "" => false, default => $apt_enforce_preferences_set }
164 $_apt_default_apt_cache_limit = 16777216
165 $apt_cache_limit = $apt_cache_limit ? {
166 "" => $_apt_default_apt_cache_limit,
167 default => $apt_cache_limit
170 $apt_acquire_pdiffs = $apt_acquire_pdiffs ? {
172 default => $apt_acquire_pdiffs
175 $apt_install_recommends = $apt_install_recommends ? {
177 default => $apt_install_recommends
180 $apt_upgrader_group = $apt_upgrader_group ? {
182 default => $apt_upgrader_group
185 $_apt_module_parent_dir = "/var/lib/puppet/modules"
186 $_apt_module_dir = "${_apt_module_parent_dir}/apt"
188 include apt::install, apt::files, apt::repositories, apt::update
190 include apt::preferences