From af50adf4c9e5c9d2d4d5adbcbcb218ed3782c580 Mon Sep 17 00:00:00 2001 From: Martin Wilhelm Date: Tue, 4 Nov 2014 16:04:52 +0100 Subject: [PATCH 1/2] In case we use an URL (as package_name) for pip we have to filter out the real package_name from such a URL (means: We remove all unneeded parts). In the next step we can use the extracted package_name as usual. Signed-off-by: Martin Wilhelm --- metadata.rb | 2 +- providers/pip.rb | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/metadata.rb b/metadata.rb index 4a86423..92e317b 100644 --- a/metadata.rb +++ b/metadata.rb @@ -3,7 +3,7 @@ maintainer_email "noah@coderanger.net" license "Apache 2.0" description "Installs Python, pip and virtualenv. Includes LWRPs for managing Python packages with `pip` and `virtualenv` isolated Python environments." -version "1.4.7" +version "1.4.8" depends "build-essential" depends "yum-epel" diff --git a/providers/pip.rb b/providers/pip.rb index bdd8142..3778155 100644 --- a/providers/pip.rb +++ b/providers/pip.rb @@ -107,7 +107,12 @@ def load_current_resource def current_installed_version @current_installed_version ||= begin out = nil + # In case we feed pip with an URL, one has to filter out the package_name part + if new_resource.package_name.downcase.start_with?('http:', 'https:') || ['git', 'hg', 'svn'].include?(new_resource.package_name.downcase.split('+')[0]) + package_name = new_resource.package_name.match(/^.*\/(\w*)[^\/].*$/)[-1] + else package_name = new_resource.package_name.gsub('_', '-') + end pattern = Regexp.new("^#{Regexp.escape(package_name)} \\(([^)]+)\\)$", true) shell_out("#{which_pip(new_resource)} list").stdout.lines.find do |line| out = pattern.match(line) From 6abd1d487c6a6ffaf0670c6ed92c6fdade7f54cd Mon Sep 17 00:00:00 2001 From: Martin Wilhelm Date: Tue, 4 Nov 2014 16:33:32 +0100 Subject: [PATCH 2/2] Reverted metadata version bump. --- metadata.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.rb b/metadata.rb index 92e317b..4a86423 100644 --- a/metadata.rb +++ b/metadata.rb @@ -3,7 +3,7 @@ maintainer_email "noah@coderanger.net" license "Apache 2.0" description "Installs Python, pip and virtualenv. Includes LWRPs for managing Python packages with `pip` and `virtualenv` isolated Python environments." -version "1.4.8" +version "1.4.7" depends "build-essential" depends "yum-epel"