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.
Files changed (134) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +6 -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 +4 -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 +23 -22
  134. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d6f20a62dcc25b713ff9248f45037a5feb3a5cbd7870f8edd4c942cfc5b359ed
4
- data.tar.gz: '06687c19693759fea00331bebcc242f83a9976add99cb04b39be733a6f62f4d0'
3
+ metadata.gz: 2dd1fdb6483c4366fa3d4b9116ab193e5b4dd792fcd96ba0f473df90f242e840
4
+ data.tar.gz: 3f9d87a07478e540a116902a4a2b0cd1ac0f6c859f95d8d819c2e7725e6adaa4
5
5
  SHA512:
6
- metadata.gz: 91bd9c4a5b3c6688f6feb8719033defbd5e9ab94c56313c3be82eb42820c60e90db2f2604647060a81f831ddeddb9d553a5f19a356c456b0ab0ddddb548b2228
7
- data.tar.gz: 0c4c152dac036de853c9ad4fb58c1aaee943755f4b9f08279adc5ab7debb7ce50236494b9650c0e5d5742eb9c1e9e120df42c64f68378d1cd26403923f7e4562
6
+ metadata.gz: cf613cab8b915a9fe7d229526997a15e60ba1ad3a51c06d48e7d0b51243ce88f5c08543b13f4528859c5981601dc390080c316742382d41946271fa25f75b1eb
7
+ data.tar.gz: 4afe74d5212532a3d07f828ae641f7548abc1853ad39b9fec7dac76e21688393e12f84926627e5a02ddb2beaea580405b4b4bc3b116cfa406d104fdabb34f15b
data/CHANGELOG CHANGED
@@ -1,4 +1,9 @@
1
- Release 6.1.4 (Not yet released)
1
+ Release 6.1.5 (Not yet released)
2
+ -------------
3
+ * [Ubuntu] Rebuild packages against broken Nginx packages that Ubuntu is shipping. Closes GH-2662.
4
+
5
+
6
+ Release 6.1.4
2
7
  -------------
3
8
  * [Nginx] Upgrades preferred Nginx to 1.30.2 from 1.30.1.
4
9
  * Updated various library versions used in precompiled binaries (used for e.g. gem installs):
data/Rakefile CHANGED
@@ -76,7 +76,7 @@ task :default do
76
76
  end
77
77
 
78
78
  desc "Remove compiled files"
79
- task :clean => 'clean:cache' do
79
+ task clean: 'clean:cache' do
80
80
  if OUTPUT_DIR == "buildout/"
81
81
  sh "rm -rf buildout"
82
82
  end
data/build/agent.rb CHANGED
@@ -46,15 +46,15 @@ AGENT_OBJECTS = {
46
46
  "#{AGENT_OUTPUT_DIR}ExecHelperMain.o" =>
47
47
  "src/agent/ExecHelper/ExecHelperMain.cpp",
48
48
  "#{AGENT_OUTPUT_DIR}FileReadHelperMain.o" =>
49
- "src/agent/FileReadHelper/FileReadHelperMain.cpp"
49
+ "src/agent/FileReadHelper/FileReadHelperMain.cpp",
50
50
  }
51
51
  AGENT_AUTOGENERATED_SOURCES = {
52
52
  "src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h" => [
53
- "src/agent/Core/SpawningKit/Config.h"
53
+ "src/agent/Core/SpawningKit/Config.h",
54
54
  ],
55
55
  "src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h" => [
56
- "src/agent/Core/SpawningKit/Result.h"
57
- ]
56
+ "src/agent/Core/SpawningKit/Result.h",
57
+ ],
58
58
  }
59
59
 
60
60
  # Agent-specific compiler flags.
@@ -92,18 +92,18 @@ AGENT_OBJECTS.each_pair do |object, source|
92
92
  object,
93
93
  source,
94
94
  lambda { {
95
- :include_paths => [
95
+ include_paths: [
96
96
  "src/agent",
97
- *CXX_SUPPORTLIB_INCLUDE_PATHS
97
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
98
98
  ],
99
- :flags => [
99
+ flags: [
100
100
  agent_cflags,
101
101
  libev_cflags,
102
102
  libuv_cflags,
103
103
  PlatformInfo.curl_flags,
104
104
  PlatformInfo.openssl_extra_cflags,
105
- PlatformInfo.zlib_flags
106
- ]
105
+ PlatformInfo.zlib_flags,
106
+ ],
107
107
  } }
108
108
  )
