From e2ef3ab6a74753166a3fd5dfa2bc93455a50728f Mon Sep 17 00:00:00 2001 From: Kouhei Sutou Date: Thu, 29 May 2014 16:25:05 +0900 Subject: [PATCH] Don't require absolute path with --daemon --- lib/droonga/command/droonga_engine.rb | 16 ++++++++++++---- lib/droonga/serf.rb | 2 +- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib/droonga/command/droonga_engine.rb b/lib/droonga/command/droonga_engine.rb index d7315308..205b29bf 100644 --- a/lib/droonga/command/droonga_engine.rb +++ b/lib/droonga/command/droonga_engine.rb @@ -64,6 +64,14 @@ def parse_command_line_arguments!(command_line_arguments) def ensure_path Path.base + unless $0 == File.basename($0) + droonga_engine_bin_path = File.expand_path(File.dirname($0)) + new_paths = [ + droonga_engine_bin_path, + ENV["PATH"], + ] + ENV["PATH"] = new_paths.join(File::PATH_SEPARATOR) + end end def run_main_loop @@ -185,7 +193,7 @@ def add_log_options(parser) end parser.on("--log-file=FILE", "Output logs to FILE") do |file| - @log_file = file + @log_file = File.expand_path(file) end end @@ -198,7 +206,7 @@ def add_process_options(parser) end parser.on("--pid-file=FILE", "Put PID to the FILE") do |file| - @pid_file = file + @pid_file = File.expand_path(file) end end @@ -208,7 +216,7 @@ def add_path_options(parser) parser.on("--base-dir=DIR", "Use DIR as the base directory", "(#{Path.base})") do |dir| - Path.base = dir + Path.base = File.expand_path(dir) end end @@ -348,7 +356,7 @@ def run command_line = [ RbConfig.ruby, "-S", - "#{$0}-service", + "droonga-engine-service", "--listen-fd", listen_fd.to_s, "--heartbeat-fd", heartbeat_fd.to_s, "--control-read-fd", control_write_in.fileno.to_s, diff --git a/lib/droonga/serf.rb b/lib/droonga/serf.rb index 88262add..6ed72eeb 100644 --- a/lib/droonga/serf.rb +++ b/lib/droonga/serf.rb @@ -46,7 +46,7 @@ def start @pid = run("agent", "-node", @name, "-bind", extract_host(@name), - "-event-handler", "#{$0}-serf-event-handler", + "-event-handler", "droonga-engine-serf-event-handler", *retry_joins) logger.trace("start: done") end