Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -587,7 +587,9 @@ Default value: `[]`

Installs/removes rpms from local file/URL via yum install command.

* **Note** This can be better than using just the rpm provider because it will pull all the dependencies.
* **Note** This type is deprecated as the core `yum` provider now handles the `source`
parameter properly; see https://github.com/puppetlabs/puppet/pull/6296.
The only use for this type now is the `require_verify` functionality.

#### Examples

Expand Down
34 changes: 22 additions & 12 deletions manifests/install.pp
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#
# @summary Installs/removes rpms from local file/URL via yum install command.
#
# @note This can be better than using just the rpm provider because it will pull all the dependencies.
# @note This type is deprecated as the core `yum` provider now handles the `source`
# parameter properly; see https://github.com/puppetlabs/puppet/pull/6296.
# The only use for this type now is the `require_verify` functionality.
#
# @param source file or URL where RPM is available
# @param ensure the desired state of the package
Expand All @@ -25,29 +27,37 @@
environment => 'LC_ALL=C',
}

case $ensure {
'present', 'installed', default: {
if $require_verify {
if $require_verify {
case $ensure {
'present', 'installed', default: {
exec { "yum-reinstall-${name}":
command => "yum -y reinstall '${source}'",
onlyif => "rpm -q '${name}'",
unless => "rpm -V '${name}'",
timeout => $timeout,
before => Exec["yum-install-${name}"],
}

exec { "yum-install-${name}":
command => "yum -y install '${source}'",
unless => "rpm -q '${name}'",
timeout => $timeout,
}
}

exec { "yum-install-${name}":
command => "yum -y install '${source}'",
unless => "rpm -q '${name}'",
timeout => $timeout,
'absent', 'purged': {
package { $name:
ensure => $ensure,
}
}
}
}
else {
deprecation('yum::install', 'Other than `$require_verify`, the functionality of this type is now handled via the core `yum` package provider.')

'absent', 'purged': {
package { $name:
ensure => $ensure,
}
package { $name:
ensure => $ensure,
source => $source,
}
}
}
Loading