109
109
  end
@@ -116,7 +116,7 @@ dependencies = AGENT_OBJECTS.keys + [
116
116
  LIBBOOST_OXT,
117
117
  agent_libs.link_objects,
118
118
  LIBEV_TARGET,
119
- LIBUV_TARGET
119
+ LIBUV_TARGET,
120
120
  ].flatten.compact
121
121
  file(AGENT_TARGET => dependencies) do
122
122
  sh "mkdir -p #{AGENT_OUTPUT_DIR}" if !File.directory?(AGENT_OUTPUT_DIR)
@@ -124,29 +124,29 @@ file(AGENT_TARGET => dependencies) do
124
124
  [
125
125
  agent_libs.link_objects_as_string,
126
126
  AGENT_OBJECTS.keys,
127
- LIBBOOST_OXT_LINKARG
127
+ LIBBOOST_OXT_LINKARG,
128
128
  ],
129
- :flags => [
129
+ flags: [
130
130
  libev_libs,
131
131
  libuv_libs,
132
132
  PlatformInfo.curl_libs,
133
133
  PlatformInfo.zlib_libs,
134
134
  PlatformInfo.crypto_libs,
135
135
  PlatformInfo.portability_cxx_ldflags,
136
- agent_ldflags
136
+ agent_ldflags,
137
137
  ]
138
138
  )
139
139
  end
140
140
 
141
141
  desc 'Build the agent'
142
- task :agent => AGENT_TARGET
142
+ task agent: AGENT_TARGET
143
143
 
144
144
  task 'common:clean' do
145
145
  sh('rm', '-rf', AGENT_TARGET, *AGENT_OBJECTS.keys)
146
146
  end
147
147
 
148
148
  def create_agent_auto_generated_source_task(source, dependencies)
149
- dependencies += ["#{source}.cxxcodebuilder"]
149
+ dependencies += [ "#{source}.cxxcodebuilder" ]
150
150
  file(source => dependencies) do
151
151
  template = CxxCodeTemplateRenderer.new("#{source}.cxxcodebuilder")
152
152
  template.render_to(source)
data/build/apache2.rb CHANGED
@@ -41,9 +41,9 @@ APACHE2_OBJECTS = {
41
41
  "#{APACHE2_OUTPUT_DIR}Bucket.o" =>
42
42
  "src/apache2_module/Bucket.cpp",
43
43
  "#{APACHE2_OUTPUT_DIR}Hooks.o" =>
44
- "src/apache2_module/Hooks.cpp"
44
+ "src/apache2_module/Hooks.cpp",
45
45
  }
