lib/phusion_passenger.rb in passenger-4.0.48 vs lib/phusion_passenger.rb in passenger-4.0.49

- old
+ new

@@ -22,42 +22,42 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. module PhusionPassenger FILE_LOCATION = File.expand_path(__FILE__) - - + + ###### Names and version numbers ###### - + PACKAGE_NAME = 'passenger' # Run 'rake ext/common/Constants.h' after changing this number. - VERSION_STRING = '4.0.48' - - PREFERRED_NGINX_VERSION = '1.6.0' - NGINX_SHA256_CHECKSUM = '943ad757a1c3e8b3df2d5c4ddacc508861922e36fa10ea6f8e3a348fc9abfc1a' + VERSION_STRING = '4.0.49' + PREFERRED_NGINX_VERSION = '1.6.1' + NGINX_SHA256_CHECKSUM = 'f5cfe682a1aeef4602c2ca705402d5049b748f946563f41d8256c18674836067' + PREFERRED_PCRE_VERSION = '8.34' PCRE_SHA256_CHECKSUM = '1dd78994c81e44ac41cf30b2a21d4b4cc6d76ccde7fc6e77713ed51d7bddca47' STANDALONE_INTERFACE_VERSION = 1 - - + + ###### Directories ###### - + GLOBAL_NAMESPACE_DIRNAME = "passenger" # Subdirectory under $HOME to use for storing stuff. USER_NAMESPACE_DIRNAME = ".passenger" # The name for the /etc/apache2/mods-available/*.{load,conf} file. APACHE2_MODULE_CONF_NAME = "passenger" - + # Directories in which to look for plugins. PLUGIN_DIRS = [ "/usr/share/#{GLOBAL_NAMESPACE_DIRNAME}/plugins", "/usr/local/share/#{GLOBAL_NAMESPACE_DIRNAME}/plugins", "~/#{USER_NAMESPACE_DIRNAME}/plugins" ] - + REQUIRED_LOCATIONS_INI_FIELDS = [ :bin_dir, :agents_dir, :lib_dir, :helper_scripts_dir, @@ -91,20 +91,20 @@ ORIGINALLY_PACKAGED_LOCATIONS_INI_FIELDS = [ :download_cache_dir, :build_system_dir, :buildout_dir ].freeze - + # Follows the logic of ext/common/ResourceLocator.h, so don't forget to modify that too. def self.locate_directories(source_root_or_location_configuration_file = nil) source_root_or_location_configuration_file ||= find_location_configuration_file root_or_file = @source_root = source_root_or_location_configuration_file - + if root_or_file && File.file?(root_or_file) filename = root_or_file options = parse_ini_file(filename) - + @natively_packaged = get_bool_option(filename, options, 'natively_packaged') REQUIRED_LOCATIONS_INI_FIELDS.each do |field| value = get_option(filename, options, field.to_s) value.freeze unless value.nil? instance_variable_set("@#{field}", value) @@ -144,11 +144,11 @@ raise "BUG: @#{field} not set" end end end end - + # Returns whether this Phusion Passenger installation is in the 'originally packaged' # configuration (as opposed to the 'natively packaged' configuration. def self.originally_packaged? return !@natively_packaged end @@ -201,14 +201,14 @@ end def self.standalone_doc_path return "#{doc_dir}/#{STANDALONE_DOC_NAME}" end - - + + ###### Other resource locations ###### - + INDEX_DOC_NAME = "Users guide.html" APACHE2_DOC_NAME = "Users guide Apache.html" NGINX_DOC_NAME = "Users guide Nginx.html" STANDALONE_DOC_NAME = "Users guide Standalone.html" @@ -217,21 +217,21 @@ { :url => "https://oss-binaries.phusionpassenger.com/binaries/passenger/by_release", :cacert => "#{resources_dir}/oss-binaries.phusionpassenger.com.crt" }, { :url => "https://s3.amazonaws.com/phusion-passenger/binaries/passenger/by_release" } ] end - - + + # Instead of calling `require 'phusion_passenger/foo'`, you should call # `PhusionPassenger.require_passenger_lib 'foo'`. This is because when Phusion # Passenger is natively packaged, it may still be run with arbitrary Ruby # interpreters. Adding ruby_libdir to $LOAD_PATH is then dangerous because ruby_libdir # may be the distribution's Ruby's vendor_ruby directory, which may be incompatible # with the active Ruby interpreter. This method looks up the exact filename directly. - # + # # Using this method also has two more advantages: - # + # # 1. It is immune to Bundler's load path mangling code. # 2. It is faster than plan require() because it doesn't need to # scan the entire load path. def self.require_passenger_lib(name) require("#{ruby_libdir}/phusion_passenger/#{name}") @@ -291,10 +291,10 @@ raise "Option '#{key}' missing in file '#{filename}'" else return nil end end - + def self.get_bool_option(filename, options, key) value = get_option(filename, options, key) return value == 'yes' || value == 'true' || value == 'on' || value == '1' end end if !defined?(PhusionPassenger::VERSION_STRING)