passenger 6.1.3 → 6.1.5

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.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +20 -1
  3. data/Rakefile +1 -1
  4. data/build/agent.rb +15 -15
  5. data/build/apache2.rb +18 -18
  6. data/build/basics.rb +1 -1
  7. data/build/common_library.rb +21 -20
  8. data/build/cxx_tests.rb +19 -19
  9. data/build/integration_tests.rb +3 -3
  10. data/build/misc.rb +10 -9
  11. data/build/nginx.rb +12 -12
  12. data/build/oxt_tests.rb +7 -7
  13. data/build/packaging.rb +11 -11
  14. data/build/ruby_extension.rb +3 -3
  15. data/build/ruby_tests.rb +1 -1
  16. data/build/schema_printer.rb +13 -13
  17. data/build/support/cplusplus.rb +8 -8
  18. data/build/support/cxx_dependency_map.rb +622 -622
  19. data/build/support/general.rb +0 -1
  20. data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +4 -4
  21. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  22. data/build/test_basics.rb +4 -4
  23. data/dev/colorize-logs +6 -6
  24. data/dev/copy_boost_headers +8 -8
  25. data/dev/index_cxx_dependencies.rb +6 -6
  26. data/dev/install_scripts_bootstrap_code.rb +4 -4
  27. data/dev/list_tests +2 -2
  28. data/dev/nginx_version_sha256 +2 -2
  29. data/dev/parse_file_descriptor_log +1 -1
  30. data/passenger.gemspec +5 -4
  31. data/src/agent/Core/Config.h +1 -1
  32. data/src/agent/Core/Controller/Config.h +1 -1
  33. data/src/agent/Watchdog/Config.h +1 -1
  34. data/src/cxx_supportlib/Constants.h +1 -1
  35. data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
  36. data/src/helper-scripts/download_binaries/extconf.rb +8 -8
  37. data/src/helper-scripts/meteor-loader.rb +39 -39
  38. data/src/helper-scripts/rack-loader.rb +1 -0
  39. data/src/helper-scripts/rack-preloader.rb +2 -1
  40. data/src/ruby_native_extension/extconf.rb +27 -28
  41. data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +27 -27
  42. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +5 -4
  43. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +9 -8
  44. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +24 -24
  45. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +5 -5
  46. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +526 -526
  47. data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
  48. data/src/ruby_supportlib/phusion_passenger/common_library.rb +105 -105
  49. data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +5 -5
  50. data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +7 -6
  51. data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
  52. data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
  53. data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
  54. data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +5 -5
  55. data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
  56. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +17 -17
  57. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +18 -18
  58. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +10 -10
  59. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -12
  60. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +24 -23
  61. data/src/ruby_supportlib/phusion_passenger/config/main.rb +26 -26
  62. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -4
  63. data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +1 -1
  64. data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -4
  65. data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +14 -13
  66. data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
  67. data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +34 -33
  68. data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
  69. data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
  70. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +35 -36
  71. data/src/ruby_supportlib/phusion_passenger/message_channel.rb +17 -16
  72. data/src/ruby_supportlib/phusion_passenger/message_client.rb +5 -4
  73. data/src/ruby_supportlib/phusion_passenger/native_support.rb +42 -42
  74. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +548 -548
  75. data/src/ruby_supportlib/phusion_passenger/packaging.rb +6 -6
  76. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +85 -84
  77. data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +13 -13
  78. data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +5 -5
  79. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +65 -65
  80. data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +6 -6
  81. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +5 -5
  82. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +10 -10
  83. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -5
  84. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -7
  85. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
  86. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +7 -7
  87. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/utilities.rb +1 -1
  88. data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +14 -13
  89. data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +27 -26
  90. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +16 -16
  91. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
  92. data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +29 -28
  93. data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
  94. data/src/ruby_supportlib/phusion_passenger/platform_info.rb +37 -36
  95. data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -3
  96. data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +16 -15
  97. data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
  98. data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
  99. data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +5 -4
  100. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +8 -7
  101. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +9 -11
  102. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +27 -26
  103. data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +6 -5
  104. data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +7 -6
  105. data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +13 -13
  106. data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
  107. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +351 -351
  108. data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +11 -11
  109. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +13 -14
  110. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +21 -23
  111. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -4
  112. data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +5 -5
  113. data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -6
  114. data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
  115. data/src/ruby_supportlib/phusion_passenger/utils/download.rb +12 -11
  116. data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +9 -9
  117. data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +8 -7
  118. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -6
  119. data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +4 -4
  120. data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
  121. data/src/ruby_supportlib/phusion_passenger/utils/shellwords.rb +1 -1
  122. data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -0
  123. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +1 -0
  124. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +13 -12
  125. data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -3
  126. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +7 -7
  127. data/src/ruby_supportlib/phusion_passenger/utils.rb +17 -16
  128. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -0
  129. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +3 -2
  130. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +2 -1
  131. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +3 -2
  132. data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +13 -13
  133. data/src/ruby_supportlib/phusion_passenger.rb +27 -26
  134. metadata +3 -3
