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

Expand the apt provider to support virtual packages

    Details

    • Template:
    • Team:
      Night's Watch
    • Story Points:
      3
    • Sprint:
      PR - 2019-06-12, PR - 2019-06-25, PR - 2019-07-10, PR - 2019-07-23, NW - 2019-09-18
    • Release Notes:
      New Feature
    • Release Notes Summary:
      Hide
      This enables apt and dpkg providers to install virtual packages.
      There is an attribute named allow_virtual which by default is set to true which enables the functionality to install virtual packages, the same behaviour can be found for rpm provider.

      If a package that is defined as virtual by default it will search a real package on that system.
      Example for virtual package named rubygems:

      package { 'rubygems':
          ensure => 'latest'
      }

      It will find ruby as the real package and it will be installed instead of rubygems.
      Note: this also can do unwanted behaviour if someone wants to uninstall a virtual package
      Example:

      package {'rubygems':
      ensure => 'absent'
      }

      This by default will remove ruby package.

      If the user don't want this functionality it can be done by setting the attribute allow_virtual to false.
      Example:

      package {'rubygems':
      ensure => 'absent'
      allow_virtual => false
      }
      Show
      This enables apt and dpkg providers to install virtual packages. There is an attribute named allow_virtual which by default is set to true which enables the functionality to install virtual packages, the same behaviour can be found for rpm provider. If a package that is defined as virtual by default it will search a real package on that system. Example for virtual package named rubygems: package { 'rubygems':     ensure => 'latest' } It will find ruby as the real package and it will be installed instead of rubygems. Note: this also can do unwanted behaviour if someone wants to uninstall a virtual package Example: package {'rubygems': ensure => 'absent' } This by default will remove ruby package. If the user don't want this functionality it can be done by setting the attribute allow_virtual to false. Example: package {'rubygems': ensure => 'absent' allow_virtual => false }
    • QA Risk Assessment:
      Needs Assessment

      Description

      This seems to be a problem for the rubygems package, particularly in Debian / Ubuntu.  I linked to a couple older tickets where this is reported as a minor issue with no workaround.

        Attachments

          Issue Links

            Activity

              jsd-sla-details-panel

                People

                • Assignee:
                  alexandru.popa Alexandru Popa
                  Reporter:
                  erik.hansen Erik Hansen
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  6 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: