Issue #12678 has been updated by David Portabella.

Hi,
what is the status of this ticket?


----------------------------------------
Bug #12678: yum provider doesn't respect items provided by a package, only the 
package name
https://projects.puppetlabs.com/issues/12678#change-99909

* Author: Michael Stahnke
* Status: Tests Insufficient
* Priority: Normal
* Assignee: 
* Category: 
* Target version: 
* Affected Puppet version: 2.7.10
* Keywords: yum package provides whatprovides
* Branch: 
----------------------------------------
A simple use case:

In EL5 and earlier, the curl development headers were included in a package 
called curl-devel.  In EL6 and later that package was renamed to libcurl-devel. 
 However, the libcurl-devel package still provides curl-devel.  

When using something like 

    package { "curl-devel":
      ensure => installed
    }

puppet looks for this package every time. 

    [root@centos6-32 ~]# puppet resource package libcurl-devel
    warning: Package kernel found in both yum and yum; skipping the yum version
    warning: Package gpg-pubkey found in both yum and yum; skipping the yum 
version
    package { 'libcurl-devel':
      ensure => '7.19.7-26.el6_1.2',
    }
    [root@centos6-32 ~]# puppet resource package curl-devel
    warning: Package kernel found in both yum and yum; skipping the yum version
    warning: Package gpg-pubkey found in both yum and yum; skipping the yum 
version
    package { 'curl-devel':
        ensure => 'absent',
    }
    [root@centos6-32 ~]# rpm -q --whatprovides curl-devel
    libcurl-devel-7.19.7-26.el6_1.2.i686
    [root@centos6-32 ~]# 

The yum provider should basically use the way yum work to make this happen.  If 
I do "yum install curl-devel" on EL6, it pulls in libcurl-devel.  If I then do 
an rpm -q --whatprovides curl-devel it shows that libcurl-devel provides that, 
and thus something does not need to be installed.  

Fixing this would likely have the side-benefit of being able to use the file 
installation methods on yum as well.  Such as
    yum install /usr/bin/foo

Puppet would be like
  package { "/usr/bin/foo": 
     ensure => installed,
  }

That would then install whatever package contains the file /usr/bin/foo, as yum 
from the CLI does.  




-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to