46
- APACHE2_AUTOGENERATED_SOURCES = %w(
46
+ APACHE2_AUTOGENERATED_SOURCES = %w[
47
47
  src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp
48
48
  src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp
49
49
  src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp
@@ -54,16 +54,16 @@ APACHE2_AUTOGENERATED_SOURCES = %w(
54
54
  src/apache2_module/DirConfig/AutoGeneratedStruct.h
55
55
  src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp
56
56
  src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp
57
- )
57
+ ]
58
58
 
59
59
  let(:apache2_cflags) do
60
- result = [PlatformInfo.apache2_module_cflags]
60
+ result = [ PlatformInfo.apache2_module_cflags ]
61
61
  result << '-O' if OPTIMIZE
62
62
  result.join(' ')
63
63
  end
64
64
 
65
65
  let(:apache2_cxxflags) do
66
- result = [PlatformInfo.apache2_module_cxxflags]
66
+ result = [ PlatformInfo.apache2_module_cxxflags ]
67
67
  result << '-O' if OPTIMIZE
68
68
  result.join(' ')
69
69
  end
@@ -75,11 +75,11 @@ APACHE2_OBJECTS.each_pair do |object, source|
75
75
  object,
76
76
  source,
77
77
  lambda { {
78
- :include_paths => [
78
+ include_paths: [
79
79
  "src/agent",
80
- *CXX_SUPPORTLIB_INCLUDE_PATHS
80
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
81
81
  ],
82
- :flags => apache2_cflags
82
+ flags: apache2_cflags,
83
83
  } }
84
84
  )
85
85
  else
@@ -87,11 +87,11 @@ APACHE2_OBJECTS.each_pair do |object, source|
87
87
  object,
88
88
  source,
89
89
  lambda { {
90
- :include_paths => [
90
+ include_paths: [
91
91
  "src/agent",
92
- *CXX_SUPPORTLIB_INCLUDE_PATHS
92
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
93
93
  ],
94
- :flags => apache2_cxxflags
94
+ flags: apache2_cxxflags,
95
95
  } }
96
96
  )
97
97
  end
@@ -111,7 +111,7 @@ APACHE2_MODULE_COMMON_LIBRARIES = COMMON_LIBRARY.
111
111
  dependencies = [
112
112
  APACHE2_MODULE_COMMON_LIBRARIES,
113
113
  APACHE2_MODULE_BOOST_OXT_LIBRARY,
114
- APACHE2_OBJECTS.keys
114
+ APACHE2_OBJECTS.keys,
115
115
  ].flatten
116
116
  file(APACHE2_TARGET => dependencies) do
117
117
  PlatformInfo.apache2ctl.nil? and raise "Could not find 'apachectl' or 'apache2ctl'."
@@ -120,7 +120,7 @@ file(APACHE2_TARGET => dependencies) do
120
120
  sh "mkdir -p #{APACHE2_OUTPUT_DIR}" if !File.directory?(APACHE2_OUTPUT_DIR)
121
121
  create_shared_library(APACHE2_TARGET,
122
122
  APACHE2_OBJECTS.keys,
123
- :flags => [
123
+ flags: [
124
124
  APACHE2_MODULE_COMMON_LIBRARIES,
125
125
  APACHE2_MODULE_BOOST_OXT_LINKARG,
126
126
  PlatformInfo.apache2_module_cxx_ldflags,
@@ -132,16 +132,16 @@ file(APACHE2_TARGET => dependencies) do
132
132
  end
133
133
 
134
134
  desc "Build Apache 2 module"
135
- task :apache2 => [
135
+ task apache2: [
136
136
  APACHE2_TARGET,
137
137
  AGENT_TARGET,
138
- NATIVE_SUPPORT_TARGET
138
+ NATIVE_SUPPORT_TARGET,
139
139
  ].compact
140
140
 
141
141
  # Workaround for https://github.com/jimweirich/rake/issues/274
142
- task :_apache2 => :apache2
142
+ task _apache2: :apache2
143
143
 
144
- task :clean => 'apache2:clean'
144
+ task clean: 'apache2:clean'
145
145
  desc "Clean all compiled Apache 2 files"
146
146
  task 'apache2:clean' => 'common:clean' do
147
147
  files = APACHE2_OBJECTS.keys.dup
@@ -152,7 +152,7 @@ end
152
152
  def create_apache2_auto_generated_source_task(source)
153
153
  dependencies = [
154
154
  "#{source}.cxxcodebuilder",
155
- 'src/ruby_supportlib/phusion_passenger/apache2/config_options.rb'
155
+ 'src/ruby_supportlib/phusion_passenger/apache2/config_options.rb',
156
156
  ]
157
157
  file(source => dependencies) do
158
158
  template = CxxCodeTemplateRenderer.new("#{source}.cxxcodebuilder")
data/build/basics.rb CHANGED
@@ -103,7 +103,7 @@ LTO = OPTIMIZE && boolean_option('LTO')
103
103
  CXX_SUPPORTLIB_INCLUDE_PATHS = [
104
104
  "src/cxx_supportlib",
105
105
  "src/cxx_supportlib/vendor-copy",
106
- "src/cxx_supportlib/vendor-modified"
106
+ "src/cxx_supportlib/vendor-modified",
107
107
  ]
108
108
 
109
109
  # Extra compiler flags that should always be passed to the C/C++ compiler.
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+
2
3
  # Phusion Passenger - https://www.phusionpassenger.com/
3
4
  # Copyright (c) 2010-2025 Asynchronous B.V.
4
5
  #
@@ -56,8 +57,8 @@ def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
56
57
  object_file,
57
58
  source_file,
58
59
  lambda { {
59
- :include_paths => CXX_SUPPORTLIB_INCLUDE_PATHS,
60
- :flags => [optimize, maybe_eval_lambda(extra_compiler_flags)]
60
+ include_paths: CXX_SUPPORTLIB_INCLUDE_PATHS,
61
+ flags: [ optimize, maybe_eval_lambda(extra_compiler_flags) ],
61
62
  } }
62
63
  )
63
64
  end
@@ -74,8 +75,8 @@ def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
74
75
  object_file,
75
76
  source_file,
76
77
  lambda { {
77
- :include_paths => CXX_SUPPORTLIB_INCLUDE_PATHS,
78
- :flags => [optimize, maybe_eval_lambda(extra_compiler_flags)]
78
+ include_paths: CXX_SUPPORTLIB_INCLUDE_PATHS,
79
+ flags: [ optimize, maybe_eval_lambda(extra_compiler_flags) ],
79
80
  } }
80
81
  )
81
82
  end
@@ -93,9 +94,9 @@ def define_libboost_oxt_task(namespace, output_dir, extra_compiler_flags = nil)
93
94
  if OPTIMIZE && LTO
94
95
  # Clang -flto does not support static libraries containing
95
96
  # .o files that are compiled with -flto themselves.
96
- [output_file, [output_file, boost_object_files, oxt_object_files].flatten.join(" ")]
97
+ [ output_file, [ output_file, boost_object_files, oxt_object_files ].flatten.join(" ") ]
97
98
  else
98
- [output_file, output_file]
99
+ [ output_file, output_file ]
99
100
  end
100
101
  end
101
102
 
@@ -122,12 +123,12 @@ if USE_VENDORED_LIBEV
122
123
  "#{LIBEV_OUTPUT_DIR}.libs/libev.a #{$1}".strip
123
124
  end
124
125
 
125
- task :libev => LIBEV_TARGET
126
+ task libev: LIBEV_TARGET
126
127
 
127
128
  dependencies = [
128
129
  "src/cxx_supportlib/vendor-modified/libev/configure",
129
130
  "src/cxx_supportlib/vendor-modified/libev/config.h.in",
130
- "src/cxx_supportlib/vendor-modified/libev/Makefile.am"
131
+ "src/cxx_supportlib/vendor-modified/libev/Makefile.am",
131
132
  ]
132
133
  file LIBEV_OUTPUT_DIR + "Makefile" => dependencies do
133
134
  cc_command = cc
@@ -147,20 +148,20 @@ if USE_VENDORED_LIBEV
147
148
  end
148
149
 
149
150
  libev_sources = Dir["src/cxx_supportlib/vendor-modified/libev/{*.c,*.h}"].sort
150
- file LIBEV_OUTPUT_DIR + ".libs/libev.a" => [LIBEV_OUTPUT_DIR + "Makefile"] + libev_sources do
151
+ file LIBEV_OUTPUT_DIR + ".libs/libev.a" => [ LIBEV_OUTPUT_DIR + "Makefile" ] + libev_sources do
151
152
  sh "rm -f #{LIBEV_OUTPUT_DIR}libev.la"
152
153
  sh "cd #{LIBEV_OUTPUT_DIR} && make libev.la V=1"
153
154
  end
154
155
 
155
156
  task 'libev:clean' do
156
- patterns = %w(Makefile config.h config.log config.status libtool
157
- stamp-h1 *.o *.lo *.la .libs .deps)
157
+ patterns = %w[Makefile config.h config.log config.status libtool
158
+ stamp-h1 *.o *.lo *.la .libs .deps]
158
159
  patterns.each do |pattern|
159
160
  sh "rm -rf #{LIBEV_OUTPUT_DIR}#{pattern}"
160
161
  end
161
162
  end
162
163
 
163
- task :clean => 'libev:clean'
164
+ task clean: 'libev:clean'
164
165
  else
165
166
  LIBEV_TARGET = nil
166
167
 
@@ -193,11 +194,11 @@ if USE_VENDORED_LIBUV
193
194
  "#{LIBUV_OUTPUT_DIR}.libs/libuv.a #{$1}".strip
194
195
  end
195
196
 
196
- task :libuv => LIBUV_TARGET
197
+ task libuv: LIBUV_TARGET
197
198
 
198
199
  dependencies = [
199
200
  "src/cxx_supportlib/vendor-copy/libuv/configure",
200
- "src/cxx_supportlib/vendor-copy/libuv/Makefile.am"
201
+ "src/cxx_supportlib/vendor-copy/libuv/Makefile.am",
201
202
  ]
202
203
  file LIBUV_OUTPUT_DIR + "Makefile" => dependencies do
203
204
  cc_command = cc
@@ -220,20 +221,20 @@ if USE_VENDORED_LIBUV
220
221
  end
221
222
 
222
223
  libuv_sources = Dir["src/cxx_supportlib/vendor-copy/libuv/**/{*.c,*.h}"].sort
223
- file LIBUV_OUTPUT_DIR + ".libs/libuv.a" => [LIBUV_OUTPUT_DIR + "Makefile"] + libuv_sources do
224
+ file LIBUV_OUTPUT_DIR + ".libs/libuv.a" => [ LIBUV_OUTPUT_DIR + "Makefile" ] + libuv_sources do
224
225
  sh "rm -f #{LIBUV_OUTPUT_DIR}/libuv.la"
225
226
  sh "cd #{LIBUV_OUTPUT_DIR} && make -j2 libuv.la V=1"
226
227
  end
227
228
 
228
229
  task 'libuv:clean' do
229
- patterns = %w(Makefile config.h config.log config.status libtool
230
- stamp-h1 src test *.o *.lo *.la *.pc .libs .deps)
230
+ patterns = %w[Makefile config.h config.log config.status libtool
231
+ stamp-h1 src test *.o *.lo *.la *.pc .libs .deps]
231
232
  patterns.each do |pattern|
232
233
  sh "rm -rf #{LIBUV_OUTPUT_DIR}#{pattern}"
233
234
  end
234
235
  end
235
236
 
236
- task :clean => 'libuv:clean'
237
+ task clean: 'libuv:clean'
237
238
  else
238
239
  LIBUV_TARGET = nil
239
240
 
@@ -252,9 +253,9 @@ end
252
253
  # If you add a new shared definition file, don't forget to update
253
254
  # src/ruby_supportlib/phusion_passenger/packaging.rb!
254
255
 
255
- dependencies = ['src/cxx_supportlib/Constants.h.cxxcodebuilder',
256
+ dependencies = [ 'src/cxx_supportlib/Constants.h.cxxcodebuilder',
256
257
  'src/ruby_supportlib/phusion_passenger.rb',
257
- 'src/ruby_supportlib/phusion_passenger/constants.rb']
258
+ 'src/ruby_supportlib/phusion_passenger/constants.rb' ]
258
259
  file 'src/cxx_supportlib/Constants.h' => dependencies do
259
260
  PhusionPassenger.require_passenger_lib 'constants'
260
261
  template = CxxCodeTemplateRenderer.new('src/cxx_supportlib/Constants.h.cxxcodebuilder')
data/build/cxx_tests.rb CHANGED
@@ -135,7 +135,7 @@ TEST_CXX_OBJECTS = {
135
135
  "#{TEST_OUTPUT_DIR}cxx/StrIntTools/TemplateTest.o" =>
136
136
  "test/cxx/StrIntTools/TemplateTest.cpp",
137
137
  "#{TEST_OUTPUT_DIR}cxx/Base64DecodingTest.o" =>
138
- "test/cxx/Base64DecodingTest.cpp"
138
+ "test/cxx/Base64DecodingTest.cpp",
139
139
  }
140
140
 
141
141
  let(:basic_test_cxx_flags) do
@@ -144,7 +144,7 @@ let(:basic_test_cxx_flags) do
144
144
  libuv_cflags,
145
145
  PlatformInfo.crypto_extra_cflags,
146
146
  PlatformInfo.curl_flags,
147
- TEST_COMMON_CFLAGS
147
+ TEST_COMMON_CFLAGS,
148
148
  ]
149
149
  end
150
150
 
@@ -153,7 +153,7 @@ let(:test_cxx_include_paths) do
153
153
  'test/cxx',
154
154
  'test/support',
155
155
  'src/agent',
156
- *CXX_SUPPORTLIB_INCLUDE_PATHS
156
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
157
157
  ]
158
158
  end
159
159
 
@@ -161,11 +161,11 @@ let(:test_cxx_flags) do
161
161
  # Some flags are necessary to make precompiled headers play well with ccache (and possibly also sccache):
162
162
  # https://ccache.dev/manual/4.8.2.html#_precompiled_headers
163
163
  if PlatformInfo.cxx_is_gcc?
164
- ['-include test/cxx/TestSupport.h', '-fpch-preprocess']
164
+ [ '-include test/cxx/TestSupport.h', '-fpch-preprocess' ]
165
165
  elsif PlatformInfo.cxx_is_clang?
166
- ["-include-pch test/cxx/TestSupport.h.#{PlatformInfo.precompiled_header_extension}", '-Xclang', '-fno-pch-timestamp']
166
+ [ "-include-pch test/cxx/TestSupport.h.#{PlatformInfo.precompiled_header_extension}", '-Xclang', '-fno-pch-timestamp' ]
167
167
  else
168
- ['-include test/cxx/TestSupport.h']
168
+ [ '-include test/cxx/TestSupport.h' ]
169
169
  end + basic_test_cxx_flags
170
170
  end
171
171
 
@@ -188,9 +188,9 @@ TEST_CXX_OBJECTS.each_pair do |object, source|
188
188
  object,
189
189
  source,
190
190
  lambda { {
191
- :include_paths => test_cxx_include_paths,
192
- :flags => test_cxx_flags,
193
- :deps => "test/cxx/TestSupport.h.#{PlatformInfo.precompiled_header_extension}"
191
+ include_paths: test_cxx_include_paths,
192
+ flags: test_cxx_flags,
193
+ deps: "test/cxx/TestSupport.h.#{PlatformInfo.precompiled_header_extension}",
194
194
  } }
195
195
  )
