|
17 | 17 | # limitations under the License. |
18 | 18 | # |
19 | 19 |
|
20 | | -node['perl']['packages'].each do |perl_pkg| |
21 | | - package perl_pkg |
22 | | -end |
| 20 | +unless node['platform'] == 'windows' |
| 21 | + node['perl']['packages'].each do |perl_pkg| |
| 22 | + package perl_pkg |
| 23 | + end |
| 24 | + |
| 25 | + cpanm = node['perl']['cpanm'].to_hash |
| 26 | + root_group = (node[:platform] == "mac_os_x") ? "admin" : "root" |
| 27 | + remote_file cpanm['path'] do |
| 28 | + source cpanm['url'] |
| 29 | + checksum cpanm['checksum'] |
| 30 | + owner "root" |
| 31 | + group root_group |
| 32 | + mode 0755 |
| 33 | + end |
| 34 | +else |
| 35 | + installer = "strawberry-perl-#{node['perl']['maj_version']}.#{node['perl']['min_version']}.#{node['perl']['sub_version']}-#{node['perl']['bitness']}.msi" |
| 36 | + |
| 37 | + tempdir = "#{ENV['TEMP']}" |
| 38 | + |
| 39 | + if tempdir.nil? || tempdir == '' |
| 40 | + tempdir = 'C:\\temp\\' |
23 | 41 |
|
24 | | -cpanm = node['perl']['cpanm'].to_hash |
25 | | -root_group = (node[:platform] == "mac_os_x") ? "admin" : "root" |
26 | | -remote_file cpanm['path'] do |
27 | | - source cpanm['url'] |
28 | | - checksum cpanm['checksum'] |
29 | | - owner "root" |
30 | | - group root_group |
31 | | - mode 0755 |
| 42 | + #directory 'C:\\temp\\' do |
| 43 | + directory "#{tempdir}" do |
| 44 | + action :create |
| 45 | + inherits true |
| 46 | + owner "administrator" |
| 47 | + group "administrators" |
| 48 | + end |
| 49 | + end |
| 50 | + |
| 51 | + directory node['perl']['install_dir'] do |
| 52 | + action :create |
| 53 | + recursive true |
| 54 | + inherits true |
| 55 | + owner "administrator" |
| 56 | + group "administrators" |
| 57 | + end |
| 58 | + |
| 59 | + remote_file "#{tempdir}\\#{installer}" do |
| 60 | + source "https://strawberry-perl.googlecode.com/files/#{installer}" |
| 61 | + action :create |
| 62 | + owner "administrator" |
| 63 | + group "administrators" |
| 64 | + mode 0774 |
| 65 | + end |
| 66 | + |
| 67 | + execute "Install StrawberryPerl" do |
| 68 | + command "msiexec /qn /i #{tempdir}\\#{installer} INSTALLDIR=#{node['perl']['install_dir']} PERL_PATH=YES" |
| 69 | + not_if { File.exists?("#{node['perl']['install_dir']}\\perl\\bin\\perl.exe") } |
| 70 | + end |
| 71 | + |
| 72 | + execute "Add Perl to PATH" do |
| 73 | + command "setx /M path \"#{node['perl']['install_dir']}perl\\bin;%path%\"" |
| 74 | + end |
| 75 | + |
| 76 | + ## Going to try the windows_path primitive |
| 77 | + ## This appears to only Append to %PATH%, when I want it to Prepend |
| 78 | + #windows_path "#{node['perl']['install_dir']}perl\\bin" do |
| 79 | + # action :add |
| 80 | + #end |
| 81 | + |
32 | 82 | end |
0 commit comments