Issue #15980 has been updated by Kamil Wilas.

It is not really "default". There is a few scenarios which help me describe my 
idea:
1. I've installed pip-python from epel. I don't have pip from easy_install. 
Puppet pip provider use pip-python.
2. I've installed pip from easy_install. I don't have pip-python from epel. 
Puppet pip provider use pip.
3. I've both pip from easy_install and pip-python from epel installed. Puppet 
pip provider use pip, because it is newer version of pip and probably reason 
why pip was installed by easy_install was because we want/need newer version. 
If someone create newer rpm package with pip-python then probably that person 
won't install pip by easy_install.

I as sysadmin can decide what provider I want use on my RHEL box by installing 
proper version of pip (from repo or by easy-install) so there is not default 
version. There is maybe promoted version because is newer.


There are two reasons why I decide remove cmd method:
1. to simplify code - why should we keep not used method, it may make only some 
problems and code is less readable? We also need keep tests for that method. I 
think when method will be needed then we can create it. I think it won't be 
needed. I will try explain my idea in next step :)
2. if in future adding new pip command for specific OS will be needed (e.g. 
pip-python3, pip-future, ...) then enough is add line like this:
pip_cmd ||= which('pip-python3') in proper place to 
lib/puppet/provider/package/pip.rb. We don't have to thinking about OS.

Example (given future_OS) and future_code (may be different order - maybe in 
future other solution will be promoted):
pip_cmd ||= which('pip')
pip_cmd ||= which('pip-python')
pip_cmd ||= which('pip-python3')
pip_cmd ||= which('pip-future')
mean if we have pip command on future_OS (we have installed proper package) 
then we use pip, otherwise
if we have pip-python command on future_OS (we have installed proper package) 
then we use pip-python, otherwise...
So same story as I write above. I as sysadmin given box can decide what pip 
version should the puppet pip provider use. The pip provider only allow me to 
do something like this (is enough flexible).
----------------------------------------
Bug #15980: pip provider nonfunctional on redhat-based systems
https://projects.puppetlabs.com/issues/15980#change-83436

Author: Eric Shamow
Status: Re-opened
Priority: Normal
Assignee: Jeff McCune
Category: provider
Target version: 3.1.x
Affected Puppet version: 2.6.17
Keywords: pip
Branch: https://github.com/puppetlabs/puppet/pull/1348


RHEL installs this binary as pip-python, and the pip provider looks explicitly 
for a 'pip' binary.

Current workaround is a symlink file resource to create the binary, but this 
should work out of the box.


-- 
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?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to