diff -ur apache-mod_rails-3.0.0-o//Rakefile apache-mod_rails-3.0.0/Rakefile --- apache-mod_rails-3.0.0-o//Rakefile 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/Rakefile 2010-11-25 01:20:28.000000000 +0100 @@ -29,7 +29,6 @@ require 'build/apache2' require 'build/nginx' require 'build/documentation' -require 'build/packaging' require 'build/test_basics' require 'build/oxt_tests' require 'build/cxx_tests' diff -ur apache-mod_rails-3.0.0-o//build/basics.rb apache-mod_rails-3.0.0/build/basics.rb --- apache-mod_rails-3.0.0-o//build/basics.rb 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/build/basics.rb 2010-11-25 01:20:28.000000000 +0100 @@ -14,7 +14,6 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -require 'rubygems' require 'pathname' require 'phusion_passenger' require 'phusion_passenger/packaging' @@ -32,8 +31,6 @@ include PhusionPassenger include PhusionPassenger::PlatformInfo -require 'build/packagetask' -require 'build/gempackagetask' require 'build/rake_extensions' require 'build/cplusplus_support' diff -ur apache-mod_rails-3.0.0-o//helper-scripts/passenger-spawn-server apache-mod_rails-3.0.0/helper-scripts/passenger-spawn-server --- apache-mod_rails-3.0.0-o//helper-scripts/passenger-spawn-server 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/helper-scripts/passenger-spawn-server 2010-11-25 01:22:03.000000000 +0100 @@ -72,7 +72,10 @@ source_root = File.expand_path(File.dirname(__FILE__) + "/..") $LOAD_PATH.unshift("#{source_root}/lib") - require 'rubygems' rescue nil + begin + require 'rubygems' + rescue LoadError + end require 'phusion_passenger' require 'phusion_passenger/debug_logging' require 'phusion_passenger/utils/tmpdir' Only in apache-mod_rails-3.0.0/helper-scripts: passenger-spawn-server~ diff -ur apache-mod_rails-3.0.0-o//lib/phusion_passenger/abstract_server.rb apache-mod_rails-3.0.0/lib/phusion_passenger/abstract_server.rb --- apache-mod_rails-3.0.0-o//lib/phusion_passenger/abstract_server.rb 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/lib/phusion_passenger/abstract_server.rb 2010-11-25 01:22:28.000000000 +0100 @@ -172,7 +172,7 @@ # the associated file descriptors have just been closed. This can # result in mysterious 'EBADFD' errors. So we force RubyGems to # clear all open file handles. - Gem.clear_paths + Gem.clear_paths if defined? Gem # Reseed pseudo-random number generator for security reasons. srand Only in apache-mod_rails-3.0.0/lib/phusion_passenger: abstract_server.rb~ diff -ur apache-mod_rails-3.0.0-o//lib/phusion_passenger/app_process.rb apache-mod_rails-3.0.0/lib/phusion_passenger/app_process.rb --- apache-mod_rails-3.0.0-o//lib/phusion_passenger/app_process.rb 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/lib/phusion_passenger/app_process.rb 2010-11-25 01:20:28.000000000 +0100 @@ -21,7 +21,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -require 'rubygems' +begin + require 'rubygems' +rescue LoadError +end require 'phusion_passenger/exceptions' module PhusionPassenger @@ -63,6 +66,7 @@ return :vendor end + return nil if !defined? Gem environment_rb = File.read("#{app_root}/config/environment.rb") environment_rb =~ /^[^#]*RAILS_GEM_VERSION\s*=\s*["']([!~<>=]*\s*[\d.]+)["']/ gem_version_spec = $1 diff -ur apache-mod_rails-3.0.0-o//lib/phusion_passenger/spawn_manager.rb apache-mod_rails-3.0.0/lib/phusion_passenger/spawn_manager.rb --- apache-mod_rails-3.0.0-o//lib/phusion_passenger/spawn_manager.rb 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/lib/phusion_passenger/spawn_manager.rb 2010-11-25 01:20:28.000000000 +0100 @@ -282,12 +282,12 @@ send_error_page(client, 'database_error', :error => e, :app_root => app_root, :app_name => app_name(app_type), :app_type => app_type) - elsif load_error?(e) + elsif load_error?(e) and defined? Gem # A source file failed to load, maybe because of a # missing gem. If that's the case then the sysadmin # will install probably the gem. So we clear RubyGems's # cache so that it can detect new gems. - Gem.clear_paths + Gem.clear_paths if defined? Gem send_error_page(client, 'load_error', :error => e, :app_root => app_root, :app_name => app_name(app_type)) elsif e.child_exception.is_a?(SystemExit) diff -ur apache-mod_rails-3.0.0-o//lib/phusion_passenger/utils.rb apache-mod_rails-3.0.0/lib/phusion_passenger/utils.rb --- apache-mod_rails-3.0.0-o//lib/phusion_passenger/utils.rb 2010-10-18 14:08:19.000000000 +0200 +++ apache-mod_rails-3.0.0/lib/phusion_passenger/utils.rb 2010-11-25 01:20:28.000000000 +0100 @@ -22,7 +22,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -require 'rubygems' +begin + require 'rubygems' +rescue LoadError +end require 'thread' if (!defined?(RUBY_ENGINE) || RUBY_ENGINE == "ruby") && RUBY_VERSION < "1.8.7" require 'fastthread' @@ -244,7 +247,7 @@ # Make sure RubyGems uses any new environment variable values # that have been set now (e.g. $HOME, $GEM_HOME, etc) and that # it is able to detect newly installed gems. - Gem.clear_paths + Gem.clear_paths if defined? Gem # Because spawned app processes exit using #exit!, #at_exit # blocks aren't called. Here we ninja patch Kernel so that