Sha256: e84d6d8ddebd71516bafa87c8775b12ec869194289fdc174c768b89c4eed85f2

Contents?: true

Size: 1.31 KB

Versions: 82

Compression:

Stored size: 1.31 KB

Contents

#!/usr/bin/env ruby
# encoding: utf-8

# This script changes the bootstrap code for all Phusion Passenger commands,
# as well as the Nginx module config script, so that they work no
# matter which Ruby interpreter is currently in $PATH, and no matter how
# Phusion Passenger is packaged.
#
# The bootstrap code must not add ruby_libdir to $LOAD_PATH. The active Ruby
# can be *any* Ruby interpreter, maybe not even MRI. ruby_libdir belongs to
# a Ruby interpreter installed by the distribution, and the files in it may
# may be incompatible with the active Ruby.

type = ARGV.shift

if type == "--ruby"
  ruby_libdir = ARGV.shift
  BOOTSTRAP_CODE = %Q{
    ENV["PASSENGER_LOCATION_CONFIGURATION_FILE"] = "#{ruby_libdir}/phusion_passenger/locations.ini"
    begin
      require 'rubygems'
    rescue LoadError
    end
    require '#{ruby_libdir}/phusion_passenger'
  }
elsif type == "--nginx-module-config"
  bindir = ARGV.shift
  BOOTSTRAP_CODE = %Q{
    PASSENGER_CONFIG=#{bindir}/passenger-config
  }
else
  abort "Invalid type"
end
BOOTSTRAP_CODE.gsub!(/^  (  )?/, '').strip

ARGV.each do |filename|
  File.open(filename, "r+") do |f|
    text = f.read
    text.sub!(
      /^## Magic comment: begin bootstrap ##.*## Magic comment: end bootstrap \#\#$/m,
      BOOTSTRAP_CODE)
    f.rewind
    f.truncate(0)
    f.write(text)
  end
end

Version data entries

82 entries across 82 versions & 2 rubygems

Version Path
passenger-6.0.26 dev/install_scripts_bootstrap_code.rb
passenger-6.0.25 dev/install_scripts_bootstrap_code.rb
passenger-6.0.24 dev/install_scripts_bootstrap_code.rb
passenger-6.0.23 dev/install_scripts_bootstrap_code.rb
passenger-6.0.20 dev/install_scripts_bootstrap_code.rb
passenger-6.0.19 dev/install_scripts_bootstrap_code.rb
passenger-6.0.18 dev/install_scripts_bootstrap_code.rb
passenger-6.0.17 dev/install_scripts_bootstrap_code.rb
passenger-6.0.16 dev/install_scripts_bootstrap_code.rb
passenger-6.0.15 dev/install_scripts_bootstrap_code.rb
passenger-6.0.14 dev/install_scripts_bootstrap_code.rb
passenger-6.0.13 dev/install_scripts_bootstrap_code.rb
passenger-6.0.12 dev/install_scripts_bootstrap_code.rb
passenger-6.0.11 dev/install_scripts_bootstrap_code.rb
passenger-6.0.10 dev/install_scripts_bootstrap_code.rb
passenger-6.0.9 dev/install_scripts_bootstrap_code.rb
passenger-6.0.8 dev/install_scripts_bootstrap_code.rb
passenger-6.0.7 dev/install_scripts_bootstrap_code.rb
passenger-6.0.6 dev/install_scripts_bootstrap_code.rb
passenger-6.0.5 dev/install_scripts_bootstrap_code.rb