Skip to content

Commit 0e2f1e6

Browse files
author
Sean OMeara
committed
Merge pull request sous-chefs#63 from ifel/use_pcre_new
Added option to enable PCRE for Linux git
2 parents 799f6e5 + 269c327 commit 0e2f1e6

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ The following attributes are platform-specific.
5858
* `node['git']['version']` - git version to install
5959
* `node['git']['url']` - URL to git tarball
6060
* `node['git']['checksum']` - tarball SHA256 checksum
61+
* `node['git']['use_pcre']` - if true, builds git with PCRE enabled
6162

6263
Recipes
6364
=======

attributes/default.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
default['git']['version'] = '1.9.5'
3535
default['git']['url'] = "https://nodeload.github.com/git/git/tar.gz/v#{node['git']['version']}"
3636
default['git']['checksum'] = '0f30984828d573da01d9f8e78210d5f4c56da1697fd6d278bad4cfa4c22ba271'
37+
default['git']['use_pcre'] = false
3738
end
3839

3940
default['git']['server']['base_path'] = '/srv/git'

libraries/provider_git_client_source.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,17 @@ class Source < Chef::Provider::GitClient
2020
case node['platform_version'].to_i
2121
when 5
2222
pkgs = %w(expat-devel gettext-devel curl-devel openssl-devel zlib-devel)
23+
pkgs += %w{ pcre-devel } if node['git']['use_pcre']
2324
when 6, 7
2425
pkgs = %w(expat-devel gettext-devel libcurl-devel openssl-devel perl-ExtUtils-MakeMaker zlib-devel)
26+
pkgs += %w{ pcre-devel } if node['git']['use_pcre']
2527
else
2628
pkgs = %w(expat-devel gettext-devel curl-devel openssl-devel perl-ExtUtils-MakeMaker zlib-devel) if node['platform'] == 'amazon'
29+
pkgs += %w{ pcre-devel } if node['git']['use_pcre']
2730
end
2831
when 'debian'
2932
pkgs = %w(libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev)
33+
pkgs += %w{ libpcre3-dev } if node['git']['use_pcre']
3034
end
3135

3236
pkgs.each do |pkg|
@@ -44,9 +48,11 @@ class Source < Chef::Provider::GitClient
4448
# reduce line-noise-eyness
4549
execute "Extracting and Building Git #{node['git']['version']} from Source" do
4650
cwd Chef::Config['file_cache_path']
51+
additional_make_params = ""
52+
additional_make_params += "USE_LIBPCRE=1" if node['git']['use_pcre']
4753
command <<-COMMAND
4854
(mkdir git-#{node['git']['version']} && tar -zxf git-#{node['git']['version']}.tar.gz -C git-#{node['git']['version']} --strip-components 1)
49-
(cd git-#{node['git']['version']} && make prefix=#{node['git']['prefix']} install)
55+
(cd git-#{node['git']['version']} && make prefix=#{node['git']['prefix']} #{additional_make_params} install)
5056
COMMAND
5157
not_if "git --version | grep #{node['git']['version']}"
5258
end

0 commit comments

Comments
 (0)