f16a0727dc
Before, including apt::unattended_upgrades on a host without the unattended-upgrades package would fail on the first run, because the module tries to install the package before apt is finally configured. This commit does: - introduce the option $refresh_apt for apt::apt_conf (Defaults to true). Can be used to not trigger Exec['refresh_apt'] - install the unattended-upgrades package after a final Exec['refresh_apt']. To not run into a loop, it calls Apt_conf['50unattended-upgrades'] with the option refresh_apt => false, which is also not needed for the configuration
45 lines
994 B
Puppet
45 lines
994 B
Puppet
define apt::apt_conf(
|
|
$ensure = 'present',
|
|
$source = '',
|
|
$content = undef,
|
|
$refresh_apt = true )
|
|
{
|
|
|
|
if $source == '' and $content == undef {
|
|
fail("One of \$source or \$content must be specified for apt_conf ${name}")
|
|
}
|
|
|
|
if $source != '' and $content != undef {
|
|
fail("Only one of \$source or \$content must specified for apt_conf ${name}")
|
|
}
|
|
|
|
include apt::dot_d_directories
|
|
|
|
# One would expect the 'file' resource on sources.list.d to trigger an
|
|
# apt-get update when files are added or modified in the directory, but it
|
|
# apparently doesn't.
|
|
file { "/etc/apt/apt.conf.d/${name}":
|
|
ensure => $ensure,
|
|
owner => root,
|
|
group => 0,
|
|
mode => '0644',
|
|
}
|
|
|
|
if $source {
|
|
File["/etc/apt/apt.conf.d/${name}"] {
|
|
source => $source,
|
|
}
|
|
}
|
|
else {
|
|
File["/etc/apt/apt.conf.d/${name}"] {
|
|
content => $content,
|
|
}
|
|
}
|
|
|
|
if $refresh_apt {
|
|
File["/etc/apt/apt.conf.d/${name}"] {
|
|
notify => Exec['refresh_apt'],
|
|
}
|
|
}
|
|
|
|
}
|