Managing requirements for installing the lsb package has proven over
time to make no sense. The best approach to this is to require
lsb-release to be installed alongside puppet, since otherwise there are
so much facts that get no value during the run and you end up needing to
run puppet twice to get the real end result.
Also, since we're not including a class that is actually installing the
'lsb' package, that require line makes it so that including the apt
module doesn't work, and there's no documentation in the README about
needing to provide a package{'lsb':} resource with the apt class.
Because of all that, it makes more sense to just get rid of that require
line and mark lsb as a pre-requirement in the README file.
Ubuntu shouldn't be using debian backports by default.
This was written by Anoine Beaupré, but split from the commit "move
backports to snippets" since the change is unrelated and needs to be
more visible in the commit history.
Micah found an issue with usage of config_content: if you call template('...')
yourself and pass that on to config_content, then your template gets evaluated
without all of the variables. This means that you don't hava access to
blacklisted_packages, mail_recipient or mailonlyonerror.
To make it possible to use a different template while still having access to
those variables, let's make it possible to change the template name that we're
using.
* Removes dependency on lsb-release and/or Facter >1.7
(values are based on $::lsbdistcodename, when available)
* Simplifies maintenance: only lib/facter/util/* require updates as new
releases are made
Caveats:
* apt::codename is removed; to override debian_* facts, set the
FACTER_debian_codename environment variable for puppet
* If tracking unstable, make sure lsb-release is installed, as other
methods can't tell between testing and unstable
This functionality was lost because we stopped using a source file for
the 50unattended-upgrades file that would previously let one override
the configuration per release or per host.
This gets us fixes for the unattended_upgrades in wheezy, as well as the custom_key_dir class parameter replacement of the global variable
Conflicts:
manifests/unattended_upgrades.pp
The problem I'm facing is that the sanity checks prevent one from
using a simple:
apt::preferences_snippet { "bla": ensure => absent }
So, first set a default value for the `priority' parameter, so
that it's not required anymore. Second, add a sanity check to
error out when priority is not set, to get the safe old behaviour.
Then, wrap all sanity checks about arguments within
a "if $ensure == 'present'" block.
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