@@ -24,7 +24,7 @@ define 'ruby-dev' do
24
24
  end
25
25
  end
26
26
 
27
- if ruby_command =~ %r(^/usr/bin/ruby) || ruby_command =~ %r(^/System/Library/Frameworks/Ruby.framework)
27
+ if ruby_command =~ %r{^/usr/bin/ruby} || ruby_command =~ %r{^/System/Library/Frameworks/Ruby.framework}
28
28
  # Only tell user to install the headers with the system's package manager
29
29
  # if Ruby itself was installed with the package manager.
30
30
  on :debian do
@@ -57,13 +57,13 @@ define 'ruby-openssl' do
57
57
  define_checker do
58
58
  begin
59
59
  require 'openssl'
60
- { :found => true }
60
+ { found: true }
61
61
  rescue LoadError
62
62
  false
63
63
  end
64
64
  end
65
65
 
66
- if ruby_command =~ %r(^/usr/bin/ruby)
66
+ if ruby_command =~ %r{^/usr/bin/ruby}
67
67
  # Only tell user to install ruby-openssl with the system's package manager
68
68
  # if Ruby itself was installed with the package manager.
69
69
  on :debian do
@@ -78,7 +78,7 @@ define 'rubygems' do
78
78
  define_checker do
79
79
  begin
80
80
  require 'rubygems'
81
- { :found => true }
81
+ { found: true }
82
82
  rescue LoadError
83
83
  false
84
84
  end
@@ -86,7 +86,7 @@ define 'rubygems' do
86
86
 
87
87
  install_instructions "Please download it from <b>#{website}</b>. " +
88
88
  "Extract the tarball, and run <b>ruby setup.rb</b>"
89
- if ruby_command =~ %r(^/usr/bin/ruby)
89
+ if ruby_command =~ %r{^/usr/bin/ruby}
90
90
  # Only tell user to install RubyGems with the system's package manager
91
91
  # if Ruby itself was installed with the package manager.
92
92
  #
@@ -121,7 +121,7 @@ define 'rake' do
121
121
  end
122
122
  end
123
123
 
124
- if ruby_command =~ %r(^/usr/bin/ruby)
124
+ if ruby_command =~ %r{^/usr/bin/ruby}
125
125
  # Only tell user to install Rake with the system's package manager
126
126
  # if Ruby itself was installed with the package manager.
127
127
  on :debian do
@@ -131,7 +131,7 @@ define 'rake' do
131
131
  urpmi "rake"
132
132
  end
133
133
  on :redhat do
134
- yum_install "rubygem-rake", :epel => true
134
+ yum_install "rubygem-rake", epel: true
135
135
  end
136
136
  end
137
137
  on :other_platforms do
@@ -12,4 +12,4 @@ define 'download-tool' do
12
12
  on :other_platforms do
13
13
  install_instructions "Please install either wget (http://www.gnu.org/software/wget/) or curl (http://curl.haxx.se/)."
14
14
  end
