From 39f10bc4c2e6351d0fa4dff795a95a554b5d7cfa Mon Sep 17 00:00:00 2001 From: Doug Lethin Date: Sat, 12 Apr 2014 23:11:11 -0400 Subject: [PATCH 1/2] Fix to make sure checksum comparsion works to prevent multiple downloads of same archives --- providers/ark.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/ark.rb b/providers/ark.rb index 5a24b179..880594d6 100644 --- a/providers/ark.rb +++ b/providers/ark.rb @@ -54,7 +54,7 @@ def oracle_downloaded?(download_path, new_resource) require 'digest' if new_resource.checksum =~ /^[0-9a-f]{32}$/ downloaded_sha = Digest::MD5.file(download_path).hexdigest - downloaded_sha == new_resource.md5 + downloaded_sha == new_resource.checksum else downloaded_sha = Digest::SHA256.file(download_path).hexdigest downloaded_sha == new_resource.checksum From 32604633d6844b7f3402d5d12d1eb71612abbb48 Mon Sep 17 00:00:00 2001 From: Doug Lethin Date: Sat, 12 Apr 2014 23:16:45 -0400 Subject: [PATCH 2/2] Make sure to include --no-same-owner so that recipe works in situations where you are unpacking into an nfs filesystem, like in the case where you are using vagrant/vagrant-cachier with nnfs sharing option --- providers/ark.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/providers/ark.rb b/providers/ark.rb index 5a24b179..00ef8329 100644 --- a/providers/ark.rb +++ b/providers/ark.rb @@ -54,7 +54,7 @@ def oracle_downloaded?(download_path, new_resource) require 'digest' if new_resource.checksum =~ /^[0-9a-f]{32}$/ downloaded_sha = Digest::MD5.file(download_path).hexdigest - downloaded_sha == new_resource.md5 + downloaded_sha == new_resource.md5 else downloaded_sha = Digest::SHA256.file(download_path).hexdigest downloaded_sha == new_resource.checksum @@ -151,7 +151,7 @@ def download_direct_from_oracle(tarball_name, new_resource) end when /^.*\.(tar.gz|tgz)/ cmd = shell_out( - %Q[ tar xvzf "#{Chef::Config[:file_cache_path]}/#{tarball_name}" -C "#{Chef::Config[:file_cache_path]}" ] + %Q[ tar xvzf "#{Chef::Config[:file_cache_path]}/#{tarball_name}" -C "#{Chef::Config[:file_cache_path]}" "--no-same-owner" ] ) unless cmd.exitstatus == 0 Chef::Application.fatal!("Failed to extract file #{tarball_name}!")