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

package type should accept virtual package for rpm

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PUP 3.5.0
    • Component/s: None
    • Labels:
    • Template:
    • Epic Link:
    • Story Points:
      3
    • Sprint:
      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

              jsd-sla-details-panel

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: