rsence 2.0.0.0.pre → 2.0.0.1.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/INSTALL.rdoc +15 -15
- data/README.rdoc +66 -3
- data/VERSION +1 -1
- data/bin/rsence +5 -101
- data/conf/config.yaml +4 -0
- data/conf/default_conf.yaml +5 -3
- data/conf/{local_conf.yaml → local_conf.yaml.devel} +0 -0
- data/lib/conf/argv.rb +664 -0
- data/lib/conf/default.rb +51 -52
- data/lib/daemon/daemon.rb +281 -195
- data/lib/plugins/pluginmanager.rb +5 -6
- data/lib/transporter/transporter.rb +5 -7
- data/plugins/client_pkg/client_pkg.rb +12 -9
- data/plugins/client_pkg/lib/client_pkg_build.rb +1 -1
- metadata +6 -18
- data/bin/build_client.rb +0 -254
- data/bin/help +0 -6
- data/bin/launch.rb +0 -120
- data/bin/rdoc.sh +0 -2
- data/bin/restart +0 -6
- data/bin/run +0 -6
- data/bin/run.rb +0 -6
- data/bin/save +0 -6
- data/bin/start +0 -6
- data/bin/status +0 -6
- data/bin/stop +0 -6
- data/var/db/.git_include +0 -0
- data/var/log/.git_include +0 -0
- data/var/run/.git_include +0 -0
    
        data/lib/conf/default.rb
    CHANGED
    
    | @@ -12,6 +12,10 @@ require 'rubygems' | |
| 12 12 | 
             
            require 'rack'
         | 
| 13 13 | 
             
            require 'yaml'
         | 
| 14 14 |  | 
| 15 | 
            +
            if RUBY_VERSION.to_f >= 1.9
         | 
| 16 | 
            +
              Encoding.default_external = Encoding::ASCII_8BIT
         | 
| 17 | 
            +
            end
         | 
| 18 | 
            +
             | 
| 15 19 | 
             
            # Legacy:
         | 
| 16 20 | 
             
            LIB_PATHS = []
         | 
| 17 21 | 
             
            PIDPATH = File.join(SERVER_PATH,'var','run')
         | 
| @@ -20,8 +24,6 @@ def load_legacy( local_config_file_path ) | |
| 20 24 | 
             
              require local_config_file_path[0..-4]
         | 
| 21 25 | 
             
            end
         | 
| 22 26 |  | 
| 23 | 
            -
            module RSence
         | 
| 24 | 
            -
             | 
| 25 27 | 
             
            class Configuration
         | 
| 26 28 | 
             
              def array_merge( target, source )
         | 
| 27 29 | 
             
                source.each do |item|
         | 
| @@ -55,10 +57,21 @@ class Configuration | |
| 55 57 | 
             
                  end
         | 
| 56 58 | 
             
                end
         | 
| 57 59 | 
             
              end
         | 
| 58 | 
            -
              def  | 
| 60 | 
            +
              def wizard
         | 
| 61 | 
            +
                puts "Please answer the following questions, blank lines equal to the default in brackets:"
         | 
| 62 | 
            +
                require 'conf/wizard'
         | 
| 63 | 
            +
                if File.directory?( File.join( Dir.pwd, 'conf' ) )
         | 
| 64 | 
            +
                  wizard_conf_file = File.join( Dir.pwd, 'conf', 'local_conf.yaml' )
         | 
| 65 | 
            +
                else
         | 
| 66 | 
            +
                  wizard_conf_file = File.join( SERVER_PATH, 'conf', 'local_conf.yaml' )
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
                wizard_config_data = ConfigWizard.new(config).run( wizard_conf_file )
         | 
| 69 | 
            +
                config.merge!( wizard_config_data )
         | 
| 70 | 
            +
              end
         | 
| 71 | 
            +
              def initialize(args)
         | 
| 59 72 | 
             
                ## Paths for log and pid files
         | 