196
196
  end
@@ -202,13 +202,13 @@ dependencies = [
202
202
  LIBUV_TARGET,
203
203
  TEST_BOOST_OXT_LIBRARY,
204
204
  TEST_COMMON_LIBRARY.link_objects,
205
- AGENT_OBJECTS.keys - [AGENT_MAIN_OBJECT]
205
+ AGENT_OBJECTS.keys - [ AGENT_MAIN_OBJECT ],
206
206
  ].flatten.compact
207
207
  file(TEST_CXX_TARGET => dependencies) do
208
208
  create_cxx_executable(
209
209
  TEST_CXX_TARGET,
210
- TEST_CXX_OBJECTS.keys + AGENT_OBJECTS.keys - [AGENT_MAIN_OBJECT],
211
- :flags => test_cxx_ldflags
210
+ TEST_CXX_OBJECTS.keys + AGENT_OBJECTS.keys - [ AGENT_MAIN_OBJECT ],
211
+ flags: test_cxx_ldflags
212
212
  )
213
213
  end
214
214
 
@@ -216,13 +216,13 @@ cxx_test_dependencies = [
216
216
  TEST_CXX_TARGET,
217
217
  "#{TEST_OUTPUT_DIR}allocate_memory",
218
218
  NATIVE_SUPPORT_TARGET,
219
- AGENT_TARGET
219
+ AGENT_TARGET,
220
220
  ].compact
