]> git.pld-linux.org Git - packages/ruby-mongrel.git/blob - ruby-mongrel-nogems.patch
- up for 1.1.5
[packages/ruby-mongrel.git] / ruby-mongrel-nogems.patch
1 diff -Nur ruby-mongrel-1.1.5.orig/bin/mongrel_rails ruby-mongrel-1.1.5.nogems/bin/mongrel_rails
2 --- ruby-mongrel-1.1.5.orig/bin/mongrel_rails   1969-12-31 17:00:00.000000000 -0700
3 +++ ruby-mongrel-1.1.5.nogems/bin/mongrel_rails 2009-02-20 09:32:44.000000000 -0700
4 @@ -1,3 +1,4 @@
5 +#!/usr/bin/ruby
6  # Copyright (c) 2005 Zed A. Shaw
7  # You can redistribute it and/or modify it under the same terms as Ruby.
8  #
9 @@ -7,7 +8,6 @@
10  require 'yaml'
11  require 'etc'
12  
13 -$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
14  require 'mongrel'
15  require 'mongrel/rails'
16  
17 diff -Nur ruby-mongrel-1.1.5.orig/examples/camping/blog.rb ruby-mongrel-1.1.5.nogems/examples/camping/blog.rb
18 --- ruby-mongrel-1.1.5.orig/examples/camping/blog.rb    1969-12-31 17:00:00.000000000 -0700
19 +++ ruby-mongrel-1.1.5.nogems/examples/camping/blog.rb  2009-02-20 09:32:44.000000000 -0700
20 @@ -1,8 +1,6 @@
21  #!/usr/bin/env ruby
22  
23  $:.unshift File.dirname(__FILE__) + "/../../lib"
24 -require 'rubygems'
25 -require_gem 'camping', '>=1.4'
26  require 'camping/session'
27    
28  Camping.goes :Blog
29 diff -Nur ruby-mongrel-1.1.5.orig/examples/camping/tepee.rb ruby-mongrel-1.1.5.nogems/examples/camping/tepee.rb
30 --- ruby-mongrel-1.1.5.orig/examples/camping/tepee.rb   1969-12-31 17:00:00.000000000 -0700
31 +++ ruby-mongrel-1.1.5.nogems/examples/camping/tepee.rb 2009-02-20 09:32:44.000000000 -0700
32 @@ -1,6 +1,6 @@
33  #!/usr/bin/ruby
34  $:.unshift File.dirname(__FILE__) + "/../../lib"
35 -%w(rubygems redcloth camping acts_as_versioned).each { |lib| require lib }
36 +%w(redcloth camping acts_as_versioned).each { |lib| require lib }
37  
38  Camping.goes :Tepee
39  
40 diff -Nur ruby-mongrel-1.1.5.orig/examples/mongrel_simple_service.rb ruby-mongrel-1.1.5.nogems/examples/mongrel_simple_service.rb
41 --- ruby-mongrel-1.1.5.orig/examples/mongrel_simple_service.rb  1969-12-31 17:00:00.000000000 -0700
42 +++ ruby-mongrel-1.1.5.nogems/examples/mongrel_simple_service.rb        2009-02-20 09:33:09.000000000 -0700
43 @@ -1,6 +1,4 @@
44  # This script emualtes script/server behavior but running webrick http server 
45 -require 'rubygems'
46 -
47  require 'mongrel'
48  require 'yaml'
49  require 'zlib'
50 diff -Nur ruby-mongrel-1.1.5.orig/examples/mongrel_simple_service.rb.orig ruby-mongrel-1.1.5.nogems/examples/mongrel_simple_service.rb.orig
51 --- ruby-mongrel-1.1.5.orig/examples/mongrel_simple_service.rb.orig     1969-12-31 17:00:00.000000000 -0700
52 +++ ruby-mongrel-1.1.5.nogems/examples/mongrel_simple_service.rb.orig   1969-12-31 17:00:00.000000000 -0700
53 @@ -0,0 +1,116 @@
54 +# This script emualtes script/server behavior but running webrick http server 
55 +require 'rubygems'
56 +
57 +require 'mongrel'
58 +require 'yaml'
59 +require 'zlib'
60 +
61 +require 'win32/service'
62 +
63 +DEBUG_LOG_FILE = File.expand_path(File.dirname(__FILE__) + '/debug.log') 
64 +
65 +class SimpleHandler < Mongrel::HttpHandler
66 +    def process(request, response)
67 +      response.start do |head,out|
68 +        head["Content-Type"] = "text/html"
69 +        results = "<html><body>Your request:<br /><pre>#{request.params.to_yaml}</pre><a href=\"/files\">View the files.</a></body></html>"
70 +        if request.params["HTTP_ACCEPT_ENCODING"] == "gzip,deflate"
71 +          head["Content-Encoding"] = "deflate"
72 +          # send it back deflated
73 +          out << Zlib::Deflate.deflate(results)
74 +        else
75 +          # no gzip supported, send it back normal
76 +          out << results
77 +        end
78 +      end
79 +    end
80 +end
81 +
82 +class MongrelDaemon < Win32::Daemon
83 +  def initialize(options)
84 +    @options = options
85 +  end
86 +  
87 +  def service_init
88 +    File.open(DEBUG_LOG_FILE,"a+") { |f| f.puts("#{Time.now} - service_init entered") }
89 +
90 +    File.open(DEBUG_LOG_FILE,"a+") { |f| f.puts("Mongrel running on #{@options[:ip]}:#{@options[:port]} with docroot #{@options[:server_root]}") } 
91 +
92 +    @simple = SimpleHandler.new
93 +    @files = Mongrel::DirHandler.new(@options[:server_root])
94 +
95 +    @http_server = Mongrel::HttpServer.new(@options[:ip], @options[:port])
96 +    @http_server.register("/", @simple)
97 +    @http_server.register("/files", @files)
98 +
99 +    File.open(DEBUG_LOG_FILE,"a+") { |f| f.puts("#{Time.now} - service_init left") }
100 +  end
101 +  
102 +  def service_stop
103 +    File.open(DEBUG_LOG_FILE,"a+"){ |f|
104 +      f.puts "stop signal received: " + Time.now.to_s
105 +      f.puts "sending stop to mongrel threads: " + Time.now.to_s
106 +    }
107 +    #@http_server.stop
108 +  end
109 +
110 +  def service_pause
111 +    File.open(DEBUG_LOG_FILE,"a+"){ |f|
112 +      f.puts "pause signal received: " + Time.now.to_s
113 +    }
114 +  end
115 +  
116 +  def service_resume
117 +    File.open(DEBUG_LOG_FILE,"a+"){ |f|
118 +      f.puts "continue/resume signal received: " + Time.now.to_s
119 +    }
120 +  end
121 +
122 +  def service_main
123 +    File.open(DEBUG_LOG_FILE,"a+") { |f| f.puts("#{Time.now} - service_main entered") }
124 +    
125 +    begin
126 +      File.open(DEBUG_LOG_FILE,"a+") { |f| f.puts("#{Time.now} - http_server.run") }
127 +      @http_server.run
128 +    
129 +      # No runner thread was needed after all!
130 +      #@runner = Thread.new do
131 +      #  @http_server.acceptor.join
132 +      #end
133 +      #File.open("d:\\test.log","a+") { |f| f.puts("#{Time.now} - runner.run") }
134 +      #@runner.run
135 +      
136 +      # here is where magic happens!
137 +      # if put blocking code here, the thread never left service_main, and the rb_func_call in service.c
138 +      # never exit, even if the stop signal is received.
139 +      #
140 +      # to probe my theory, just comment the while loop and remove the '1' from sleep function
141 +      # service start ok, but fail to stop.
142 +      #
143 +      # Even if no functional code is in service_main (because we have other working threads),
144 +      # we must monitor the state of the service to exit when the STOP event is received.
145 +      #
146 +      # Note: maybe not loop in 1 second intervals?
147 +      while state == RUNNING
148 +        sleep 1
149 +      end
150 +      
151 +    rescue StandardError, Exception, interrupt  => err
152 +      File.open(DEBUG_LOG_FILE,"a+"){ |f| f.puts("#{Time.now} - Error: #{err}") }
153 +      File.open(DEBUG_LOG_FILE,"a+"){ |f| f.puts("BACKTRACE: " + err.backtrace.join("\n")) }
154 +      
155 +    end
156 +    
157 +    File.open(DEBUG_LOG_FILE,"a+") { |f| f.puts("#{Time.now} - service_main left") }
158 +  end
159 +  
160 +end
161 +
162 +OPTIONS = {
163 +  :port            => 3000,
164 +  :ip              => "0.0.0.0",
165 +  :server_root     => File.expand_path(File.dirname(__FILE__)),
166 +}
167 +
168 +web_server = MongrelDaemon.new(OPTIONS)
169 +web_server.mainloop
170 diff -Nur ruby-mongrel-1.1.5.orig/examples/mongrel_simple_service.rb.rej ruby-mongrel-1.1.5.nogems/examples/mongrel_simple_service.rb.rej
171 --- ruby-mongrel-1.1.5.orig/examples/mongrel_simple_service.rb.rej      1969-12-31 17:00:00.000000000 -0700
172 +++ ruby-mongrel-1.1.5.nogems/examples/mongrel_simple_service.rb.rej    2009-02-20 09:32:44.000000000 -0700
173 @@ -0,0 +1,12 @@
174 +***************
175 +*** 1,5 ****
176 +  # This script emualtes script/server behavior but running webrick http server 
177 +- require 'rubygems'
178 +  
179 +  require 'mongrel'
180 +  require 'yaml'
181 +--- 1,4 ----
182 +  # This script emualtes script/server behavior but running webrick http server 
183 +  
184 +  require 'mongrel'
185 +  require 'yaml'
186 diff -Nur ruby-mongrel-1.1.5.orig/lib/mongrel/command.rb ruby-mongrel-1.1.5.nogems/lib/mongrel/command.rb
187 --- ruby-mongrel-1.1.5.orig/lib/mongrel/command.rb      1969-12-31 17:00:00.000000000 -0700
188 +++ ruby-mongrel-1.1.5.nogems/lib/mongrel/command.rb    2009-02-20 09:32:44.000000000 -0700
189 @@ -148,6 +148,7 @@
190  
191        # Builds a list of possible commands from the Command derivates list
192        def commands
193 +                               return [] # Neutered
194          pmgr = GemPlugin::Manager.instance
195          list = pmgr.plugins["/commands"].keys
196          return list.sort
197 @@ -190,7 +191,8 @@
198              cmd_name = "mongrel::" + cmd_name
199            end
200  
201 -          command = GemPlugin::Manager.instance.create("/commands/#{cmd_name}", :argv => args)
202 +                                       # Neutered
203 +          # command = GemPlugin::Manager.instance.create("/commands/#{cmd_name}", :argv => args)
204          rescue OptionParser::InvalidOption
205            STDERR.puts "#$! for command '#{cmd_name}'"
206            STDERR.puts "Try #{cmd_name} -h to get help."
207 diff -Nur ruby-mongrel-1.1.5.orig/lib/mongrel/gems.rb ruby-mongrel-1.1.5.nogems/lib/mongrel/gems.rb
208 --- ruby-mongrel-1.1.5.orig/lib/mongrel/gems.rb 1969-12-31 17:00:00.000000000 -0700
209 +++ ruby-mongrel-1.1.5.nogems/lib/mongrel/gems.rb       2009-02-20 09:39:02.000000000 -0700
210 @@ -9,9 +9,12 @@
211            begin 
212              # ActiveSupport breaks 'require' by making it always return a true value
213              Kernel.require 'rubygems'
214 -            version ? gem(library, version) : gem(library)
215 -            retry
216 -          rescue Gem::LoadError, LoadError, RuntimeError
217 +                                               begin
218 +                                                       version ? gem(library, version) : gem(library)
219 +                                               rescue Gem::LoadError
220 +                                               end
221 +                                               retry
222 +          rescue LoadError, RuntimeError
223              # puts "** #{library.inspect} could not be loaded" unless library == "mongrel_experimental"
224            end
225          end  
226 @@ -19,4 +22,4 @@
227        
228      end    
229    end
230 -end
231 \ No newline at end of file
232 +end
233 diff -Nur ruby-mongrel-1.1.5.orig/lib/mongrel/gems.rb.orig ruby-mongrel-1.1.5.nogems/lib/mongrel/gems.rb.orig
234 --- ruby-mongrel-1.1.5.orig/lib/mongrel/gems.rb.orig    1969-12-31 17:00:00.000000000 -0700
235 +++ ruby-mongrel-1.1.5.nogems/lib/mongrel/gems.rb.orig  1969-12-31 17:00:00.000000000 -0700
236 @@ -0,0 +1,22 @@
237 +module Mongrel
238 +  module Gems
239 +    class << self
240 +    
241 +      def require(library, version = nil)
242 +        begin
243 +          Kernel.require library
244 +        rescue LoadError, RuntimeError => e
245 +          begin 
246 +            # ActiveSupport breaks 'require' by making it always return a true value
247 +            Kernel.require 'rubygems'
248 +            version ? gem(library, version) : gem(library)
249 +            retry
250 +          rescue Gem::LoadError, LoadError, RuntimeError
251 +            # puts "** #{library.inspect} could not be loaded" unless library == "mongrel_experimental"
252 +          end
253 +        end  
254 +      end
255 +      
256 +    end    
257 +  end
258 +end
259 \ No newline at end of file
260 diff -Nur ruby-mongrel-1.1.5.orig/lib/mongrel/gems.rb.rej ruby-mongrel-1.1.5.nogems/lib/mongrel/gems.rb.rej
261 --- ruby-mongrel-1.1.5.orig/lib/mongrel/gems.rb.rej     1969-12-31 17:00:00.000000000 -0700
262 +++ ruby-mongrel-1.1.5.nogems/lib/mongrel/gems.rb.rej   2009-02-20 09:32:44.000000000 -0700
263 @@ -0,0 +1,31 @@
264 +***************
265 +*** 5,22 ****
266 +        def require(library, version = nil)
267 +          begin
268 +            Kernel.require library
269 +-         rescue LoadError, RuntimeError => e
270 +-           begin 
271 +-             # ActiveSupport breaks 'require' by making it always return a true value
272 +-             require 'rubygems'
273 +-             version ? gem(library, version) : gem(library)
274 +-             retry
275 +-           rescue Gem::LoadError, LoadError, RuntimeError
276 +              # puts "** #{library.inspect} could not be loaded" unless library == "mongrel_experimental"
277 +-           end
278 +          end  
279 +        end
280 +        
281 +      end    
282 +    end
283 +- end--- 5,15 ----
284 +        def require(library, version = nil)
285 +          begin
286 +            Kernel.require library
287 ++                              rescue LoadError, RuntimeError
288 +              # puts "** #{library.inspect} could not be loaded" unless library == "mongrel_experimental"
289 +          end  
290 +        end
291 +        
292 +      end    
293 +    end
294 ++ end
This page took 0.039705 seconds and 3 git commands to generate.