| 60 | 
            -
                pidpath = File.join( | 
| 61 | 
            -
                logpath = File.join( | 
| 73 | 
            +
                pidpath = File.join( args[:env_path], 'run' )
         | 
| 74 | 
            +
                logpath = File.join( args[:env_path], 'log' )
         | 
| 62 75 |  | 
| 63 76 | 
             
                yaml_conf_path = File.join( SERVER_PATH, 'conf', 'default_conf.yaml' )
         | 
| 64 77 |  | 
| @@ -69,8 +82,9 @@ class Configuration | |
| 69 82 | 
             
                config = YAML.load( File.read( yaml_conf_path ) )
         | 
| 70 83 | 
             
                config[:transporter_conf][:messages] = strings[:messages][:transporter]
         | 
| 71 84 |  | 
| 72 | 
            -
                 | 
| 85 | 
            +
                config[:client_pkg][:src_dirs].unshift( File.join( SERVER_PATH, 'js' ) )
         | 
| 73 86 |  | 
| 87 | 
            +
                default_plugins_path = File.join( SERVER_PATH, 'plugins' )
         | 
| 74 88 | 
             
                unless config[:plugin_paths].include? default_plugins_path
         | 
| 75 89 | 
             
                  config[:plugin_paths].push( default_plugins_path )
         | 
| 76 90 | 
             
                end
         | 
| @@ -84,28 +98,31 @@ class Configuration | |
| 84 98 | 
             
                ## Create default local configuratation override file, if it does not exist:
         | 
| 85 99 | 
             
                local_config_file_paths = [
         | 
| 86 100 | 
             
                  File.join(SERVER_PATH,'conf','local_conf.yaml'),
         | 
| 101 | 
            +
                  '/etc/rsence/config.yaml',
         | 
| 102 | 
            +
                  File.expand_path('~/.rsence/config.yaml'),
         | 
| 87 103 | 
             
                  File.join( File.split( SERVER_PATH )[0], 'conf', 'local_conf.yaml' ),
         | 
| 88 | 
            -
                  File.join( Dir.pwd, 'conf', 'local_conf.yaml' ),
         | 
| 104 | 
            +
                  # File.join( Dir.pwd, 'conf', 'local_conf.yaml' ),
         | 
| 89 105 | 
             
                  File.join(SERVER_PATH,'conf','local_conf.rb'),
         | 
| 90 | 
            -
                  File.join( File.split( SERVER_PATH )[0], 'conf', 'local_conf.rb' ),
         | 
| 91 | 
            -
                  File.join( Dir.pwd, 'conf', 'local_conf.rb' )
         | 
| 106 | 
            +
                  # File.join( File.split( SERVER_PATH )[0], 'conf', 'local_conf.rb' ),
         | 
| 107 | 
            +
                  # File.join( Dir.pwd, 'conf', 'local_conf.rb' )
         | 
| 92 108 | 
             
                ]
         | 
| 93 | 
            -
                 | 
| 94 | 
            -
             | 
| 95 | 
            -
                   | 
| 96 | 
            -
                    argv_conf_file = File.join( Dir.pwd, conf_file )
         | 
| 97 | 
            -
                  end
         | 
| 98 | 
            -
                  local_config_file_paths.push( argv_conf_file )
         | 
| 109 | 
            +
                
         | 
| 110 | 
            +
                args[:conf_files].each do |conf_file|
         | 
| 111 | 
            +
                  local_config_file_paths.push( conf_file )
         | 
| 99 112 | 
             
                end
         | 
| 100 113 |  | 
| 101 | 
            -
                local_config_file_path_found = false
         | 
| 102 114 | 
             
                local_config_file_paths.each do |local_config_file_path|
         | 
| 103 115 | 
             
                  if File.exists? local_config_file_path and File.file? local_config_file_path
         | 
| 104 116 | 
             
                    if local_config_file_path.end_with? '.yaml'
         | 
| 117 | 
            +
                      puts "loading config file: #{local_config_file_path}" if args[:verbose]
         | 
| 105 118 | 
             
                      local_conf = YAML.load( File.read( local_config_file_path ) )
         | 
| 119 | 
            +
                      unless local_conf.class == Hash
         | 
| 120 | 
            +
                        warn "invalid configuration file: #{local_config_file_path.inspect}"
         | 
| 121 | 
            +
                        next
         | 
| 122 | 
            +
                      end
         | 
| 106 123 | 
             
                      hash_merge( config, local_conf )
         | 
| 107 | 
            -
                      local_config_file_path_found = true
         | 
| 108 124 | 
             
                    elsif local_config_file_path.end_with? '.rb'
         | 
| 125 | 
            +
                      warn "WARNING: '.rb' configuration files are deprecated!"
         | 
| 109 126 | 
             
                      # Legacy work-arounds
         | 
| 110 127 | 
             
                      prev_pidpath = PIDPATH
         | 
| 111 128 | 
             
                      prev_logpath = LOGPATH
         | 
| @@ -115,47 +132,35 @@ class Configuration | |
| 115 132 | 
             
                      pidpath = PIDPATH if PIDPATH != prev_pidpath
         | 
| 116 133 | 
             
                      logpath = LOGPATH if LOGPATH != prev_logpath
         | 
| 117 134 | 
             
                      # /Legacy work-arounds
         | 
| 118 | 
            -
                      local_config_file_path_found = true
         | 
| 119 135 | 
             
                    else
         | 
| 120 136 | 
             
                      warn "Only Yaml and Ruby configuration files are allowed at this time."
         | 
| 121 137 | 
             
                    end
         | 
| 122 138 | 
             
                  end
         | 
| 123 139 | 
             
                end
         | 
| 124 140 |  | 
| 125 | 
            -
                 | 
| 126 | 
            -
             | 
| 127 | 
            -
                   | 
| 128 | 
            -
                  require 'conf/wizard'
         | 
| 129 | 
            -
                  if File.directory?( File.join( Dir.pwd, 'conf' ) )
         | 
| 130 | 
            -
                    wizard_conf_file = File.join( Dir.pwd, 'conf', 'local_conf.yaml' )
         | 
| 131 | 
            -
                  else
         | 
| 132 | 
            -
                    wizard_conf_file = File.join( SERVER_PATH, 'conf', 'local_conf.yaml' )
         | 
| 133 | 
            -
                  end
         | 
| 134 | 
            -
                  wizard_config_data = ConfigWizard.new(config).run( wizard_conf_file )
         | 
| 135 | 
            -
                  config.merge!( wizard_config_data )
         | 
| 136 | 
            -
                end
         | 
| 137 | 
            -
                
         | 
| 138 | 
            -
                if not config[:database].has_key?( :ses_db ) and config[:database].has_key?( :auth_setup )
         | 
| 139 | 
            -
                  warn "WARNING: The database is not configured with a :ses_db url."
         | 
| 140 | 
            -
                  warn "         You are advised to convert the :root_setup and :auth_setup keys of"
         | 
| 141 | 
            -
                  warn "         config[:database] to the new url format."
         | 
| 142 | 
            -
                  db_auth = config[:database][:auth_setup]
         | 
| 143 | 
            -
                  config[:database][:ses_db] = "mysql://#{db_auth[:user]}:#{db_auth[:pass]}@#{db_auth[:host]}:#{db_auth[:port]}/#{db_auth[:db]}"
         | 
| 144 | 
            -
                  warn "      -> Performed automatic conversion of :auth_setup as"
         | 
| 145 | 
            -
                  warn "         config[:database][:ses_db] = #{config[:database][:ses_db].inspect}"
         | 
| 141 | 
            +
                env_plugins_path = File.join( args[:env_path], 'plugins' )
         | 
| 142 | 
            +
                unless config[:plugin_paths].include? env_plugins_path
         | 
| 143 | 
            +
                  config[:plugin_paths].push( env_plugins_path )
         | 
| 146 144 | 
             
                end
         | 
| 147 145 |  | 
| 146 | 
            +
                config[:trace] = true if args[:trace_js]
         | 
| 147 | 
            +
                config[:debug_mode] = true if args[:debug]
         | 
| 148 | 
            +
                config[:http_server][:latency] = args[:latency]
         | 
| 149 | 
            +
                config[:http_server][:port] = args[:port] if args[:port]
         | 
| 150 | 
            +
                config[:http_server][:bind_address] = args[:addr] if args[:addr]
         | 
| 151 | 
            +
                config[:http_server][:rack_require] = args[:server] if args[:server]
         | 
| 152 | 
            +
                config[:session_conf][:reset_sessions] = true if args[:reset_ses]
         | 
| 148 153 |  | 
| 149 | 
            -
                config[:trace] = true if ARGV.include?('--trace-js')
         | 
| 150 | 
            -
                config[:debug_mode] = true if ARGV.include?('-d') or ARGV.include?('--debug')
         | 
| 151 | 
            -
                config[:http_server][:latency] = ARGV[ARGV.index('--latency')+1].to_i if ARGV.include?('--latency')
         | 
| 152 | 
            -
                config[:http_server][:port] = ARGV[ARGV.index('--port')+1].to_i if ARGV.include?('--port')
         | 
| 153 | 
            -
                config[:http_server][:bind_address] = ARGV[ARGV.index('--addr')+1] if ARGV.include?('--addr')
         | 
| 154 | 
            -
                config[:http_server][:rack_require] = ARGV[ARGV.index('--server')+1] if ARGV.include?('--server')
         | 
| 155 | 
            -
                config[:session_conf][:reset_sessions] = true if ARGV.include?('--reset-sessions=true') or ARGV.include?('--reset-sessions')
         | 
| 156 154 | 
             
                config[:daemon][:pid_fn] = File.join(pidpath, "rsence.pid") unless config[:daemon].has_key?(:pid_fn)
         | 
| 157 155 | 
             
                config[:daemon][:log_fn] = File.join(logpath, "rsence") unless config[:daemon].has_key?(:log_fn)
         | 
| 158 156 |  | 
| 157 | 
            +
                if config[:database][:ses_db].start_with?('sqlite://')
         | 
| 158 | 
            +
                  db_url = config[:database][:ses_db].split('sqlite://')[1]
         | 
| 159 | 
            +
                  unless db_url.start_with?('/')
         | 
| 160 | 
            +
                    db_url = File.join( args[:env_path], db_url )
         | 
| 161 | 
            +
                    config[:database][:ses_db] = "sqlite://#{db_url}"
         | 
| 162 | 
            +
                  end
         | 
| 163 | 
            +
                end
         | 
| 159 164 |  | 
| 160 165 | 
             
                ## Broker configuration
         | 
| 161 166 | 
             
                [   ## POST-requests
         | 
| @@ -210,11 +215,5 @@ class Configuration | |
| 210 215 | 
             
              end
         | 
| 211 216 | 
             
              attr_reader :config
         | 
| 212 217 | 
             
            end
         | 
| 213 | 
            -
            @@config = Configuration.new.config
         | 
| 214 | 
            -
            def self.config
         | 
| 215 | 
            -
              @@config
         | 
| 216 | 
            -
            end
         | 
| 217 | 
            -
             | 
| 218 | 
            -
            end
         | 
| 219 218 |  | 
| 220 219 |  |