lib/poolparty/pool/resources/gem_package.rb in auser-poolparty-0.2.37 vs lib/poolparty/pool/resources/gem_package.rb in auser-poolparty-0.2.38
- old
+ new
@@ -8,21 +8,26 @@
# the package details (version and name)
#
# TODO: Add it so that it tries to pull the gem off the master fileserver first...
def loaded(opts={}, parent=self)
if download_url
+
+ execute_on_master do
+ has_exec(:name => "download-#{name}", :cwd => Base.remote_storage_path, :command => "wget #{download_url} -O #{name}.gem", :ifnot => "test -f #{Base.remote_storage_path}/#{name}.gem")
+ end
- has_file(:name => "#{Base.remote_storage_path}/#{name}.gem", :source => "#{Base.fileserver_base}/#{name}.gem")
-
- execute_if("$hostname", "master") do
- has_exec(:name => "download-#{name}", :cwd => Base.remote_storage_path, :command => "wget #{download_url} -O #{name}.gem", :ifnot => "test -f #{Base.remote_storage_path}/#{name}.gem", :notify => get_file("#{Base.remote_storage_path}/#{name}.gem"))
- end
-
- has_exec(opts.merge({:name => "#{name}", :cwd =>"#{Base.remote_storage_path}", :path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin"})) do
+ has_file({
+ :name => "#{Base.remote_storage_path}/#{name}.gem",
+ :source => "#{Base.fileserver_base}/#{name}.gem",
+ :requires => get_host("master")
+ })
+
+ has_exec(opts.merge({:name => "#{name}", :cwd =>"#{Base.remote_storage_path}"})) do
command "gem install -y --no-ri --no-rdoc #{Base.remote_storage_path}/#{name}.gem"
ifnot "gem list --local #{name} | grep #{name} #{"| grep #{version}" if version}"
requires get_file("#{Base.remote_storage_path}/#{name}.gem")
end
+
else
has_exec(opts.merge({:name => "#{name}", :cwd => "/tmp", :path => "/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/var/lib/gems/1.8/bin"})) do
command "gem install -y --no-ri --no-rdoc #{"--version #{version}" if version} #{"--source #{source}" if source} #{name} <<heredoc
1
heredoc"
\ No newline at end of file