Details
-
New Feature
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
3
-
Week 2014-2-5 to 2014-2-12, Week 2014-2-12 to 2014-2-19, Week 2014-2-19 to 2014-2-26
Description
Rpm ( like many similar package systems ) define a system of virtual package, with the tag Provides.
For example, on Mandriva, we have :
$ rpm -q --provides perl-Term-Size-Any-0.1.0-2mdv2010.1
|
perl(Term::Size::Any) = 0.1.0
|
perl-Term-Size-Any = 0.1.0-2mdv2010.1
|
So I can use "urpmi perl(Term::Size::Any)" to install the rpm.
On puppet, the type package do not seem to take this fully in account.
if I use this :
package { 'perl(Term::Size::Any)': ensure => installed }
|
The package is installed, but I see a error message :
err: /Stage[main]//Node[valstar]/Package[perl(Term::Size::Any)]/ensure: change from absent to present failed: Could not find package perl(Term::Size::Any)
|
Here is a patch that fix this. It should allows to use any Provides for all rpm based package managers, but I only checked with urpmi and yum.
It should work ok on all of them, since using a Provides instead of the exact rpm name is a very common feature.