221
221
  task 'test:cxx:build' => cxx_test_dependencies
222
222
 
223
223
  desc "Run unit tests for the C++ components"
224
224
  task 'test:cxx' => cxx_test_dependencies do
225
- args = ENV['GROUPS'].to_s.split(";").map{ |name| "-g #{name}" }
225
+ args = ENV['GROUPS'].to_s.split(";").map { |name| "-g #{name}" }
226
226
 
227
227
  if level = string_option('LOG_LEVEL')
228
228
  args << '-l'
@@ -273,14 +273,14 @@ task 'test:cxx' => cxx_test_dependencies do
273
273
  puts
274
274
  puts "---------------------------------"
275
275
  puts "Saving log files:"
276
- FileUtils.mkdir_p("#{OUTPUT_DIR}testlogs", :verbose => true)
276
+ FileUtils.mkdir_p("#{OUTPUT_DIR}testlogs", verbose: true)
277
277
  if boolean_option('SUDO')
278
278
  sh "sudo cp /tmp/passenger-error-*.html #{OUTPUT_DIR}testlogs/"
279
279
  sh "sudo chown $(whoami): #{OUTPUT_DIR}testlogs/passenger-error-*.html"
280
280
  else
281
281
  error_pages.each do |path|
282
282
  if File.readable?(path)
