diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2011-02-14 14:11:19 -0200 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2011-02-14 14:11:19 -0200 |
commit | 1203852923594064e61fcfa0e4bf35f72000175d (patch) | |
tree | a2e24e5555da35cef04a6929a7669663d60c1311 /manifests/upgrade_package.pp | |
parent | b9d11f17fff581fc854823e22a50539fc9e6ace3 (diff) | |
parent | 045e1fc748c83b55ce03c5cb2aa0a8ae29904975 (diff) | |
download | puppet-apt-1203852923594064e61fcfa0e4bf35f72000175d.tar.gz puppet-apt-1203852923594064e61fcfa0e4bf35f72000175d.tar.bz2 |
Merge branch 'master' of git://labs.riseup.net/shared-apt
Conflicts:
manifests/init.pp
templates/sources.list.backports.erb
Diffstat (limited to 'manifests/upgrade_package.pp')
-rw-r--r-- | manifests/upgrade_package.pp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/manifests/upgrade_package.pp b/manifests/upgrade_package.pp new file mode 100644 index 0000000..9202624 --- /dev/null +++ b/manifests/upgrade_package.pp @@ -0,0 +1,33 @@ +define apt::upgrade_package ($version = "") { + + include apt::update + + $version_suffix = $version ? { + '' => '', + 'latest' => '', + default => "=${version}", + } + + if !defined(Package['apt-show-versions']) { + package { 'apt-show-versions': + ensure => installed, + require => undef, + } + } + + if !defined(Package['dctrl-tools']) { + package { 'dctrl-tools': + ensure => installed, + require => undef, + } + } + + 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'], + ], + } + +} |