passenger 6.1.4 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG +6 -1
- data/Rakefile +1 -1
- data/build/agent.rb +15 -15
- data/build/apache2.rb +18 -18
- data/build/basics.rb +1 -1
- data/build/common_library.rb +21 -20
- data/build/cxx_tests.rb +19 -19
- data/build/integration_tests.rb +3 -3
- data/build/misc.rb +10 -9
- data/build/nginx.rb +12 -12
- data/build/oxt_tests.rb +7 -7
- data/build/packaging.rb +11 -11
- data/build/ruby_extension.rb +3 -3
- data/build/ruby_tests.rb +1 -1
- data/build/schema_printer.rb +13 -13
- data/build/support/cplusplus.rb +8 -8
- data/build/support/cxx_dependency_map.rb +622 -622
- data/build/support/general.rb +0 -1
- data/build/support/vendor/cxx_hinted_parser/lib/cxx_hinted_parser/parser.rb +4 -4
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/test_basics.rb +4 -4
- data/dev/colorize-logs +6 -6
- data/dev/copy_boost_headers +8 -8
- data/dev/index_cxx_dependencies.rb +6 -6
- data/dev/install_scripts_bootstrap_code.rb +4 -4
- data/dev/list_tests +2 -2
- data/dev/nginx_version_sha256 +2 -2
- data/dev/parse_file_descriptor_log +1 -1
- data/passenger.gemspec +4 -4
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/helper-scripts/backtrace-sanitizer.rb +2 -2
- data/src/helper-scripts/download_binaries/extconf.rb +8 -8
- data/src/helper-scripts/meteor-loader.rb +39 -39
- data/src/helper-scripts/rack-loader.rb +1 -0
- data/src/helper-scripts/rack-preloader.rb +2 -1
- data/src/ruby_native_extension/extconf.rb +27 -28
- data/src/ruby_supportlib/phusion_passenger/abstract_installer.rb +27 -27
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +9 -8
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +24 -24
- data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +526 -526
- data/src/ruby_supportlib/phusion_passenger/apache2/config_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +105 -105
- data/src/ruby_supportlib/phusion_passenger/config/about_command.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/config/api_call_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_agent_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/compile_nginx_engine_command.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/config/detach_process_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +17 -17
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +18 -18
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +10 -10
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +12 -12
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +24 -23
- data/src/ruby_supportlib/phusion_passenger/config/main.rb +26 -26
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/config/reopen_logs_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/restart_app_command.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/config/system_properties_command.rb +14 -13
- data/src/ruby_supportlib/phusion_passenger/config/utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/validate_install_command.rb +34 -33
- data/src/ruby_supportlib/phusion_passenger/console_text_template.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/debug_logging.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +35 -36
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +17 -16
- data/src/ruby_supportlib/phusion_passenger/message_client.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/native_support.rb +42 -42
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +548 -548
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +85 -84
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache_detector.rb +13 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/binary_compatibility.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +65 -65
- data/src/ruby_supportlib/phusion_passenger/platform_info/crypto.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +10 -10
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck.rb +6 -5
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/utilities.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/linux.rb +14 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/networking.rb +27 -26
- data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +16 -16
- data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +29 -28
- data/src/ruby_supportlib/phusion_passenger/platform_info/zlib.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info.rb +37 -36
- data/src/ruby_supportlib/phusion_passenger/plugin.rb +3 -3
- data/src/ruby_supportlib/phusion_passenger/preloader_shared_helpers.rb +16 -15
- data/src/ruby_supportlib/phusion_passenger/public_api.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/handler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/out_of_band_gc.rb +5 -4
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +8 -7
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +9 -11
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +27 -26
- data/src/ruby_supportlib/phusion_passenger/ruby_core_enhancements.rb +6 -5
- data/src/ruby_supportlib/phusion_passenger/ruby_core_io_enhancements.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/standalone/app_finder.rb +13 -13
- data/src/ruby_supportlib/phusion_passenger/standalone/command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +351 -351
- data/src/ruby_supportlib/phusion_passenger/standalone/main.rb +11 -11
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +13 -14
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +21 -23
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/standalone/status_command.rb +5 -5
- data/src/ruby_supportlib/phusion_passenger/standalone/stop_command.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/standalone/version_command.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/download.rb +12 -11
- data/src/ruby_supportlib/phusion_passenger/utils/file_system_watcher.rb +9 -9
- data/src/ruby_supportlib/phusion_passenger/utils/hosts_file_parser.rb +8 -7
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/utils/native_support_utils.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/utils/progress_bar.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/shellwords.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/strscan.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +13 -12
- data/src/ruby_supportlib/phusion_passenger/utils/tmpio.rb +2 -3
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/utils.rb +17 -16
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +2 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/utils.rb +3 -2
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +13 -13
- data/src/ruby_supportlib/phusion_passenger.rb +23 -22
- metadata +2 -2
|
@@ -48,7 +48,7 @@ class CommonLibraryBuilder
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
def initialize_copy(other)
|
|
51
|
-
[:all_components, :all_ordered_components, :selected_components, :namespace, :output_dir].each do |name|
|
|
51
|
+
[ :all_components, :all_ordered_components, :selected_components, :namespace, :output_dir ].each do |name|
|
|
52
52
|
var_name = "@#{name}"
|
|
53
53
|
instance_variable_set(var_name, other.instance_variable_get(var_name).dup)
|
|
54
54
|
end
|
|
@@ -153,43 +153,43 @@ private
|
|
|
153
153
|
object_file,
|
|
154
154
|
source_file,
|
|
155
155
|
lambda { {
|
|
156
|
-
:
|
|
157
|
-
:
|
|
156
|
+
include_paths: CXX_SUPPORTLIB_INCLUDE_PATHS,
|
|
157
|
+
flags: [
|
|
158
158
|
libev_cflags,
|
|
159
159
|
libuv_cflags,
|
|
160
160
|
optimize,
|
|
161
|
-
"#{maybe_eval_lambda(extra_compiler_flags)} #{options[:cflags]}".strip
|
|
162
|
-
]
|
|
161
|
+
"#{maybe_eval_lambda(extra_compiler_flags)} #{options[:cflags]}".strip,
|
|
162
|
+
],
|
|
163
163
|
} }
|
|
164
164
|
)
|
|
165
165
|
end
|
|
166
166
|
|
|
167
167
|
def set_namespace!(namespace)
|
|
168
168
|
@namespace = namespace
|
|
169
|
-
|
|
169
|
+
self
|
|
170
170
|
end
|
|
171
171
|
|
|
172
172
|
def set_output_dir!(dir)
|
|
173
173
|
@output_dir = dir
|
|
174
|
-
|
|
174
|
+
self
|
|
175
175
|
end
|
|
176
176
|
|
|
177
177
|
def only!(*selector)
|
|
178
178
|
new_components = apply_selector(*selector)
|
|
179
179
|
@selected_components = new_components
|
|
180
|
-
|
|
180
|
+
self
|
|
181
181
|
end
|
|
182
182
|
|
|
183
183
|
def exclude!(*selector)
|
|
184
184
|
apply_selector(*selector).each_key do |object_name|
|
|
185
185
|
@selected_components.delete(object_name)
|
|
186
186
|
end
|
|
187
|
-
|
|
187
|
+
self
|
|
188
188
|
end
|
|
189
189
|
|
|
190
190
|
def apply_selector(*selector)
|
|
191
191
|
result = {}
|
|
192
|
-
selector = [selector].flatten
|
|
192
|
+
selector = [ selector ].flatten
|
|
193
193
|
selector.each do |condition|
|
|
194
194
|
@selected_components.each do |object_name, options|
|
|
195
195
|
if component_satisfies_condition?(object_name, options, condition)
|
|
@@ -197,15 +197,15 @@ private
|
|
|
197
197
|
end
|
|
198
198
|
end
|
|
199
199
|
end
|
|
200
|
-
|
|
200
|
+
result
|
|
201
201
|
end
|
|
202
202
|
|
|
203
203
|
def component_satisfies_condition?(object_name, options, condition)
|
|
204
204
|
case condition
|
|
205
205
|
when Symbol
|
|
206
|
-
|
|
206
|
+
condition == :all || options[:category] == condition
|
|
207
207
|
when String
|
|
208
|
-
|
|
208
|
+
object_name == condition
|
|
209
209
|
else
|
|
210
210
|
raise ArgumentError, "Invalid condition #{condition.inspect}"
|
|
211
211
|
end
|
|
@@ -216,7 +216,7 @@ private
|
|
|
216
216
|
@selected_components.each_value do |options|
|
|
217
217
|
categories[options[:category]] = true
|
|
218
218
|
end
|
|
219
|
-
|
|
219
|
+
categories.keys
|
|
220
220
|
end
|
|
221
221
|
|
|
222
222
|
def category_complete?(category)
|
|
@@ -232,7 +232,7 @@ private
|
|
|
232
232
|
actual += 1
|
|
233
233
|
end
|
|
234
234
|
end
|
|
235
|
-
|
|
235
|
+
expected == actual
|
|
236
236
|
end
|
|
237
237
|
|
|
238
238
|
def selected_objects_belonging_to_category(category)
|
|
@@ -242,11 +242,11 @@ private
|
|
|
242
242
|
result << object_name
|
|
243
243
|
end
|
|
244
244
|
end
|
|
245
|
-
|
|
245
|
+
result
|
|
246
246
|
end
|
|
247
247
|
|
|
248
248
|
def object_filenames_for(object_names)
|
|
249
|
-
|
|
249
|
+
object_names.map { |name| "#{@output_dir}/#{name}" }
|
|
250
250
|
end
|
|
251
251
|
|
|
252
252
|
def group_all_components_by_category
|
|
@@ -257,7 +257,7 @@ private
|
|
|
257
257
|
categories[category] ||= []
|
|
258
258
|
categories[category] << object_name
|
|
259
259
|
end
|
|
260
|
-
|
|
260
|
+
categories
|
|
261
261
|
end
|
|
262
262
|
|
|
263
263
|
def locate_source_file(path)
|
|
@@ -268,131 +268,131 @@ end
|
|
|
268
268
|
|
|
269
269
|
COMMON_LIBRARY = CommonLibraryBuilder.new do
|
|
270
270
|
define_component 'LoggingKit.o',
|
|
271
|
-
:
|
|
272
|
-
:
|
|
273
|
-
:
|
|
271
|
+
source: 'LoggingKit/Implementation.cpp',
|
|
272
|
+
category: :base,
|
|
273
|
+
optimize: :very_heavy
|
|
274
274
|
define_component 'Exceptions.o',
|
|
275
|
-
:
|
|
276
|
-
:
|
|
275
|
+
source: 'Exceptions.cpp',
|
|
276
|
+
category: :base
|
|
277
277
|
define_component 'FileTools/PathManip.o',
|
|
278
|
-
:
|
|
279
|
-
:
|
|
278
|
+
source: 'FileTools/PathManip.cpp',
|
|
279
|
+
category: :base
|
|
280
280
|
define_component 'FileTools/FileManip.o',
|
|
281
|
-
:
|
|
282
|
-
:
|
|
281
|
+
source: 'FileTools/FileManip.cpp',
|
|
282
|
+
category: :base
|
|
283
283
|
define_component 'FileTools/PathSecurityCheck.o',
|
|
284
|
-
:
|
|
285
|
-
:
|
|
284
|
+
source: 'FileTools/PathSecurityCheck.cpp',
|
|
285
|
+
category: :base
|
|
286
286
|
define_component 'ProcessManagement/Spawn.o',
|
|
287
|
-
:
|
|
288
|
-
:
|
|
287
|
+
source: 'ProcessManagement/Spawn.cpp',
|
|
288
|
+
category: :base
|
|
289
289
|
define_component 'ProcessManagement/Utils.o',
|
|
290
|
-
:
|
|
291
|
-
:
|
|
290
|
+
source: 'ProcessManagement/Utils.cpp',
|
|
291
|
+
category: :base
|
|
292
292
|
define_component 'SystemTools/UserDatabase.o',
|
|
293
|
-
:
|
|
294
|
-
:
|
|
293
|
+
source: 'SystemTools/UserDatabase.cpp',
|
|
294
|
+
category: :base
|
|
295
295
|
define_component 'Utils/SystemTime.o',
|
|
296
|
-
:
|
|
297
|
-
:
|
|
296
|
+
source: 'SystemTools/SystemTime.cpp',
|
|
297
|
+
category: :base
|
|
298
298
|
define_component 'StrIntTools/StrIntUtils.o',
|
|
299
|
-
:
|
|
300
|
-
:
|
|
301
|
-
:
|
|
299
|
+
source: 'StrIntTools/StrIntUtils.cpp',
|
|
300
|
+
category: :base,
|
|
301
|
+
optimize: :very_heavy
|
|
302
302
|
define_component 'StrIntTools/StrIntUtilsNoStrictAliasing.o',
|
|
303
|
-
:
|
|
304
|
-
:
|
|
305
|
-
:
|
|
303
|
+
source: 'StrIntTools/StrIntUtilsNoStrictAliasing.cpp',
|
|
304
|
+
category: :base,
|
|
305
|
+
optimize: :very_heavy,
|
|
306
306
|
# Compiling with SSE2 causes segfaults on Amazon Linux 2
|
|
307
|
-
:
|
|
308
|
-
:
|
|
307
|
+
cflags: RbConfig::CONFIG['host_cpu'] == 'x86_64' && RbConfig::CONFIG['host_os'].include?('linux') ? ' -mno-sse2' : '',
|
|
308
|
+
strict_aliasing: false
|
|
309
309
|
define_component 'IOTools/IOUtils.o',
|
|
310
|
-
:
|
|
311
|
-
:
|
|
312
|
-
:
|
|
310
|
+
source: 'IOTools/IOUtils.cpp',
|
|
311
|
+
optimize: :light,
|
|
312
|
+
category: :base
|
|
313
313
|
define_component 'Algorithms/Hasher.o',
|
|
314
|
-
:
|
|
315
|
-
:
|
|
316
|
-
:
|
|
314
|
+
source: 'Algorithms/Hasher.cpp',
|
|
315
|
+
category: :base,
|
|
316
|
+
optimize: :very_heavy
|
|
317
317
|
define_component 'Utils.o',
|
|
318
|
-
:
|
|
319
|
-
:
|
|
318
|
+
source: 'Utils.cpp',
|
|
319
|
+
category: :base
|
|
320
320
|
define_component 'jsoncpp.o',
|
|
321
|
-
:
|
|
322
|
-
:
|
|
323
|
-
:
|
|
321
|
+
source: 'vendor-modified/jsoncpp/jsoncpp.cpp',
|
|
322
|
+
category: :base,
|
|
323
|
+
optimize: true
|
|
324
324
|
|
|
325
325
|
define_component 'SecurityKit/Crypto.o',
|
|
326
|
-
:
|
|
327
|
-
:
|
|
328
|
-
:
|
|
326
|
+
source: 'SecurityKit/Crypto.cpp',
|
|
327
|
+
category: :other,
|
|
328
|
+
cflags: PhusionPassenger::PlatformInfo.crypto_extra_cflags
|
|
329
329
|
define_component 'Utils/CachedFileStat.o',
|
|
330
|
-
:
|
|
331
|
-
:
|
|
330
|
+
source: 'Utils/CachedFileStat.cpp',
|
|
331
|
+
category: :other
|
|
332
332
|
define_component 'WatchdogLauncher.o',
|
|
333
|
-
:
|
|
334
|
-
:
|
|
333
|
+
source: 'WatchdogLauncher.cpp',
|
|
334
|
+
category: :other
|
|
335
335
|
define_component 'MemoryKit/mbuf.o',
|
|
336
|
-
:
|
|
337
|
-
:
|
|
338
|
-
:
|
|
336
|
+
source: 'MemoryKit/mbuf.cpp',
|
|
337
|
+
category: :other,
|
|
338
|
+
optimize: true
|
|
339
339
|
define_component 'MemoryKit/palloc.o',
|
|
340
|
-
:
|
|
341
|
-
:
|
|
342
|
-
:
|
|
340
|
+
source: 'MemoryKit/palloc.cpp',
|
|
341
|
+
category: :other,
|
|
342
|
+
optimize: true
|
|
343
343
|
define_component 'ServerKit/url_parser.o',
|
|
344
|
-
:
|
|
345
|
-
:
|
|
346
|
-
:
|
|
344
|
+
source: 'ServerKit/url_parser.c',
|
|
345
|
+
category: :other,
|
|
346
|
+
optimize: :very_heavy
|
|
347
347
|
define_component 'ServerKit/llhttp.o',
|
|
348
|
-
:
|
|
349
|
-
:
|
|
350
|
-
:
|
|
348
|
+
source: 'ServerKit/llhttp.c',
|
|
349
|
+
category: :other,
|
|
350
|
+
optimize: :very_heavy
|
|
351
351
|
define_component 'ServerKit/llhttp_http.o',
|
|
352
|
-
:
|
|
353
|
-
:
|
|
354
|
-
:
|
|
352
|
+
source: 'ServerKit/llhttp_http.c',
|
|
353
|
+
category: :other,
|
|
354
|
+
optimize: :very_heavy
|
|
355
355
|
define_component 'ServerKit/llhttp_api.o',
|
|
356
|
-
:
|
|
357
|
-
:
|
|
358
|
-
:
|
|
356
|
+
source: 'ServerKit/llhttp_api.c',
|
|
357
|
+
category: :other,
|
|
358
|
+
optimize: :very_heavy
|
|
359
359
|
define_component 'ServerKit/Implementation.o',
|
|
360
|
-
:
|
|
361
|
-
:
|
|
362
|
-
:
|
|
360
|
+
source: 'ServerKit/Implementation.cpp',
|
|
361
|
+
category: :other,
|
|
362
|
+
optimize: true
|
|
363
363
|
define_component 'DataStructures/LString.o',
|
|
364
|
-
:
|
|
365
|
-
:
|
|
364
|
+
source: 'DataStructures/LString.cpp',
|
|
365
|
+
category: :other
|
|
366
366
|
define_component 'AppTypeDetector/CBindings.o',
|
|
367
|
-
:
|
|
368
|
-
:
|
|
367
|
+
source: 'AppTypeDetector/CBindings.cpp',
|
|
368
|
+
category: :other
|
|
369
369
|
define_component 'WrapperRegistry/CBindings.o',
|
|
370
|
-
:
|
|
371
|
-
:
|
|
370
|
+
source: 'WrapperRegistry/CBindings.cpp',
|
|
371
|
+
category: :other
|
|
372
372
|
|
|
373
373
|
define_component 'vendor-modified/modp_b64.o',
|
|
374
|
-
:
|
|
375
|
-
:
|
|
376
|
-
:
|
|
377
|
-
:
|
|
374
|
+
source: 'vendor-modified/modp_b64.cpp',
|
|
375
|
+
category: :base64,
|
|
376
|
+
optimize: true,
|
|
377
|
+
strict_aliasing: false
|
|
378
378
|
define_component 'vendor-modified/modp_b64_strict_aliasing.o',
|
|
379
|
-
:
|
|
380
|
-
:
|
|
381
|
-
:
|
|
379
|
+
source: 'vendor-modified/modp_b64_strict_aliasing.cpp',
|
|
380
|
+
category: :base64,
|
|
381
|
+
optimize: true
|
|
382
382
|
|
|
383
383
|
define_component 'JsonTools/CBindings.o',
|
|
384
|
-
:
|
|
385
|
-
:
|
|
384
|
+
source: 'JsonTools/CBindings.cpp',
|
|
385
|
+
category: :json_tools
|
|
386
386
|
define_component 'FileTools/PathManipCBindings.o',
|
|
387
|
-
:
|
|
388
|
-
:
|
|
387
|
+
source: 'FileTools/PathManipCBindings.cpp',
|
|
388
|
+
category: :file_tools_path_manip_cbindings
|
|
389
389
|
define_component 'ProcessManagement/Ruby.o',
|
|
390
|
-
:
|
|
391
|
-
:
|
|
390
|
+
source: 'ProcessManagement/Ruby.cpp',
|
|
391
|
+
category: :process_management_ruby
|
|
392
392
|
end
|
|
393
393
|
|
|
394
394
|
# A subset of the objects are linked to the Nginx binary. This defines
|
|
395
395
|
# what those objects are.
|
|
396
|
-
NGINX_LIBS_SELECTOR = [:base, 'WatchdogLauncher.o', 'AppTypeDetector/CBindings.o',
|
|
396
|
+
NGINX_LIBS_SELECTOR = [ :base, 'WatchdogLauncher.o', 'AppTypeDetector/CBindings.o',
|
|
397
397
|
'WrapperRegistry/CBindings.o', 'Utils/CachedFileStat.o', 'JsonTools/CBindings.o',
|
|
398
|
-
'FileTools/PathManipCBindings.o']
|
|
398
|
+
'FileTools/PathManipCBindings.o' ]
|
|
@@ -39,9 +39,9 @@ module PhusionPassenger
|
|
|
39
39
|
puts " ruby-libdir Show #{PROGRAM_NAME}'s Ruby library directory."
|
|
40
40
|
puts " includedir Show the Nginx runtime library headers directory."
|
|
41
41
|
puts " nginx-addon-dir Show #{PROGRAM_NAME}'s Nginx addon directory."
|
|
42
|
-
puts " nginx-libs Show paths to #{PROGRAM_NAME}'s libraries"
|
|
42
|
+
puts " nginx-libs Show paths to #{PROGRAM_NAME}'s libraries"
|
|
43
43
|
puts " for static linking to Nginx runtime."
|
|
44
|
-
puts " nginx-dynamic-libs Show paths to #{PROGRAM_NAME}'s libraries"
|
|
44
|
+
puts " nginx-dynamic-libs Show paths to #{PROGRAM_NAME}'s libraries"
|
|
45
45
|
puts " for dynamic linking to Nginx runtime."
|
|
46
46
|
puts " nginx-dynamic-compiled Check whether runtime libraries for dynamic"
|
|
47
47
|
puts " linking to Nginx are compiled."
|
|
@@ -214,14 +214,14 @@ module PhusionPassenger
|
|
|
214
214
|
private
|
|
215
215
|
def common_library
|
|
216
216
|
PhusionPassenger.require_passenger_lib 'common_library'
|
|
217
|
-
|
|
217
|
+
COMMON_LIBRARY.
|
|
218
218
|
only(*NGINX_LIBS_SELECTOR).
|
|
219
219
|
set_output_dir("#{PhusionPassenger.lib_dir}/common/libpassenger_common")
|
|
220
220
|
end
|
|
221
|
-
|
|
221
|
+
|
|
222
222
|
def common_dynamic_library
|
|
223
223
|
PhusionPassenger.require_passenger_lib 'common_library'
|
|
224
|
-
|
|
224
|
+
COMMON_LIBRARY.
|
|
225
225
|
only(*NGINX_LIBS_SELECTOR).
|
|
226
226
|
set_output_dir("#{PhusionPassenger.lib_dir}/nginx_dynamic/module_libpassenger_common")
|
|
227
227
|
end
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
|
+
|
|
2
3
|
#
|
|
3
4
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
|
4
5
|
# Copyright (c) 2010-2025 Asynchronous B.V.
|
|
@@ -44,7 +45,7 @@ module PhusionPassenger
|
|
|
44
45
|
'depcheck_specs/ruby',
|
|
45
46
|
'depcheck_specs/gems',
|
|
46
47
|
'depcheck_specs/libs',
|
|
47
|
-
'depcheck_specs/utilities'
|
|
48
|
+
'depcheck_specs/utilities',
|
|
48
49
|
]
|
|
49
50
|
ids = [
|
|
50
51
|
'cc',
|
|
@@ -52,9 +53,9 @@ module PhusionPassenger
|
|
|
52
53
|
'rake',
|
|
53
54
|
'libcurl-dev',
|
|
54
55
|
'openssl-dev',
|
|
55
|
-
'zlib-dev'
|
|
56
|
+
'zlib-dev',
|
|
56
57
|
].compact
|
|
57
|
-
|
|
58
|
+
[ specs, ids ]
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
def install_doc_url
|
|
@@ -121,7 +122,7 @@ module PhusionPassenger
|
|
|
121
122
|
else
|
|
122
123
|
new_screen
|
|
123
124
|
render_template 'config/agent_compiler/confirm_enable_optimizations',
|
|
124
|
-
:
|
|
125
|
+
total_ram: total_ram_gb
|
|
125
126
|
puts
|
|
126
127
|
@optimize = prompt_confirmation('Compile with optimizations?')
|
|
127
128
|
puts
|
|
@@ -158,11 +159,11 @@ module PhusionPassenger
|
|
|
158
159
|
begin
|
|
159
160
|
meminfo = File.read("/proc/meminfo")
|
|
160
161
|
if meminfo =~ /^MemTotal: *(\d+) kB$/
|
|
161
|
-
|
|
162
|
+
sprintf("%.1f", $1.to_i / 1024 / 1024)
|
|
162
163
|
end
|
|
163
164
|
rescue Errno::ENOENT, Errno::EACCES
|
|
164
165
|
# Don't do anything on systems without memory information.
|
|
165
|
-
|
|
166
|
+
nil
|
|
166
167
|
end
|
|
167
168
|
end
|
|
168
169
|
end
|
|
@@ -35,7 +35,7 @@ module PhusionPassenger
|
|
|
35
35
|
include InstallationUtils
|
|
36
36
|
|
|
37
37
|
def run
|
|
38
|
-
@options = { :
|
|
38
|
+
@options = { auto: !STDIN.tty? || !STDOUT.tty?, colorize: :auto, force_tip: true }
|
|
39
39
|
parse_options
|
|
40
40
|
initialize_objects
|
|
41
41
|
sanity_check
|
|
@@ -36,11 +36,11 @@ module PhusionPassenger
|
|
|
36
36
|
|
|
37
37
|
def run
|
|
38
38
|
@options = {
|
|
39
|
-
:
|
|
40
|
-
:
|
|
41
|
-
:
|
|
42
|
-
:
|
|
43
|
-
:
|
|
39
|
+
colorize: :auto,
|
|
40
|
+
force_tip: true,
|
|
41
|
+
connect_timeout: 30,
|
|
42
|
+
idle_timeout: 30,
|
|
43
|
+
address_sanitizer: false,
|
|
44
44
|
}
|
|
45
45
|
parse_options
|
|
46
46
|
initialize_objects
|
|
@@ -92,7 +92,7 @@ module PhusionPassenger
|
|
|
92
92
|
request = Net::HTTP::Post.new("/pool/detach_process.json")
|
|
93
93
|
try_performing_full_admin_basic_auth(request, @instance)
|
|
94
94
|
request.content_type = "application/json"
|
|
95
|
-
request.body = PhusionPassenger::Utils::JSON.generate(:
|
|
95
|
+
request.body = PhusionPassenger::Utils::JSON.generate(pid: @pid)
|
|
96
96
|
response = @instance.http_request("agents.s/core_api", request)
|
|
97
97
|
if response.code.to_i / 100 == 2
|
|
98
98
|
body = PhusionPassenger::Utils::JSON.parse(response.body)
|
|
@@ -44,15 +44,15 @@ module PhusionPassenger
|
|
|
44
44
|
|
|
45
45
|
def run
|
|
46
46
|
@options = {
|
|
47
|
-
:
|
|
48
|
-
:
|
|
49
|
-
:
|
|
50
|
-
:
|
|
51
|
-
:
|
|
52
|
-
:
|
|
53
|
-
:
|
|
54
|
-
:
|
|
55
|
-
:
|
|
47
|
+
log_level: Logger::INFO,
|
|
48
|
+
colors: :auto,
|
|
49
|
+
error_colors: true,
|
|
50
|
+
show_download_progress: STDOUT.tty?,
|
|
51
|
+
compilation_tip: true,
|
|
52
|
+
force_tip: true,
|
|
53
|
+
use_cache: true,
|
|
54
|
+
connect_timeout: 30,
|
|
55
|
+
idle_timeout: 30,
|
|
56
56
|
}
|
|
57
57
|
parse_options
|
|
58
58
|
initialize_objects
|
|
@@ -149,7 +149,7 @@ module PhusionPassenger
|
|
|
149
149
|
|
|
150
150
|
def initialize_objects
|
|
151
151
|
if @options[:url_root]
|
|
152
|
-
@sites = [{ :
|
|
152
|
+
@sites = [ { url: @options[:url_root] } ]
|
|
153
153
|
else
|
|
154
154
|
@sites = PhusionPassenger.binaries_sites
|
|
155
155
|
end
|
|
@@ -250,7 +250,7 @@ module PhusionPassenger
|
|
|
250
250
|
@logger.warn "Trying next mirror..."
|
|
251
251
|
end
|
|
252
252
|
end
|
|
253
|
-
|
|
253
|
+
false
|
|
254
254
|
end
|
|
255
255
|
|
|
256
256
|
def real_download_support_file(site, name, output)
|
|
@@ -260,9 +260,9 @@ module PhusionPassenger
|
|
|
260
260
|
url = "#{site[:url]}/#{VERSION_STRING}/#{name}"
|
|
261
261
|
end
|
|
262
262
|
options = {
|
|
263
|
-
:
|
|
264
|
-
:
|
|
265
|
-
:
|
|
263
|
+
cacert: site[:cacert],
|
|
264
|
+
logger: @logger,
|
|
265
|
+
use_cache: @options[:use_cache],
|
|
266
266
|
}
|
|
267
267
|
# connect_timeout and idle_timeout may be nil or 0, which means
|
|
268
268
|
# that the default Utils::Download timeouts should be used.
|
|
@@ -272,12 +272,12 @@ module PhusionPassenger
|
|
|
272
272
|
if @options[:idle_timeout] && @options[:idle_timeout] != 0
|
|
273
273
|
options[:idle_timeout] = @options[:idle_timeout]
|
|
274
274
|
end
|
|
275
|
-
|
|
275
|
+
PhusionPassenger::Utils::Download.download(url, output, options)
|
|
276
276
|
end
|
|
277
277
|
|
|
278
278
|
def test_binary(filename)
|
|
279
279
|
output = `env LD_BIND_NOW=1 DYLD_BIND_AT_LAUNCH=1 #{Shellwords.escape(filename)} test-binary`
|
|
280
|
-
|
|
280
|
+
$? && $?.exitstatus == 0 && output == "PASS\n"
|
|
281
281
|
end
|
|
282
282
|
|
|
283
283
|
def compile_tip_message
|
|
@@ -292,7 +292,7 @@ module PhusionPassenger
|
|
|
292
292
|
result << "organization who packaged #{PROGRAM_NAME} for help on this "
|
|
293
293
|
result << "problem."
|
|
294
294
|
end
|
|
295
|
-
|
|
295
|
+
result
|
|
296
296
|
end
|
|
297
297
|
|
|
298
298
|
# Override InstallationUtils
|
|
@@ -44,15 +44,15 @@ module PhusionPassenger
|
|
|
44
44
|
|
|
45
45
|
def run
|
|
46
46
|
@options = {
|
|
47
|
-
:
|
|
48
|
-
:
|
|
49
|
-
:
|
|
50
|
-
:
|
|
51
|
-
:
|
|
52
|
-
:
|
|
53
|
-
:
|
|
54
|
-
:
|
|
55
|
-
:
|
|
47
|
+
log_level: Logger::INFO,
|
|
48
|
+
colors: :auto,
|
|
49
|
+
error_colors: true,
|
|
50
|
+
show_download_progress: STDOUT.tty?,
|
|
51
|
+
compilation_tip: true,
|
|
52
|
+
force_tip: true,
|
|
53
|
+
use_cache: true,
|
|
54
|
+
connect_timeout: 30,
|
|
55
|
+
idle_timeout: 30,
|
|
56
56
|
}
|
|
57
57
|
parse_options
|
|
58
58
|
initialize_objects
|
|
@@ -152,7 +152,7 @@ module PhusionPassenger
|
|
|
152
152
|
|
|
153
153
|
def initialize_objects
|
|
154
154
|
if @options[:url_root]
|
|
155
|
-
@sites = [{ :
|
|
155
|
+
@sites = [ { url: @options[:url_root] } ]
|
|
156
156
|
else
|
|
157
157
|
@sites = PhusionPassenger.binaries_sites
|
|
158
158
|
end
|
|
@@ -254,7 +254,7 @@ module PhusionPassenger
|
|
|
254
254
|
@logger.warn "Trying next mirror..."
|
|
255
255
|
end
|
|
256
256
|
end
|
|
257
|
-
|
|
257
|
+
false
|
|
258
258
|
end
|
|
259
259
|
|
|
260
260
|
def real_download_support_file(site, name, output)
|
|
@@ -264,10 +264,10 @@ module PhusionPassenger
|
|
|
264
264
|
url = "#{site[:url]}/#{VERSION_STRING}/#{name}"
|
|
265
265
|
end
|
|
266
266
|
options = {
|
|
267
|
-
:
|
|
268
|
-
:
|
|
269
|
-
:
|
|
270
|
-
:
|
|
267
|
+
cacert: site[:cacert],
|
|
268
|
+
logger: @logger,
|
|
269
|
+
use_cache: @options[:use_cache],
|
|
270
|
+
show_progress: @options[:show_download_progress],
|
|
271
271
|
}
|
|
272
272
|
# connect_timeout and idle_timeout may be nil or 0, which means
|
|
273
273
|
# that the default Utils::Download timeouts should be used.
|
|
@@ -277,12 +277,12 @@ module PhusionPassenger
|
|
|
277
277
|
if @options[:idle_timeout] && @options[:idle_timeout] != 0
|
|
278
278
|
options[:idle_timeout] = @options[:idle_timeout]
|
|
279
279
|
end
|
|
280
|
-
|
|
280
|
+
PhusionPassenger::Utils::Download.download(url, output, options)
|
|
281
281
|
end
|
|
282
282
|
|
|
283
283
|
def test_binary(filename)
|
|
284
284
|
output = `env LD_BIND_NOW=1 DYLD_BIND_AT_LAUNCH=1 #{Shellwords.escape(filename)} -v 2>&1`
|
|
285
|
-
|
|
285
|
+
$? && $?.exitstatus == 0 && output =~ /nginx version:/
|
|
286
286
|
end
|
|
287
287
|
|
|
288
288
|
def compile_tip_message
|
|
@@ -297,7 +297,7 @@ module PhusionPassenger
|
|
|
297
297
|
result << "organization who packaged #{PROGRAM_NAME} for help on this "
|
|
298
298
|
result << "problem."
|
|
299
299
|
end
|
|
300
|
-
|
|
300
|
+
result
|
|
301
301
|
end
|
|
302
302
|
end
|
|
303
303
|
|