From af8ecf1e9f6745a2c2d8c09b0f1e1d7c572981b9 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Wed, 15 Dec 2010 09:47:57 +0100 Subject: Repair Exec['update_apt'] to run apt-get update when needed. Move this Exec to a dedicated class that is not included by default i.e. we default not to "apt-get update" on every Puppet run. We now make use of this class in the apt::upgrade_package define to make sure APT indexes are up-to-date before attempting package upgrades. One may now use the following to ensure current packages are installed by Package resources: include apt::update Package { require => Exec[apt_updated] } --- manifests/upgrade_package.pp | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'manifests/upgrade_package.pp') diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp index 7656a9b..9f280c6 100644 --- a/manifests/upgrade_package.pp +++ b/manifests/upgrade_package.pp @@ -1,15 +1,16 @@ define apt::upgrade_package ($version = "") { - case $version { - '', 'latest': { - exec { "/usr/bin/apt-get update && aptitude -y install $name": - onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ], - } - } - default: { - exec { "/usr/bin/apt-get update && aptitude -y install $name=$version": - onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ], - } - } + include apt::update + + $version_suffix = $version ? { + '' => '', + 'latest' => '', + default => "=${version}", + } + + exec { "aptitude -y 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'], } + } -- cgit v1.2.3