Rpm ( like many similar package systems ) define a system of virtual package, with the tag Provides.
For example, on Mandriva, we have :
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 :
The package is installed, but I see a error message :
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.