Capistrano from windows to linux


#1

There seems to be a bug when deploying a rails application developed
in windows to a linux box. The rake deploy command attempts to run the
command “/install/path/current/script/process/reaper” but the files do
not have the execute bit set.

What can I do to make sure either the execute bit is run or prepend
the command with sh or ruby?

Thanks.


#2

There’s probably an easier way to do it, but I added a task to
deploy.rb:

Makes reaper and dispatch.fcgi executable

task :after_update_code, :roles => [:web, :db, :app] do
run “chmod 744 #{release_path}/script/process/reaper”
run “chmod 744 #{release_path}/script/*”
run “chmod 744 #{release_path}/public/dispatch.fcgi”
end

– Will

Tim U. wrote:

There seems to be a bug when deploying a rails application developed
in windows to a linux box. The rake deploy command attempts to run the
command “/install/path/current/script/process/reaper” but the files do
not have the execute bit set.

What can I do to make sure either the execute bit is run or prepend
the command with sh or ruby?

Thanks.


#3

The problem is that the file is originally checked in on windows and
windows
has no execute bit for files.

In SVN you can set the property of the file so that when checked-out on
a
system that supports an execute bit it will be set.

Setting the executable bit is actually one of the examples given in the
propset documentation:

http://svnbook.red-bean.com/nightly/en/svn.ref.svn.c.propset.html

Once you do that the reaper will have the execute bit set. Then you may
discover other challenges…

Good luck,

-Kelly


#4

Thanks that worked like a charm.