[Groonga-commit] droonga/droonga-engine at b547857 [master] Detect service base path automatically

Back to archive index

Piro / YUKI Hiroshi null+****@clear*****
Tue Sep 23 20:35:21 JST 2014


Piro / YUKI Hiroshi	2014-09-23 20:35:21 +0900 (Tue, 23 Sep 2014)

  New Revision: b547857f1abb0f0f3d1099bff1cf87f089113b08
  https://github.com/droonga/droonga-engine/commit/b547857f1abb0f0f3d1099bff1cf87f089113b08

  Message:
    Detect service base path automatically

  Modified files:
    bin/droonga-engine-status
    bin/droonga-engine-unjoin
    lib/droonga/service_installation.rb

  Modified: bin/droonga-engine-status (+11 -0)
===================================================================
--- bin/droonga-engine-status    2014-09-23 20:30:04 +0900 (165b61e)
+++ bin/droonga-engine-status    2014-09-23 20:35:21 +0900 (3b4475f)
@@ -19,6 +19,17 @@ require "optparse"
 require "sys/proctable"
 
 require "droonga/command/droonga_engine"
+require "droonga/service_installation"
+
+service_installation = Droonga::ServiceInstallation.new
+service_installation.ensure_using_service_base_directory
+
+unless service_installation.have_read_permission?
+  puts("You have no permission to read files under " +
+         "<#{Droonga::Path.base.to_s}>.")
+  puts("Try again with right permission.")
+  exit(false)
+end
 
 configuration = Droonga::Command::DroongaEngine::Configuration.new
 parser = OptionParser.new

  Modified: bin/droonga-engine-unjoin (+12 -0)
===================================================================
--- bin/droonga-engine-unjoin    2014-09-23 20:30:04 +0900 (cf4774b)
+++ bin/droonga-engine-unjoin    2014-09-23 20:35:21 +0900 (b9aa6f6)
@@ -24,8 +24,12 @@ require "droonga/engine/version"
 require "droonga/path"
 require "droonga/catalog_generator"
 require "droonga/safe_file_writer"
+require "droonga/service_installation"
 require "droonga/serf"
 
+service_installation = Droonga::ServiceInstallation.new
+service_installation.ensure_using_service_base_directory
+
 options = OpenStruct.new
 options.base_dir = ENV[Droonga::Path::BASE_DIR_ENV_NAME] || Dir.pwd
 
@@ -48,6 +52,7 @@ parser.parse!(ARGV)
 base_dir = Pathname(options.base_dir).expand_path
 ENV[Droonga::Path::BASE_DIR_ENV_NAME] = base_dir.to_s
 
+
 catalog_path = Droonga::Path.catalog
 unless catalog_path.exist?
   raise "Cannot load 'catalog.json'. You must specify correct path " +
@@ -59,6 +64,13 @@ unless options.replica_remove_host
           "be removed from the cluster via --replica-remove-host option."
 end
 
+unless service_installation.have_read_permission?
+  puts("You have no permission to read files under " +
+         "<#{Droonga::Path.base.to_s}>.")
+  puts("Try again with right permission.")
+  exit(false)
+end
+
 source_catalog = JSON.parse(catalog_path.read)
 generator = Droonga::CatalogGenerator.new
 generator.load(source_catalog)

  Modified: lib/droonga/service_installation.rb (+10 -0)
===================================================================
--- lib/droonga/service_installation.rb    2014-09-23 20:30:04 +0900 (564b4c8)
+++ lib/droonga/service_installation.rb    2014-09-23 20:35:21 +0900 (537c579)
@@ -43,6 +43,16 @@ module Droonga
       end
     end
 
+    def have_read_permission?
+      test_file = Path.config
+      begin
+        test_file.read
+      rescue Errno::EACCES => error
+        return false
+      end
+      true
+    end
+
     def have_write_permission?
       test_file = Path.base + "#{Time.now.to_i}.test"
       begin
-------------- next part --------------
HTML����������������������������...
Download 



More information about the Groonga-commit mailing list
Back to archive index