15
- end
15
+ end
@@ -1,4 +1,5 @@
1
1
  # encoding: binary
2
+
2
3
  # Phusion Passenger - https://www.phusionpassenger.com/
3
4
  # Copyright (c) 2010-2025 Asynchronous B.V.
4
5
  #
@@ -33,9 +34,9 @@ module PhusionPassenger
33
34
  def self.linux_distro
34
35
  tags = linux_distro_tags
35
36
  if tags
36
- return tags.first
37
+ tags.first
37
38
  else
38
- return nil
39
+ nil
39
40
  end
40
41
  end
41
42
 
@@ -49,36 +50,36 @@ module PhusionPassenger
49
50
  end
50
51
  lsb_release = read_file("/etc/lsb-release")
51
52
  if lsb_release =~ /Ubuntu/
52
- return [:ubuntu, :debian]
53
+ [ :ubuntu, :debian ]
53
54
  elsif File.exist?("/etc/debian_version")
54
- return [:debian]
55
+ [ :debian ]
55
56
  elsif File.exist?("/etc/redhat-release")
56
57
  redhat_release = read_file("/etc/redhat-release")
57
58
  if redhat_release =~ /CentOS|AlmaLinux|Rocky Linux/
58
59
  # For now treat all non-RHEL enterprise linux distros the same
59
- return [:centos, :redhat]
60
+ [ :centos, :redhat ]
60
61
  elsif redhat_release =~ /Fedora/
61
- return [:fedora, :redhat]
62
+ [ :fedora, :redhat ]
62
63
  elsif redhat_release =~ /Mandriva/
63
- return [:mandriva, :redhat]
64
+ [ :mandriva, :redhat ]
64
65
  else
65
66
  # On official RHEL distros, the content is in the form of
66
67
  # "Red Hat Enterprise Linux Server release 5.1 (Tikanga)"
67
- return [:rhel, :redhat]
68
+ [ :rhel, :redhat ]
68
69
  end
69
70
  elsif File.exist?("/etc/system-release")
70
71
  system_release = read_file("/etc/system-release")
71
72
  if system_release =~ /Amazon Linux/
72
- return [:amazon, :redhat]
73
+ [ :amazon, :redhat ]
73
74
  else
74
- return [:unknown]
75
+ [ :unknown ]
75
76
  end
76
77
  elsif File.exist?("/etc/suse-release")
77
- return [:suse]
78
+ [ :suse ]
78
79
  elsif File.exist?("/etc/gentoo-release")
79
- return [:gentoo]
80
+ [ :gentoo ]
80
81
  else
81
- return [:unknown]
82
+ [ :unknown ]
82
83
  end
83
84
  # TODO: Slackware
84
85
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  # Phusion Passenger - https://www.phusionpassenger.com/
3
4
  # Copyright (c) 2017-2025 Asynchronous B.V.
4
5
  #
@@ -73,18 +74,18 @@ module PhusionPassenger
73
74
  case os_name_simple
74
75
  when 'linux'
75
76
  {
76
- :ipv4 => default_network_interface_linux_for_ip_type(:ipv4),
77
- :ipv6 => default_network_interface_linux_for_ip_type(:ipv6)
77
+ ipv4: default_network_interface_linux_for_ip_type(:ipv4),
78
+ ipv6: default_network_interface_linux_for_ip_type(:ipv6),
78
79
  }
79
80
  when 'macosx', 'freebsd'
80
81
  {
81
- :ipv4 => default_network_interface_bsd_for_ip_type(:ipv4),
82
- :ipv6 => default_network_interface_bsd_for_ip_type(:ipv6)
82
+ ipv4: default_network_interface_bsd_for_ip_type(:ipv4),
83
+ ipv6: default_network_interface_bsd_for_ip_type(:ipv6),
83
84
  }
84
85
  else
85
86
  {
86
- :ipv4 => :unknown,
87
- :ipv6 => :unknown
87
+ ipv4: :unknown,
88
+ ipv6: :unknown,
88
89
  }
89
90
  end
90
91
  end
