Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-897

package type should accept virtual package for rpm

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • None
    • PUP 3.5.0
    • 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.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              redmine.exporter redmine.exporter
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support