Merge branch 'master' into issue_3953

This commit is contained in:
Gabriel Filion 2013-01-02 07:32:12 -05:00
commit cda713fcf6
4 changed files with 33 additions and 8 deletions

9
README
View file

@ -153,6 +153,15 @@ $apt_repos
If this variable is set the default repositories list ("main contrib non-free")
is overriden.
$apt_disable_update
-------------------
Disable "apt-get update" which is normally triggered by apt::upgrade_package
and apt::dist_upgrade.
Note that nodes can be updated once a day by using
APT::Periodic::Update-Package-Lists "1";
in i.e. /etc/apt/apt.conf.d/80_apt_update_daily.
Classes
=======

View file

@ -1,11 +1,16 @@
class apt::dist_upgrade {
include apt::update
if $apt::disable_update == false {
include apt::update
}
exec { 'apt_dist-upgrade':
command => "/usr/bin/apt-get -q -y -o 'DPkg::Options::=--force-confold' dist-upgrade",
refreshonly => true,
require => Exec['apt_updated'],
require => $apt::disable_update ? {
true => undef,
default => Exec['apt_updated'],
}
}
}

View file

@ -21,7 +21,7 @@ class apt {
}
$debian_url = $apt_debian_url ? {
'' => 'http://cdn.debian.net/debian/',
'' => 'http://http.debian.net/debian/',
default => "${apt_debian_url}",
}
$security_url = $apt_security_url ? {
@ -40,6 +40,11 @@ class apt {
'' => 'http://archive.ubuntu.com/ubuntu',
default => "${apt_ubuntu_url}",
}
$disable_update = $apt_disable_update ? {
'' => false,
default => $apt_disable_update
}
case $operatingsystem {
'debian': {
$repos = $apt_repos ? {
@ -68,6 +73,9 @@ class apt {
$codename = $lsbdistcodename
$release = $lsbdistrelease
}
'n/a': {
fail("Unknown lsbdistcodename reported by facter: '$lsbdistcodename', please fix this by setting this variable in your manifest.")
}
default: {
$codename = $lsbdistcodename
$release = debian_release($codename)

View file

@ -1,6 +1,8 @@
define apt::upgrade_package ($version = "") {
include apt::update
if $apt::disable_update == false {
include apt::update
}
$version_suffix = $version ? {
'' => '',
@ -24,10 +26,11 @@ define apt::upgrade_package ($version = "") {
exec { "apt-get -q -y -o 'DPkg::Options::=--force-confold' install ${name}${version_suffix}":
onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ],
require => [
Exec['apt_updated'],
Package['apt-show-versions', 'dctrl-tools'],
],
require => $apt::disable_update ? {
true => Package['apt-show-versions', 'dctrl-tools'],
default => [ Exec['apt_updated'],
Package['apt-show-versions', 'dctrl-tools'] ],
}
}
}