@@ -106,11 +107,11 @@ module PhusionPassenger
106
107
  device = elems[1].sub(/:$/, '')
107
108
  flags = parse_bsd_or_linux_ifconfig_flags(elems[2])
108
109
  current_iface = {
109
- :device => device,
110
- :type => flags.include?(:loopback) ? :loopback : :unknown,
111
- :flags => flags,
112
- :ipv4 => [],
113
- :ipv6 => []
110
+ device: device,
111
+ type: flags.include?(:loopback) ? :loopback : :unknown,
112
+ flags: flags,
113
+ ipv4: [],
114
+ ipv6: [],
114
115
  }
115
116
  result[device] = current_iface
116
117
 
@@ -125,11 +126,11 @@ module PhusionPassenger
125
126
  actual_iface = current_iface
126
127
  else
127
128
  actual_iface = (result[device] ||= {
128
- :device => device,
129
- :type => :unknown,
130
- :flags => [],
131
- :ipv4 => [],
132
- :ipv6 => []
129
+ device: device,
130
+ type: :unknown,
131
+ flags: [],
132
+ ipv4: [],
133
+ ipv6: [],
133
134
  })
134
135
  end
135
136
  actual_iface[:ipv4] << ip
@@ -146,11 +147,11 @@ module PhusionPassenger
146
147
  next if !File.directory?(path)
147
148
  device = File.basename(path)
148
149
  iface = (result[device] ||= {
149
- :device => device,
150
- :type => :unknown,
151
- :flags => [],
152
- :ipv4 => [],
153
- :ipv6 => []
150
+ device: device,
151
+ type: :unknown,
152
+ flags: [],
153
+ ipv4: [],
154
+ ipv6: [],
154
155
  })
155
156
 
156
157
  if iface[:type] == :unknown && File.exist?("#{path}/type")
@@ -212,11 +213,11 @@ module PhusionPassenger
212
213
  device = elems[0].chomp(':')
213
214
  flags = parse_bsd_or_linux_ifconfig_flags(elems[1])
214
215
  current_interface = {
215
- :device => device,
216
- :type => flags.include?(:loopback) ? :loopback : :unknown,
217
- :flags => flags,
218
- :ipv4 => [],
219
- :ipv6 => []
216
+ device: device,
217
+ type: flags.include?(:loopback) ? :loopback : :unknown,
218
+ flags: flags,
219
+ ipv4: [],
220
+ ipv6: [],
220
221
  }
221
222
  result << current_interface
222
223
 
@@ -79,7 +79,7 @@ module PhusionPassenger
79
79
  when 'linux'
80
80
  # Parse LSB (applicable to e.g. Ubuntu)
81
81
  if read_file('/etc/lsb-release') =~ /DISTRIB_RELEASE=(.+)/
