namespace :sphinx do namespace :centos do desc <<-DESC Install sphinx.\n DESC task_arg(:sphinx_build_options, <<-EOS) Sphinx build options.
set :sphinx_build_options, {
:url => "http://www.sphinxsearch.com/downloads/sphinx-0.9.7.tar.gz",
:configure_options => "--with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql
--prefix=\#{sphinx_prefix}"
}
EOS
task_arg(:sphinx_prefix, "Sphinx install prefix", :default => "/usr/local/sphinx")
task :install do
# Install dependencies
yum.install([ "gcc-c++" ])
# Build
build.make_install("sphinx", sphinx_build_options)
end
desc <<-DESC
Setup sphinx for application.
"Source":#{link_to_source(__FILE__)}
DESC
task_arg(:sphinx_prefix, "Sphinx install prefix", :default => "/usr/local/sphinx")
task_arg(:sphinx_pid_path, "Directory to sphinx pid", :default => Proc.new{"#{shared_path}/pids/searchd.pid"}, :default_desc => "\#{shared_path}/pids/searchd.pid")
task_arg(:sphinx_conf_path, "Path to sphinx.conf", :default => Proc.new{"#{shared_path}/config/sphinx.conf"}, :default_desc => "\#{shared_path}/config/sphinx.conf")
task_arg(:sphinx_index_root, "Path to sphinx indexes", :default => Proc.new{"#{shared_path}/var/index"}, :default_desc => "\#{shared_path}/var/index")
task :setup do
initscript
# Create app indexes dir
run "mkdir -p #{shared_path}/var/index"
end
desc "Setup sphinx initscript"
task_arg(:sphinx_prefix, "Sphinx install prefix", :default => "/usr/local/sphinx")
task_arg(:sphinx_pid_path, "Directory to sphinx pid", :default => Proc.new{"#{shared_path}/pids/searchd.pid"}, :default_desc => "\#{shared_path}/pids/searchd.pid")
task_arg(:sphinx_conf_path, "Path to sphinx.conf", :default => Proc.new{"#{shared_path}/config/sphinx.conf"}, :default_desc => "\#{shared_path}/config/sphinx.conf")
task_arg(:sphinx_index_root, "Path to sphinx indexes", :default => Proc.new{"#{shared_path}/var/index"}, :default_desc => "\#{shared_path}/var/index")
task :initscript do
utils.install_template("sphinx/sphinx_app.initd.centos.erb", "/etc/init.d/sphinx_#{application}")
run_via "/sbin/chkconfig --level 345 sphinx_#{application} on"
end
end
end