summaryrefslogtreecommitdiff
path: root/puppet/modules/apt/manifests/upgrade_package.pp
diff options
context:
space:
mode:
authorMicah <micah@leap.se>2016-07-12 16:45:30 -0400
committerMicah <micah@leap.se>2016-07-12 16:45:30 -0400
commit2e384e68fb867d8ba7178c4398e35653ab567538 (patch)
tree28db86956c9f1a9960e7ddb3e45574335ebaf8d5 /puppet/modules/apt/manifests/upgrade_package.pp
parent4ccae8700fb136bfbc6b7ef7bb0ab482e632139f (diff)
git subrepo clone https://leap.se/git/puppet_apt puppet/modules/apt
subrepo: subdir: "puppet/modules/apt" merged: "33c61e8" upstream: origin: "https://leap.se/git/puppet_apt" branch: "master" commit: "33c61e8" git-subrepo: version: "0.3.0" origin: "https://github.com/ingydotnet/git-subrepo" commit: "1e79595" Change-Id: I6515ec49bbacdffd9f3729d486d2868162f9ac78
Diffstat (limited to 'puppet/modules/apt/manifests/upgrade_package.pp')
-rw-r--r--puppet/modules/apt/manifests/upgrade_package.pp31
1 files changed, 31 insertions, 0 deletions
diff --git a/puppet/modules/apt/manifests/upgrade_package.pp b/puppet/modules/apt/manifests/upgrade_package.pp
new file mode 100644
index 00000000..30572c96
--- /dev/null
+++ b/puppet/modules/apt/manifests/upgrade_package.pp
@@ -0,0 +1,31 @@
+define apt::upgrade_package (
+ $version = ''
+) {
+
+ $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 => Package['apt-show-versions', 'dctrl-tools'],
+ before => Exec['apt_updated']
+ }
+
+}