upgrade_package.pp 976 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. define apt::upgrade_package (
  2. $version = ''
  3. ) {
  4. if $apt::disable_update == false {
  5. include apt::update
  6. }
  7. $version_suffix = $version ? {
  8. '' => '',
  9. 'latest' => '',
  10. default => "=${version}",
  11. }
  12. if !defined(Package['apt-show-versions']) {
  13. package { 'apt-show-versions':
  14. ensure => installed,
  15. require => undef,
  16. }
  17. }
  18. if !defined(Package['dctrl-tools']) {
  19. package { 'dctrl-tools':
  20. ensure => installed,
  21. require => undef,
  22. }
  23. }
  24. $req = $apt::disable_update ? {
  25. true => Package['apt-show-versions', 'dctrl-tools'],
  26. default => [
  27. Exec['apt_updated'],
  28. Package['apt-show-versions', 'dctrl-tools']
  29. ],
  30. }
  31. exec { "apt-get -q -y -o 'DPkg::Options::=--force-confold' install ${name}${version_suffix}":
  32. onlyif => [ "grep-status -F Status installed -a -P $name -q", "apt-show-versions -u $name | grep -q upgradeable" ],
  33. require => $req
  34. }
  35. }