From cc5c2c2f4a7abcdb6d931023d2e4d6423af4067d Mon Sep 17 00:00:00 2001 From: Ean Rollings Date: Fri, 26 Jul 2013 01:36:48 -0400 Subject: [PATCH 1/3] adding support to inject a prefix command before the installer executes (useful when needing to handler older installers with: "yes | bash ./tarball.bin", the install_cmd_prefix => "yes |" in that case) --- attributes/default.rb | 1 + providers/ark.rb | 2 +- recipes/oracle.rb | 2 ++ resources/ark.rb | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/attributes/default.rb b/attributes/default.rb index 20ed6bb7..5ed68804 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -26,6 +26,7 @@ default['java']['arch'] = kernel['machine'] =~ /x86_64/ ? "x86_64" : "i586" default['java']['openjdk_packages'] = [] default['java']['accept_license_agreement'] = false +default['java']['install_cmd_prefix'] = '' case node['platform_family'] when "rhel", "fedora" diff --git a/providers/ark.rb b/providers/ark.rb index e77056cc..300f4944 100644 --- a/providers/ark.rb +++ b/providers/ark.rb @@ -134,7 +134,7 @@ def download_direct_from_oracle(tarball_name, new_resource) cmd = shell_out( %Q[ cd "#{tmpdir}"; cp "#{Chef::Config[:file_cache_path]}/#{tarball_name}" . ; - bash ./#{tarball_name} -noregister + #{cmd_prefix} bash ./#{tarball_name} -noregister ] ).run_command unless cmd.exitstatus == 0 Chef::Application.fatal!("Failed to extract file #{tarball_name}!") diff --git a/recipes/oracle.rb b/recipes/oracle.rb index 3e199920..eb4a3f99 100644 --- a/recipes/oracle.rb +++ b/recipes/oracle.rb @@ -21,6 +21,7 @@ java_home = node['java']["java_home"] arch = node['java']['arch'] jdk_version = node['java']['jdk_version'] +cmd_prefix = node['java']['install_cmd_prefix'] #convert version number to a string if it isn't already if jdk_version.instance_of? Fixnum @@ -50,6 +51,7 @@ app_home java_home bin_cmds bin_cmds alternatives_priority 1062 + cmd_prefix cmd_prefix action :install end diff --git a/resources/ark.rb b/resources/ark.rb index d96042c3..5df1dbe5 100644 --- a/resources/ark.rb +++ b/resources/ark.rb @@ -28,6 +28,7 @@ attribute :owner, :default => "root" attribute :default, :equal_to => [true, false], :default => true attribute :alternatives_priority, :kind_of => Integer, :default => 1 +attribute :cmd_prefix, :kind_of => String, :default => nil # we have to set default for the supports attribute # in initializer since it is a 'reserved' attribute name From 7e17ae13f8af5c1be1b4ffad5ac1d8012548a680 Mon Sep 17 00:00:00 2001 From: Ean Rollings Date: Fri, 26 Jul 2013 01:39:01 -0400 Subject: [PATCH 2/3] bumping version number to distinguish --- metadata.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/metadata.rb b/metadata.rb index 758ddd3d..d4816244 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,7 +4,7 @@ license "Apache 2.0" description "Installs Java runtime." long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "1.12.1" +version "1.12.2" recipe "java", "Installs Java runtime" recipe "java::openjdk", "Installs the OpenJDK flavor of Java" From 1d8e54483b861f5783873bfd8c2210ba2797f4c1 Mon Sep 17 00:00:00 2001 From: Ean Rollings Date: Fri, 26 Jul 2013 02:03:07 -0400 Subject: [PATCH 3/3] forgot the new_resource. --- providers/ark.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/providers/ark.rb b/providers/ark.rb index 300f4944..08fea2f2 100644 --- a/providers/ark.rb +++ b/providers/ark.rb @@ -134,7 +134,7 @@ def download_direct_from_oracle(tarball_name, new_resource) cmd = shell_out( %Q[ cd "#{tmpdir}"; cp "#{Chef::Config[:file_cache_path]}/#{tarball_name}" . ; - #{cmd_prefix} bash ./#{tarball_name} -noregister + #{new_resource.cmd_prefix} bash ./#{tarball_name} -noregister ] ).run_command unless cmd.exitstatus == 0 Chef::Application.fatal!("Failed to extract file #{tarball_name}!")