passenger 5.3.5 → 5.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +13 -0
- data/README.md +2 -1
- data/Rakefile +0 -5
- data/build/agent.rb +2 -1
- data/build/cxx_tests.rb +18 -20
- data/build/integration_tests.rb +6 -2
- data/build/support/cxx_dependency_map.rb +2019 -1966
- data/dev/colorize-logs +272 -0
- data/src/agent/Core/AdminPanelConnector.h +3 -3
- data/src/agent/Core/ApiServer.h +4 -4
- data/src/agent/Core/ApplicationPool/BasicProcessInfo.h +2 -2
- data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +2 -2
- data/src/agent/Core/ApplicationPool/Implementation.cpp +5 -5
- data/src/agent/Core/ApplicationPool/Pool.h +4 -4
- data/src/agent/Core/ApplicationPool/Process.h +10 -15
- data/src/agent/Core/ApplicationPool/Socket.h +2 -2
- data/src/agent/Core/ApplicationPool/TestSession.h +3 -3
- data/src/agent/Core/Config.h +4 -2
- data/src/agent/Core/Controller.h +4 -4
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Core/Controller/SendRequest.cpp +2 -2
- data/src/agent/Core/Controller/TurboCaching.h +2 -2
- data/src/agent/Core/CoreMain.cpp +2 -2
- data/src/agent/Core/OptionParser.h +2 -2
- data/src/agent/Core/ResponseCache.h +3 -3
- data/src/agent/Core/SecurityUpdateChecker.h +2 -2
- data/src/agent/Core/SpawningKit/Config.h +2 -1
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/Context.h +1 -1
- data/src/agent/Core/SpawningKit/DirectSpawner.h +3 -3
- data/src/agent/Core/SpawningKit/DummySpawner.h +3 -3
- data/src/agent/Core/SpawningKit/ErrorRenderer.h +1 -1
- data/src/agent/Core/SpawningKit/Exceptions.h +2 -2
- data/src/agent/Core/SpawningKit/Factory.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +3 -3
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +1 -1
- data/src/agent/Core/SpawningKit/Journey.h +4 -5
- data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
- data/src/agent/Core/SpawningKit/Result.h +20 -8
- data/src/agent/Core/SpawningKit/Result/AutoGeneratedCode.h +1 -1
- data/src/agent/Core/SpawningKit/SmartSpawner.h +6 -6
- data/src/agent/Core/SpawningKit/Spawner.h +2 -2
- data/src/agent/Core/TelemetryCollector.h +13 -7
- data/src/agent/ExecHelper/ExecHelperMain.cpp +1 -1
- data/src/agent/README.md +1 -1
- data/src/agent/Shared/ApiAccountUtils.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +3 -3
- data/src/agent/Shared/ApplicationPoolApiKey.h +2 -2
- data/src/agent/Shared/Fundamentals/Initialization.cpp +4 -4
- data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +1 -1
- data/src/agent/SystemMetrics/SystemMetricsMain.cpp +4 -3
- data/src/agent/Watchdog/ApiServer.h +3 -3
- data/src/agent/Watchdog/Config.h +3 -2
- data/src/agent/Watchdog/CoreWatcher.cpp +2 -2
- data/src/agent/Watchdog/WatchdogMain.cpp +93 -27
- data/src/apache2_module/Config.cpp +14 -14
- data/src/apache2_module/Config.h +8 -16
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +505 -491
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp.cxxcodebuilder +39 -17
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +24 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp.cxxcodebuilder +31 -1
- data/src/{cxx_supportlib/Utils/MemoryBarrier.h → apache2_module/ConfigGeneral/Common.h} +17 -25
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +12 -1
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp.cxxcodebuilder +16 -1
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +19 -5
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp.cxxcodebuilder +26 -9
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +6 -1
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp.cxxcodebuilder +10 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -1
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp.cxxcodebuilder +11 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +23 -1
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h.cxxcodebuilder +34 -1
- data/src/apache2_module/Hooks.cpp +3 -3
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -1
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h.cxxcodebuilder +36 -1
- data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.cpp +2 -2
- data/src/cxx_supportlib/{Utils → Algorithms}/Hasher.h +4 -4
- data/src/cxx_supportlib/AppTypeDetector/Detector.h +1 -1
- data/src/cxx_supportlib/ConfigKit/Schema.h +2 -2
- data/src/cxx_supportlib/ConfigKit/Store.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/{Utils → DataStructures}/HashMap.h +4 -4
- data/src/cxx_supportlib/DataStructures/HashedStaticString.h +5 -5
- data/src/cxx_supportlib/DataStructures/LString.h +3 -3
- data/src/cxx_supportlib/{Utils → DataStructures}/StringMap.h +36 -36
- data/src/cxx_supportlib/FileTools/FileManip.cpp +1 -1
- data/src/cxx_supportlib/FileTools/PathManip.cpp +2 -2
- data/src/cxx_supportlib/FileTools/PathSecurityCheck.cpp +1 -1
- data/src/cxx_supportlib/Hooks.h +2 -2
- data/src/cxx_supportlib/{Utils → IOTools}/BufferedIO.h +5 -5
- data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.cpp +2 -2
- data/src/cxx_supportlib/{Utils → IOTools}/IOUtils.h +3 -3
- data/src/cxx_supportlib/{Utils → IOTools}/MessageIO.h +7 -7
- data/src/cxx_supportlib/{MessageReadersWriters.h → IOTools/MessageSerialization.h} +5 -5
- data/src/cxx_supportlib/InstanceDirectory.h +4 -4
- data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
- data/src/cxx_supportlib/{Utils → JsonTools}/JsonUtils.h +5 -5
- data/src/cxx_supportlib/LoggingKit/Context.h +2 -2
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +3 -3
- data/src/cxx_supportlib/MemoryKit/mbuf.cpp +2 -2
- data/src/cxx_supportlib/ProcessManagement/Spawn.cpp +5 -5
- data/src/cxx_supportlib/ProcessManagement/Utils.h +10 -0
- data/src/cxx_supportlib/RandomGenerator.h +2 -2
- data/src/cxx_supportlib/{Crypto.cpp → SecurityKit/Crypto.cpp} +4 -4
- data/src/cxx_supportlib/{Crypto.h → SecurityKit/Crypto.h} +4 -4
- data/src/cxx_supportlib/{Utils → SecurityKit}/MemZeroGuard.h +0 -0
- data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +2 -2
- data/src/cxx_supportlib/ServerKit/Channel.h +1 -1
- data/src/cxx_supportlib/ServerKit/Context.h +2 -2
- data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +3 -3
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +2 -2
- data/src/cxx_supportlib/ServerKit/HttpServer.h +16 -10
- data/src/cxx_supportlib/ServerKit/Server.h +3 -3
- data/src/cxx_supportlib/{Utils → StrIntTools}/DateParsing.h +5 -5
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.cpp +3 -3
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtils.h +0 -0
- data/src/cxx_supportlib/{Utils → StrIntTools}/StrIntUtilsNoStrictAliasing.cpp +2 -2
- data/src/cxx_supportlib/{Utils → StrIntTools}/StringScanning.h +5 -5
- data/src/cxx_supportlib/{Utils → StrIntTools}/Template.h +30 -5
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +34 -0
- data/src/cxx_supportlib/{Utils → SystemTools}/ProcessMetricsCollector.h +6 -6
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemMetricsCollector.h +3 -3
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.cpp +1 -1
- data/src/cxx_supportlib/{Utils → SystemTools}/SystemTime.h +0 -0
- data/src/cxx_supportlib/SystemTools/UserDatabase.h +1 -1
- data/src/cxx_supportlib/Utils.cpp +2 -2
- data/src/cxx_supportlib/Utils/CachedFileStat.hpp +3 -3
- data/src/cxx_supportlib/Utils/Curl.h +2 -2
- data/src/cxx_supportlib/Utils/FileChangeChecker.h +2 -2
- data/src/cxx_supportlib/Utils/MessagePassing.h +1 -1
- data/src/cxx_supportlib/Utils/SpeedMeter.h +2 -2
- data/src/cxx_supportlib/Utils/Timer.h +2 -2
- data/src/cxx_supportlib/Utils/VariantMap.h +3 -3
- data/src/cxx_supportlib/WatchdogLauncher.h +3 -3
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +1 -1
- data/src/cxx_supportlib/WrapperRegistry/Registry.h +1 -1
- data/src/cxx_supportlib/vendor-modified/psg_sysqueue.h +3 -0
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +11 -11
- data/src/ruby_supportlib/phusion_passenger/config/agent_compiler.rb +4 -4
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/message_channel.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/packaging.rb +20 -19
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +22 -4
- data/src/ruby_supportlib/phusion_passenger/platform_info/ruby.rb +33 -13
- data/src/schema_printer/SchemaPrinterMain.cpp +2 -0
- metadata +28 -86
- data/.editorconfig +0 -134
- data/CODE_OF_CONDUCT.md +0 -52
- data/dev/boost-patches/0001-Patch-boost-thread-so-that-oxt-thread-can-use-it.patch +0 -48
- data/dev/boost-patches/0002-Make-boost-thread_interrupted-derive-from-oxt-tracab.patch +0 -33
- data/dev/boost-patches/0003-Disable-a-Clang-pragma-to-prevent-warnings-on-OS-X.patch +0 -25
- data/dev/ci/README.md +0 -134
- data/dev/ci/lib/functions.sh +0 -129
- data/dev/ci/lib/set-container-envvars.sh +0 -53
- data/dev/ci/lib/setup-container.sh +0 -46
- data/dev/ci/run-tests-natively +0 -24
- data/dev/ci/run-tests-with-docker +0 -42
- data/dev/ci/scripts/debug-console-wrapper.sh +0 -29
- data/dev/ci/scripts/docker-entrypoint-stage2.sh +0 -17
- data/dev/ci/scripts/docker-entrypoint.sh +0 -17
- data/dev/ci/scripts/inituidgid +0 -17
- data/dev/ci/scripts/run-tests-natively-stage2.sh +0 -17
- data/dev/ci/scripts/setup-host-natively.sh +0 -11
- data/dev/ci/setup-host +0 -56
- data/dev/ci/tests/apache2/run +0 -6
- data/dev/ci/tests/apache2/setup +0 -4
- data/dev/ci/tests/binaries/Jenkinsfile +0 -105
- data/dev/ci/tests/binaries/build-linux +0 -38
- data/dev/ci/tests/binaries/build-macos +0 -40
- data/dev/ci/tests/binaries/prepare-macos +0 -38
- data/dev/ci/tests/binaries/test-linux +0 -45
- data/dev/ci/tests/binaries/test-macos +0 -38
- data/dev/ci/tests/cxx/run +0 -9
- data/dev/ci/tests/cxx/setup +0 -4
- data/dev/ci/tests/debian/Jenkinsfile +0 -89
- data/dev/ci/tests/debian/run +0 -60
- data/dev/ci/tests/nginx-dynamic/run +0 -20
- data/dev/ci/tests/nginx-dynamic/setup +0 -4
- data/dev/ci/tests/nginx/run +0 -5
- data/dev/ci/tests/nginx/setup +0 -4
- data/dev/ci/tests/nodejs/run +0 -4
- data/dev/ci/tests/nodejs/setup +0 -4
- data/dev/ci/tests/rpm/Jenkinsfile +0 -68
- data/dev/ci/tests/rpm/run +0 -63
- data/dev/ci/tests/ruby/run +0 -4
- data/dev/ci/tests/ruby/setup +0 -4
- data/dev/ci/tests/source-packaging/run +0 -4
- data/dev/ci/tests/source-packaging/setup +0 -4
- data/dev/ci/tests/standalone/run +0 -4
- data/dev/ci/tests/standalone/setup +0 -4
- data/dev/configkit-schemas/index.json +0 -1850
- data/dev/configkit-schemas/update_schema_inline_comments.rb +0 -118
- data/dev/rack.test/config.ru +0 -5
- data/dev/rack.test/public/asset.txt +0 -1
- data/dev/vagrant/apache_default_site.conf +0 -35
- data/dev/vagrant/apache_passenger.conf +0 -5
- data/dev/vagrant/apache_passenger.load +0 -1
- data/dev/vagrant/apache_ports.conf +0 -24
- data/dev/vagrant/apache_rack_test.conf +0 -9
- data/dev/vagrant/bashrc +0 -23
- data/dev/vagrant/nginx.conf +0 -39
- data/dev/vagrant/nginx_rakefile +0 -33
- data/dev/vagrant/nginx_start +0 -32
- data/dev/vagrant/provision.sh +0 -117
- data/dev/vagrant/sudoers.conf +0 -5
- data/resources/templates/error_renderer/.editorconfig +0 -19
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2013-
|
3
|
+
* Copyright (c) 2013-2018 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -61,7 +61,7 @@
|
|
61
61
|
#include <Exceptions.h>
|
62
62
|
#include <FileTools/FileManip.h>
|
63
63
|
#include <Utils.h>
|
64
|
-
#include <
|
64
|
+
#include <StrIntTools/StrIntUtils.h>
|
65
65
|
|
66
66
|
namespace Passenger {
|
67
67
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2018 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -30,7 +30,7 @@
|
|
30
30
|
#include <cerrno>
|
31
31
|
|
32
32
|
#include <Utils/CachedFileStat.hpp>
|
33
|
-
#include <
|
33
|
+
#include <SystemTools/SystemTime.h>
|
34
34
|
|
35
35
|
namespace Passenger {
|
36
36
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2014-
|
3
|
+
* Copyright (c) 2014-2018 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -30,7 +30,7 @@
|
|
30
30
|
#include <cstdlib>
|
31
31
|
#include <cassert>
|
32
32
|
#include <limits>
|
33
|
-
#include <
|
33
|
+
#include <SystemTools/SystemTime.h>
|
34
34
|
|
35
35
|
namespace Passenger {
|
36
36
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2018 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
#include <boost/thread.hpp>
|
30
30
|
#include <oxt/system_calls.hpp>
|
31
|
-
#include <
|
31
|
+
#include <SystemTools/SystemTime.h>
|
32
32
|
|
33
33
|
namespace Passenger {
|
34
34
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
* Copyright (c) 2010-
|
3
|
+
* Copyright (c) 2010-2018 Phusion Holding B.V.
|
4
4
|
*
|
5
5
|
* "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
* trademarks of Phusion Holding B.V.
|
@@ -36,8 +36,8 @@
|
|
36
36
|
#include <jsoncpp/json.h>
|
37
37
|
#include <modp_b64.h>
|
38
38
|
#include <Exceptions.h>
|
39
|
-
#include <
|
40
|
-
#include <
|
39
|
+
#include <StrIntTools/StrIntUtils.h>
|
40
|
+
#include <IOTools/MessageIO.h>
|
41
41
|
|
42
42
|
namespace Passenger {
|
43
43
|
|
@@ -86,8 +86,8 @@ void psg_watchdog_launcher_free(PsgWatchdogLauncher *launcher);
|
|
86
86
|
#include <LoggingKit/Context.h>
|
87
87
|
#include <ProcessManagement/Utils.h>
|
88
88
|
#include <Utils.h>
|
89
|
-
#include <
|
90
|
-
#include <
|
89
|
+
#include <IOTools/IOUtils.h>
|
90
|
+
#include <IOTools/MessageIO.h>
|
91
91
|
#include <Utils/Timer.h>
|
92
92
|
#include <Utils/ScopeGuard.h>
|
93
93
|
#include <Utils/ClassUtils.h>
|
@@ -370,7 +370,7 @@ public:
|
|
370
370
|
afterFork();
|
371
371
|
}
|
372
372
|
|
373
|
-
closeAllFileDescriptors(FEEDBACK_FD
|
373
|
+
closeAllFileDescriptors(FEEDBACK_FD);
|
374
374
|
|
375
375
|
execl(agentFilename.c_str(), AGENT_EXE, "watchdog",
|
376
376
|
// Some extra space to allow the child process to change its process title.
|
@@ -31,7 +31,7 @@ module PhusionPassenger
|
|
31
31
|
|
32
32
|
PACKAGE_NAME = 'passenger'
|
33
33
|
# Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
|
34
|
-
VERSION_STRING = '5.3.
|
34
|
+
VERSION_STRING = '5.3.6'
|
35
35
|
|
36
36
|
PREFERRED_NGINX_VERSION = '1.14.0'
|
37
37
|
NGINX_SHA256_CHECKSUM = '5d15becbf69aba1fe33f8d416d97edd95ea8919ea9ac519eff9bafebb6022cb5'
|
@@ -293,24 +293,24 @@ COMMON_LIBRARY = CommonLibraryBuilder.new do
|
|
293
293
|
:source => 'SystemTools/UserDatabase.cpp',
|
294
294
|
:category => :base
|
295
295
|
define_component 'Utils/SystemTime.o',
|
296
|
-
:source => '
|
296
|
+
:source => 'SystemTools/SystemTime.cpp',
|
297
297
|
:category => :base
|
298
|
-
define_component '
|
299
|
-
:source => '
|
298
|
+
define_component 'StrIntTools/StrIntUtils.o',
|
299
|
+
:source => 'StrIntTools/StrIntUtils.cpp',
|
300
300
|
:category => :base,
|
301
301
|
:optimize => :very_heavy
|
302
|
-
define_component '
|
303
|
-
:source => '
|
302
|
+
define_component 'StrIntTools/StrIntUtilsNoStrictAliasing.o',
|
303
|
+
:source => 'StrIntTools/StrIntUtilsNoStrictAliasing.cpp',
|
304
304
|
:category => :base,
|
305
305
|
# Compiling with -O3 causes segfaults on RHEL 6
|
306
306
|
:optimize => :heavy,
|
307
307
|
:strict_aliasing => false
|
308
|
-
define_component '
|
309
|
-
:source => '
|
308
|
+
define_component 'IOTools/IOUtils.o',
|
309
|
+
:source => 'IOTools/IOUtils.cpp',
|
310
310
|
:optimize => :light,
|
311
311
|
:category => :base
|
312
|
-
define_component '
|
313
|
-
:source => '
|
312
|
+
define_component 'Algorithms/Hasher.o',
|
313
|
+
:source => 'Algorithms/Hasher.cpp',
|
314
314
|
:category => :base,
|
315
315
|
:optimize => :very_heavy
|
316
316
|
define_component 'Utils.o',
|
@@ -321,8 +321,8 @@ COMMON_LIBRARY = CommonLibraryBuilder.new do
|
|
321
321
|
:category => :base,
|
322
322
|
:optimize => true
|
323
323
|
|
324
|
-
define_component 'Crypto.o',
|
325
|
-
:source => 'Crypto.cpp',
|
324
|
+
define_component 'SecurityKit/Crypto.o',
|
325
|
+
:source => 'SecurityKit/Crypto.cpp',
|
326
326
|
:category => :other,
|
327
327
|
:cflags => PhusionPassenger::PlatformInfo.crypto_extra_cflags
|
328
328
|
define_component 'Utils/CachedFileStat.o',
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
#
|
3
3
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
4
|
-
# Copyright (c) 2010-
|
4
|
+
# Copyright (c) 2010-2018 Phusion Holding B.V.
|
5
5
|
#
|
6
6
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
7
7
|
# trademarks of Phusion Holding B.V.
|
@@ -133,9 +133,9 @@ module PhusionPassenger
|
|
133
133
|
puts "<banner>Compiling #{PROGRAM_NAME} agent...</banner>"
|
134
134
|
progress_bar = ProgressBar.new
|
135
135
|
e_working_dir = Shellwords.escape(@working_dir)
|
136
|
-
args = "#{e_working_dir}/support-binaries/#{AGENT_EXE}"
|
137
|
-
" CACHING=false"
|
138
|
-
" OUTPUT_DIR=#{e_working_dir} "
|
136
|
+
args = "#{e_working_dir}/support-binaries/#{AGENT_EXE}" \
|
137
|
+
" CACHING=false" \
|
138
|
+
" OUTPUT_DIR=#{e_working_dir} " \
|
139
139
|
" OPTIMIZE=#{!!@optimize}"
|
140
140
|
begin
|
141
141
|
progress_bar.set(0)
|
@@ -251,7 +251,7 @@ module PhusionPassenger
|
|
251
251
|
if @nginx_tarball
|
252
252
|
new_screen
|
253
253
|
puts "You specified --nginx-tarball, but the file could not be extracted. " +
|
254
|
-
"Please check the path and format (tar.gz), and ensure Passenger can write to " +
|
254
|
+
"Please check the path and format (tar.gz), and ensure Passenger can write to " +
|
255
255
|
PlatformInfo.tmpexedir + "."
|
256
256
|
puts
|
257
257
|
else
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: binary
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
# Copyright (c) 2010-
|
3
|
+
# Copyright (c) 2010-2018 Phusion Holding B.V.
|
4
4
|
#
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
# trademarks of Phusion Holding B.V.
|
@@ -26,7 +26,7 @@
|
|
26
26
|
module PhusionPassenger
|
27
27
|
|
28
28
|
# This class allows reading and writing structured messages over
|
29
|
-
# I/O channels. This is the Ruby implementation of src/cxx_supportlib/
|
29
|
+
# I/O channels. This is the Ruby implementation of src/cxx_supportlib/IOTools/MessageIO.h;
|
30
30
|
# see that file for more information.
|
31
31
|
class MessageChannel
|
32
32
|
HEADER_SIZE = 2 # :nodoc:
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
2
|
-
# Copyright (c) 2010-
|
2
|
+
# Copyright (c) 2010-2018 Phusion Holding B.V.
|
3
3
|
#
|
4
4
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
5
5
|
# trademarks of Phusion Holding B.V.
|
@@ -56,11 +56,9 @@ module PhusionPassenger
|
|
56
56
|
# A list of globs which match all files that should be packaged
|
57
57
|
# in the Phusion Passenger gem or tarball.
|
58
58
|
GLOB = [
|
59
|
-
'.editorconfig',
|
60
59
|
'configure',
|
61
60
|
'Rakefile',
|
62
61
|
'README.md',
|
63
|
-
'CODE_OF_CONDUCT.md',
|
64
62
|
'CONTRIBUTORS',
|
65
63
|
'CONTRIBUTING.md',
|
66
64
|
'LICENSE',
|
@@ -74,46 +72,49 @@ module PhusionPassenger
|
|
74
72
|
'doc/**/*',
|
75
73
|
'images/*',
|
76
74
|
'man/*',
|
77
|
-
|
75
|
+
# Only inlcude the top-level scripts, required by e.g. the Homebrew packaging.
|
76
|
+
'dev/*',
|
78
77
|
'src/**/*',
|
79
78
|
'resources/**/*',
|
80
79
|
'resources/templates/error_renderer/.editorconfig'
|
81
80
|
]
|
82
81
|
|
83
82
|
# Files that should be excluded from the gem or tarball. Overrides GLOB.
|
83
|
+
#
|
84
|
+
# This is not merely an exclusion list on top of GLOB! All files that you
|
85
|
+
# do not want to include in the package must be explicitly specified here!
|
86
|
+
# Otherwise source_packaging_test.rb will complain.
|
84
87
|
EXCLUDE_GLOB = [
|
85
88
|
'**/.DS_Store',
|
86
|
-
'
|
89
|
+
'**/*.gch',
|
90
|
+
'**/.editorconfig',
|
91
|
+
'.externalToolBuilders/**/*',
|
92
|
+
'.github/**/*',
|
93
|
+
'.settings/**/*',
|
94
|
+
'.vscode/**/*',
|
95
|
+
'.cproject',
|
87
96
|
'.gitattributes',
|
97
|
+
'.gitignore',
|
88
98
|
'.gitmodules',
|
89
|
-
'.github/*',
|
90
|
-
'.settings/*',
|
91
|
-
'.externalToolBuilders/*',
|
92
|
-
'.vscode/*',
|
93
|
-
'.cproject',
|
94
99
|
'.project',
|
100
|
+
'CODE_OF_CONDUCT.md',
|
95
101
|
'Gemfile',
|
96
102
|
'Gemfile.lock',
|
97
|
-
'yarn.lock',
|
98
|
-
'Vagrantfile',
|
99
103
|
'Jenkinsfile',
|
100
104
|
'Passenger.sublime-project',
|
101
|
-
'
|
105
|
+
'Vagrantfile',
|
106
|
+
'yarn.lock',
|
102
107
|
'build/support/vendor/*/.*',
|
103
108
|
'build/support/vendor/*/spec/**/*',
|
109
|
+
'dev/*/**/*',
|
110
|
+
'packaging/**/*',
|
104
111
|
'src/ruby_supportlib/phusion_passenger/vendor/*/.*',
|
105
112
|
'src/ruby_supportlib/phusion_passenger/vendor/*/hacking/**/*',
|
106
113
|
'src/ruby_supportlib/phusion_passenger/vendor/*/spec/**/*',
|
107
114
|
'src/cxx_supportlib/vendor-copy/*/.*',
|
108
|
-
'packaging/**/*',
|
109
115
|
'test/**/*'
|
110
116
|
]
|
111
117
|
|
112
|
-
# Files and directories that should be excluded from the Homebrew installation.
|
113
|
-
HOMEBREW_EXCLUDE = [
|
114
|
-
"package.json", "npm-shrinkwrap.json"
|
115
|
-
]
|
116
|
-
|
117
118
|
def self.files
|
118
119
|
result = Dir[*GLOB] - Dir[*EXCLUDE_GLOB]
|
119
120
|
result.reject! { |path| path =~ %r{/\.\.?$} }
|
@@ -577,6 +577,23 @@ module PhusionPassenger
|
|
577
577
|
end
|
578
578
|
memoize :apache2_sbindir
|
579
579
|
|
580
|
+
def self.apache2_modulesdir(options = {})
|
581
|
+
apxs2 = options.fetch(:apxs2, self.apxs2)
|
582
|
+
if apxs2.nil?
|
583
|
+
# macOS >= 10.13 High Sierra no longer ships apxs2, so we'll use
|
584
|
+
# a hardcoded default.
|
585
|
+
if os_name_simple == 'macosx' && os_version >= '10.13' \
|
586
|
+
&& httpd(:apxs2 => apxs2) == '/usr/sbin/httpd'
|
587
|
+
'/usr/libexec/apache2'
|
588
|
+
else
|
589
|
+
nil
|
590
|
+
end
|
591
|
+
else
|
592
|
+
`#{apxs2} -q LIBEXECDIR`.strip
|
593
|
+
end
|
594
|
+
end
|
595
|
+
memoize :apache2_modulesdir
|
596
|
+
|
580
597
|
|
581
598
|
################ Compiler and linker flags ################
|
582
599
|
|
@@ -824,8 +841,8 @@ module PhusionPassenger
|
|
824
841
|
# /Library/Developer/CommandLineTools.
|
825
842
|
xcode_prefix = `/usr/bin/xcode-select -p`.strip
|
826
843
|
["-I#{xcode_prefix}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/apr-1 " \
|
827
|
-
"-I/
|
828
|
-
|
844
|
+
"-I#{xcode_prefix}/SDKs/MacOSX.sdk/usr/include/apr-1",
|
845
|
+
'-lapr-1']
|
829
846
|
else
|
830
847
|
['-I/usr/include/apr-1', '-lapr-1']
|
831
848
|
end
|
@@ -873,8 +890,9 @@ module PhusionPassenger
|
|
873
890
|
# On macOS >= 10.13 High Sierra /usr/include no longer
|
874
891
|
# exists.
|
875
892
|
xcode_prefix = `/usr/bin/xcode-select -p`.strip
|
876
|
-
["-I#{xcode_prefix}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/apr-1"
|
877
|
-
|
893
|
+
["-I#{xcode_prefix}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/apr-1" \
|
894
|
+
"-I#{xcode_prefix}/SDKs/MacOSX.sdk/usr/include/apr-1",
|
895
|
+
'-laprutil-1']
|
878
896
|
else
|
879
897
|
['-I/usr/include/apr-1', '-laprutil-1']
|
880
898
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# encoding: binary
|
2
2
|
# Phusion Passenger - https://www.phusionpassenger.com/
|
3
|
-
# Copyright (c) 2010-
|
3
|
+
# Copyright (c) 2010-2018 Phusion Holding B.V.
|
4
4
|
#
|
5
5
|
# "Passenger", "Phusion Passenger" and "Union Station" are registered
|
6
6
|
# trademarks of Phusion Holding B.V.
|
@@ -48,6 +48,22 @@ module PhusionPassenger
|
|
48
48
|
end
|
49
49
|
GEM_PATH = gem_path
|
50
50
|
|
51
|
+
# 'bundle exec' modifies $GEM_HOME and $GEM_PATH so let's
|
52
|
+
# store the values that we had before Bundler's modifications.
|
53
|
+
gem_home = ENV['BUNDLER_ORIG_GEM_HOME']
|
54
|
+
if gem_home
|
55
|
+
gem_home = gem_home.strip.freeze
|
56
|
+
gem_home = nil if gem_home.empty?
|
57
|
+
end
|
58
|
+
BUNDLER_ORIG_GEM_HOME = gem_home
|
59
|
+
|
60
|
+
gem_path = ENV['BUNDLER_ORIG_GEM_PATH']
|
61
|
+
if gem_path
|
62
|
+
gem_path = gem_path.strip.freeze
|
63
|
+
gem_path = nil if gem_path.empty?
|
64
|
+
end
|
65
|
+
BUNDLER_ORIG_GEM_PATH = gem_path
|
66
|
+
|
51
67
|
if defined?(::RUBY_ENGINE)
|
52
68
|
RUBY_ENGINE = ::RUBY_ENGINE
|
53
69
|
else
|
@@ -257,12 +273,6 @@ module PhusionPassenger
|
|
257
273
|
# Returns nil otherwise.
|
258
274
|
def self.rvm_ruby_string
|
259
275
|
if in_rvm?
|
260
|
-
# RVM used to export the necessary information through
|
261
|
-
# environment variables, but doesn't always do that anymore
|
262
|
-
# in the latest versions in order to fight env var pollution.
|
263
|
-
# Scanning $LOAD_PATH seems to be the only way to obtain
|
264
|
-
# the information.
|
265
|
-
|
266
276
|
# Getting the RVM name of the Ruby interpreter ("ruby-1.9.2")
|
267
277
|
# isn't so hard, we can extract it from the #ruby_executable
|
268
278
|
# string. Getting the gemset name is a bit harder, so let's
|
@@ -273,16 +283,26 @@ module PhusionPassenger
|
|
273
283
|
# /Users/hongli/.rvm/gems/ruby-1.9.3-p392
|
274
284
|
# But also:
|
275
285
|
# /home/bitnami/.rvm/gems/ruby-1.9.3-p385-perf@njist325/ruby/1.9.1
|
276
|
-
|
277
|
-
|
286
|
+
#
|
287
|
+
# Caveat when we're executed through 'bundle exec':
|
288
|
+
# if `bundle install` was run with `--path=`, then `bundle exec`
|
289
|
+
# will modify $GEM_HOME to the --path directory. That's
|
290
|
+
# why we need to parse the version of $GEM_HOME *before*
|
291
|
+
# `bundle exec` had modified it.
|
292
|
+
[GEM_HOME, BUNDLER_ORIG_GEM_HOME].each do |gem_home|
|
293
|
+
if gem_home && gem_home =~ %r{rvm/gems/(.+)}
|
294
|
+
return $1.sub(/\/.*/, '')
|
295
|
+
end
|
278
296
|
end
|
279
297
|
|
280
298
|
# User might have explicitly set GEM_HOME to a custom directory,
|
281
299
|
# or might have nuked $GEM_HOME. Extract info from $GEM_PATH.
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
300
|
+
[GEM_PATH, BUNDLER_ORIG_GEM_PATH].each do |gem_path|
|
301
|
+
if gem_path
|
302
|
+
gem_path.split(':').each do |gem_path_part|
|
303
|
+
if gem_path_part =~ %r{rvm/gems/(.+)}
|
304
|
+
return $1.sub(/\/.*/, '')
|
305
|
+
end
|
286
306
|
end
|
287
307
|
end
|
288
308
|
end
|