283
- FileUtils.cp(path, "#{OUTPUT_DIR}testlogs/", :verbose => true)
283
+ FileUtils.cp(path, "#{OUTPUT_DIR}testlogs/", verbose: true)
284
284
  else
285
285
  puts "Skip copying #{path}: file not readable"
286
286
  end
@@ -294,11 +294,11 @@ file("test/cxx/TestSupport.h.#{PlatformInfo.precompiled_header_extension}" => ge
294
294
  compile_cxx(
295
295
  "test/cxx/TestSupport.h.#{PlatformInfo.precompiled_header_extension}",
296
296
  'test/cxx/TestSupport.h',
297
- :include_paths => test_cxx_include_paths,
298
- :flags => [
297
+ include_paths: test_cxx_include_paths,
298
+ flags: [
299
299
  "-x c++-header",
300
300
  PlatformInfo.cxx_is_clang? ? "-Xclang -emit-pch" : nil,
301
- basic_test_cxx_flags
301
+ basic_test_cxx_flags,
302
302
  ].compact.flatten
303
303
  )
304
304
  end
@@ -26,14 +26,14 @@
26
26
 
27
27
  def integration_test_dependencies(runtime_target_name)
28
28
  if string_option('PASSENGER_LOCATION_CONFIGURATION_FILE')
29
- return []
29
+ []
30
30
  else
31
- return [runtime_target_name, NATIVE_SUPPORT_TARGET].compact
31
+ [ runtime_target_name, NATIVE_SUPPORT_TARGET ].compact
32
32
  end
33
33
  end
34
34
 
35
35
  desc "Run all integration tests"
36
- task 'test:integration' => ['test:integration:apache2', 'test:integration:nginx'] do
36
+ task 'test:integration' => [ 'test:integration:apache2', 'test:integration:nginx' ] do
37
37
  end
38
38
 
39
39
  dependencies = integration_test_dependencies(:_apache2)
data/build/misc.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+
2
3
  # Phusion Passenger - https://www.phusionpassenger.com/
3
4
  # Copyright (c) 2010-2025 Asynchronous B.V.
4
5
  #
@@ -71,7 +72,7 @@ def extract_latest_news_contents_and_items
71
72
  items = contents.split(/^ \* /)
72
73
  items.shift while items.first == ""
73
74
 
74
- return [contents, items]
75
+ [ contents, items ]
75
76
  end
76
77
 
77
78
  desc "Convert the Changelog items for the latest release to HTML"
@@ -154,7 +155,7 @@ task :contributors do
154
155
  entries.push "Yichun Zhang"
155
156
 
156
157
  File.open("CONTRIBUTORS", "w") do |f|
157
- f.puts(entries.sort{ |a, b| a.downcase <=> b.downcase }.uniq.join("\n"))
158
+ f.puts(entries.sort { |a, b| a.downcase <=> b.downcase }.uniq.join("\n"))
158
159
  end
159
160
  puts "Updated CONTRIBUTORS"
160
161
  end
@@ -168,9 +169,9 @@ dependencies = [
168
169
  COMMON_LIBRARY.link_objects,
169
170
  LIBBOOST_OXT,
170
171
  LIBEV_TARGET,
171
- LIBUV_TARGET
172
+ LIBUV_TARGET,
172
173
  ].flatten.compact
173
- task :compile_app => dependencies do
174
+ task compile_app: dependencies do
174
175
  source = ENV['SOURCE'] || ENV['FILE'] || ENV['F']
175
176
  if !source
176
177
  STDERR.puts "Please specify the source filename with SOURCE=(...)"
@@ -187,11 +188,11 @@ task :compile_app => dependencies do
187
188
  begin
188
189
  compile_cxx(object,
189
190
  source,
190
- :include_paths => [
191
+ include_paths: [
191
192
  "src/agent",
192
- *CXX_SUPPORTLIB_INCLUDE_PATHS
193
+ *CXX_SUPPORTLIB_INCLUDE_PATHS,
193
194
  ],
194
- :flags => [
195
+ flags: [
195
196
  OPTIMIZE ? "-O" : nil,
196
197
  "-DSTANDALONE",
197
198
  libev_cflags,
@@ -200,7 +201,7 @@ task :compile_app => dependencies do
200
201
  )
201
202
  create_cxx_executable(exe,
202
203
  object,
203
- :flags => [
204
+ flags: [
204
205
  "-DSTANDALONE",
205
206
  libev_cflags,
206
207
  libuv_cflags,
@@ -211,7 +212,7 @@ task :compile_app => dependencies do
211
212
  PlatformInfo.curl_libs,
212
213
  PlatformInfo.zlib_libs,
213
214
  PlatformInfo.crypto_libs,
214
- PlatformInfo.portability_cxx_ldflags
215
+ PlatformInfo.portability_cxx_ldflags,
215
216
  ]
216
217
  )
217
218
  ensure
data/build/nginx.rb CHANGED
@@ -22,7 +22,7 @@
22
22
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23
23
  # THE SOFTWARE.
24
24
 
25
- auto_generated_sources = %w(
25
+ auto_generated_sources = %w[
26
26
  src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c
27
27
  src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c
28
28
  src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c
@@ -34,41 +34,41 @@ auto_generated_sources = %w(
34
34
  src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c
35
35
  src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c
36
36
  src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c
37
- )
37
+ ]
38
38
 
39
39
  desc "Build Nginx support files"
40
- task :nginx => [
40
+ task nginx: [
41
41
  :nginx_without_native_support,
42
- NATIVE_SUPPORT_TARGET
42
+ NATIVE_SUPPORT_TARGET,
43
43
  ].compact
44
44
 
45
45
  desc "Build Nginx support files, including objects suitable for dynamic linking against Nginx"
46
46
  task 'nginx:as_dynamic_module' => [
47
47
  :nginx_dynamic_without_native_support,
48
- NATIVE_SUPPORT_TARGET
48
+ NATIVE_SUPPORT_TARGET,
49
49
  ].compact
50
50
 
51
51
  # Workaround for https://github.com/jimweirich/rake/issues/274
52
- task :_nginx => :nginx
52
+ task _nginx: :nginx
53
53
 
54
- task :nginx_without_native_support => [
54
+ task nginx_without_native_support: [
55
55
  auto_generated_sources,
56
56
  AGENT_TARGET,
57
- COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects
57
+ COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).link_objects,
58
58
  ].flatten
59
59
 
60
60
  # define_tasks creates an extra compilation to the specified output_dir, with extra compiler flags;
61
61
  # it also creates a namespace:clean task to clean up the output_dir
62
- task :nginx_dynamic_without_native_support => [
62
+ task nginx_dynamic_without_native_support: [
63
63
  auto_generated_sources,
64
64
  AGENT_TARGET,
65
65
  define_libboost_oxt_task("nginx", NGINX_DYNAMIC_OUTPUT_DIR + "libboost_oxt", "-fPIC"),
66
66
  COMMON_LIBRARY.only(*NGINX_LIBS_SELECTOR).
67
67
  set_namespace("nginx").set_output_dir(NGINX_DYNAMIC_OUTPUT_DIR + "module_libpassenger_common").define_tasks("-fPIC").
68
- link_objects
68
+ link_objects,
69
69
  ].flatten
70
70
 
71
- task :clean => 'nginx:clean'
71
+ task clean: 'nginx:clean'
72
72
  desc "Clean all compiled Nginx files"
73
73
  task 'nginx:clean' => 'common:clean' do
74
74
  # Nothing extra to clean at this time.
@@ -77,7 +77,7 @@ end
77
77
  def create_nginx_auto_generated_source_task(source)
78
78
  dependencies = [
79
79
  "#{source}.cxxcodebuilder",
80
- 'src/ruby_supportlib/phusion_passenger/nginx/config_options.rb'
80
+ 'src/ruby_supportlib/phusion_passenger/nginx/config_options.rb',
81
81
  ]
82
82
  file(source => dependencies) do
83
83
  template = CxxCodeTemplateRenderer.new("#{source}.cxxcodebuilder")