82
- version = $1.delete(%q['"])
82
+ version = $1.delete(%q('"))
83
83
  return VersionComparer.new(version) if !version.empty?
84
84
  end
85
85
 
@@ -106,9 +106,9 @@ module PhusionPassenger
106
106
  # The current platform's shared library extension ('so' on most Unices).
107
107
  def self.library_extension
108
108
  if os_name_simple == "macosx"
109
- return "bundle"
109
+ "bundle"
110
110
  else
111
- return "so"
111
+ "so"
112
112
  end
113
113
  end
114
114
 
@@ -120,11 +120,11 @@ module PhusionPassenger
120
120
  if result = find_command("uname")
121
121
  result
122
122
  elsif File.exist?("/bin/uname")
123
- return "/bin/uname"
123
+ "/bin/uname"
124
124
  elsif File.exist?("/usr/bin/uname")
125
- return "/usr/bin/uname"
125
+ "/usr/bin/uname"
126
126
  else
127
- return nil
127
+ nil
128
128
  end
129
129
  end
130
130
 
@@ -162,21 +162,21 @@ module PhusionPassenger
162
162
  if major >= 11 || (major == 10 && minor >= 16)
163
163
  # Since Big Sur aarch64 is supported, and default on m1 macs.
164
164
  if `#{uname_command} -m` =~ /arm64/
165
- ["arm64", "x86_64"]
165
+ [ "arm64", "x86_64" ]
166
166
  elsif `sysctl -in sysctl.proc_translated` == "1"
167
- ["arm64", "x86_64"]
167
+ [ "arm64", "x86_64" ]
168
168
  else
169
- ["x86_64", "arm64"]
169
+ [ "x86_64", "arm64" ]
170
170
  end
171
171
  elsif minor == 15
172
172
  # Since Catalina x86 is gone.
173
- ["x86_64"]
173
+ [ "x86_64" ]
174
174
  elsif minor >= 6
175
175
  # Since Snow Leopard x86_64 is the default on intel macs.
176
- ["x86_64", "x86"]
176
+ [ "x86_64", "x86" ]
177
177
  else
178
178
  # Before Snow Leopard x86 was the default.
179
- ["x86", "x86_64"]
179
+ [ "x86", "x86_64" ]
180
180
  end
181
181
  else
182
182
  uname = uname_command
@@ -199,13 +199,13 @@ module PhusionPassenger
199
199
  # a CPU that supports both x86 and x86_64, but we're not gonna
200
200
  # go through the trouble of checking that. The main architecture
201
201
  # is what we usually care about.
202
- ["x86"]
202
+ [ "x86" ]
203
203
  elsif arch == "x86_64"
204
204
  # I don't think there's a single x86_64 CPU out there
205
205
  # that doesn't support x86 as well.
206
- ["x86_64", "x86"]
206
+ [ "x86_64", "x86" ]
207
207
  else
208
- [arch]
208
+ [ arch ]
209
209
  end
210
210
  end
211
211
  end
@@ -217,7 +217,7 @@ module PhusionPassenger
217
217
  end
218
218
 
219
219
  def self.requires_no_tls_direct_seg_refs?
220
- return File.exist?("/proc/xen/capabilities") && cpu_architectures[0] == "x86"
220
+ File.exist?("/proc/xen/capabilities") && cpu_architectures[0] == "x86"
221
221
  end
222
222
  memoize :requires_no_tls_direct_seg_refs?, true
223
223
 
@@ -40,7 +40,7 @@ module PhusionPassenger
40
40
  cflags = "-I/opt/local/include"
41
41
  end
42
42
  end
43
- return "#{cflags} -DPCRE2_CODE_UNIT_WIDTH=8"
43
+ "#{cflags} -DPCRE2_CODE_UNIT_WIDTH=8"
44
44
  end
45
45
  memoize :pcre_extra_cflags
46
46
 
@@ -1,4 +1,5 @@
1
1
  # encoding: binary
2
+
2
3
  # Phusion Passenger - https://www.phusionpassenger.com/
3
4
  # Copyright (c) 2010-2025 Asynchronous B.V.
4
5
  #
@@ -143,7 +144,7 @@ module PhusionPassenger
143
144
  exit 1
144
145
  end
145
146
  else
146
- return ruby_executable
147
+ ruby_executable
147
148
  end
148
149
  end
149
150
  memoize :ruby_command
@@ -160,7 +161,7 @@ module PhusionPassenger
160
161
  def self.ruby_supports_fork?
161
162
  # MRI >= 1.9.2's respond_to? returns false for methods
162
163
  # that are not implemented.
163
- return Process.respond_to?(:fork) &&
164
+ Process.respond_to?(:fork) &&
164
165
  RUBY_ENGINE != "jruby" &&
165
166
  RUBY_ENGINE != "macruby" &&
166
167
  rb_config['target_os'] !~ /mswin|windows|mingw/
@@ -170,7 +171,7 @@ module PhusionPassenger
170
171
  # be available for the current Ruby implementation.
171
172
  def self.passenger_needs_ruby_dev_header?
172
173
  # Too much of a trouble for JRuby. We can do without it.
173
- return RUBY_ENGINE != "jruby"
174
+ RUBY_ENGINE != "jruby"
174
175
  end
175
176
 
176
177
  # Returns the correct 'gem' command for this Ruby interpreter.
@@ -181,7 +182,7 @@ module PhusionPassenger
181
182
  if options[:sudo] && gem_install_requires_sudo?
182
183
  command = "#{ruby_sudo_command} #{command}"
183
184
  end
184
- return command
185
+ command
185
186
  end
186
187
  memoize :gem_command
187
188
 
@@ -189,9 +190,9 @@ module PhusionPassenger
189
190
  def self.gem_install_requires_sudo?
190
191
  `#{gem_command} env` =~ /INSTALLATION DIRECTORY: (.+)/
191
192
  if install_dir = $1
192
- return !File.writable?(install_dir)
193
+ !File.writable?(install_dir)
193
194
  else
194
- return nil
195
+ nil
195
196
  end
196
197
  end
197
198
  memoize :gem_install_requires_sudo?
@@ -203,7 +204,7 @@ module PhusionPassenger
203
204
  # The return value may not be the actual correct invocation
204
205
  # for Rake. Use `rake_command` for that.
205
206
  def self.rake
206
- return locate_ruby_tool('rake')
207
+ locate_ruby_tool('rake')
207
208
  end
208
209
  memoize :rake
209
210
 
@@ -219,14 +220,14 @@ module PhusionPassenger
219
220
  # belongs to the current Ruby interpreter. Returns nil if it
220
221
  # doesn't exist.
221
222
  def self.rspec
222
- return locate_ruby_tool('rspec')
223
+ locate_ruby_tool('rspec')
223
224
  end
224
225
  memoize :rspec
225
226
 
226
227
  # Returns whether the current Ruby interpreter is managed by RVM.
227
228
  def self.in_rvm?
228
229
  bindir = rb_config['bindir']
229
- return bindir.include?('/.rvm/') || bindir.include?('/rvm/')
230
+ bindir.include?('/.rvm/') || bindir.include?('/rvm/')
230
231
  end
231
232
 
232
233
  # If the current Ruby interpreter is managed by RVM, returns all
@@ -238,7 +239,7 @@ module PhusionPassenger
238
239
  def self.rvm_paths
239
240
  if in_rvm?
240
241
  result = []
241
- [ENV['rvm_path'], "#{PhusionPassenger.home_dir}/.rvm", "/usr/local/rvm"].each do |path|
242
+ [ ENV['rvm_path'], "#{PhusionPassenger.home_dir}/.rvm", "/usr/local/rvm" ].each do |path|
242
243
  next if path.nil?
243
244
  rubies_path = File.join(path, 'rubies')
244
245
  wrappers_path = File.join(path, 'wrappers')
@@ -257,10 +258,10 @@ module PhusionPassenger
257
258
  "'rvm get head && rvm reload && rvm repair all'."
258
259
  exit 1
259
260
  else
260
- return result
261
+ result
261
262
  end
262
263
  else
263
- return nil
264
+ nil
264
265
  end
265
266
  end
266
267
  memoize :rvm_paths
@@ -289,7 +290,7 @@ module PhusionPassenger
289
290
  # will modify $GEM_HOME to the --path directory. That's
290
291
  # why we need to parse the version of $GEM_HOME *before*
291
292
  # `bundle exec` had modified it.
292
- [GEM_HOME, BUNDLER_ORIG_GEM_HOME].each do |gem_home|
293
+ [ GEM_HOME, BUNDLER_ORIG_GEM_HOME ].each do |gem_home|
293
294
  if gem_home && gem_home =~ %r{rvm/gems/(.+)}
294
295
  return $1.sub(/\/.*/, '')
295
296
  end
@@ -297,7 +298,7 @@ module PhusionPassenger
297
298
 
298
299
  # User might have explicitly set GEM_HOME to a custom directory,
299
300
  # or might have nuked $GEM_HOME. Extract info from $GEM_PATH.
300
- [GEM_PATH, BUNDLER_ORIG_GEM_PATH].each do |gem_path|
301
+ [ GEM_PATH, BUNDLER_ORIG_GEM_PATH ].each do |gem_path|
301
302
  if gem_path
302
303
  gem_path.split(':').each do |gem_path_part|
303
304
  if gem_path_part =~ %r{rvm/gems/(.+)}
@@ -330,7 +331,7 @@ module PhusionPassenger
330
331
  "doesn't help, please contact this program's author for support."
331
332
  exit 1
332
333
  end
333
- return nil
334
+ nil
334
335
  end
335
336
  memoize :rvm_ruby_string
336
337
 
@@ -342,16 +343,16 @@ module PhusionPassenger
342
343
  def self.rvm_installation_mode
343
344
  if in_rvm?
344
345
  if ENV['rvm_path'] =~ /\.rvm/
345
- return :single
346
+ :single
346
347
  else
347
348
  if GEM_HOME =~ /\.rvm/
348
- return :mixed
349
+ :mixed
349
350
  else
350
- return :multi
351
+ :multi
351
352
  end
352
353
  end
353
354
  else
354
- return nil
355
+ nil
355
356
  end
356
357
  end
357
358
 
@@ -359,9 +360,9 @@ module PhusionPassenger
359
360
  # Ruby interpreter is managed by RVM.
360
361
  def self.ruby_sudo_command
361
362
  if in_rvm?
362
- return "rvmsudo"
363
+ "rvmsudo"
363
364
  else
364
- return "sudo"
365
+ "sudo"
365
366
  end
366
367
  end
367
368
 
@@ -382,9 +383,9 @@ module PhusionPassenger
382
383
  result = "rvmsudo "
383
384
  result << "#{args} " if args
384
385
  result << shell
385
- return result
386
+ result
386
387
  else
387
- return "sudo -s #{args}".strip
388
+ "sudo -s #{args}".strip
388
389
  end
389
390
  end
390
391
 
@@ -414,7 +415,7 @@ module PhusionPassenger
414
415
  result = locate_ruby_tool_by_basename(transform_according_to_ruby_exec_format(name) + exeext)
415
416
  end
416
417
  end
417
- return result
418
+ result
418
419
  end
419
420
 
420
421
  # Locates a Ruby tool command, e.g. 'gem', 'rake', 'bundle', etc. Instead of
@@ -445,7 +446,7 @@ module PhusionPassenger
445
446
  private
446
447
  def self.locate_ruby_tool_by_basename(name)
447
448
  if os_name_simple == "macosx" &&
448
- ruby_command =~ %r(\A/System/Library/Frameworks/Ruby.framework/Versions/.*?/usr/bin/ruby\Z)
449
+ ruby_command =~ %r{\A/System/Library/Frameworks/Ruby.framework/Versions/.*?/usr/bin/ruby\Z}
449
450
  # On OS X we must look for Ruby binaries in /usr/bin.
450
451
  # RubyGems puts executables (e.g. 'rake') in there, not in
451
452
  # /System/Libraries/(...)/bin.
@@ -496,7 +497,7 @@ module PhusionPassenger
496
497
  return f.readline =~ /ruby/
497
498
  end
498
499
  rescue EOFError
499
- return false
500
+ false
500
501
  end
501
502
  private_class_method :is_ruby_program?
502
503
 
@@ -508,9 +509,9 @@ module PhusionPassenger
508
509
  install_name = rb_config['RUBY_INSTALL_NAME']
509
510
  if install_name.include?('ruby')
510
511
  format = install_name.sub('ruby', '%s')
511
- return sprintf(format, name)
512
+ sprintf(format, name)
512
513
  else
513
- return name
514
+ name
514
515
  end
515
516
  end
516
517
  private_class_method :transform_according_to_ruby_exec_format
@@ -28,11 +28,11 @@ module PhusionPassenger
28
28
 
29
29
  module PlatformInfo
30
30
  def self.zlib_flags
31
- return nil
31
+ nil
32
32
  end
33
33
 
34
34
  def self.zlib_libs
35
- return '-lz'
35
+ '-lz'
36
36
  end
37
37
  end
38
38