passenger 4.0.41 → 4.0.42
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.travis.yml +3 -3
- data/CHANGELOG +26 -0
- data/build/agents.rb +1 -1
- data/build/apache2.rb +3 -0
- data/build/debian.rb +1 -1
- data/build/integration_tests.rb +4 -4
- data/build/nginx.rb +3 -0
- data/build/packaging.rb +3 -5
- data/build/preprocessor.rb +2 -1
- data/build/ruby_extension.rb +5 -5
- data/build/test_basics.rb +2 -1
- data/debian.template/control.template +9 -4
- data/debian.template/rules.template +16 -4
- data/dev/run_travis.sh +32 -8
- data/doc/Users guide Apache.txt +55 -10
- data/doc/Users guide Nginx.txt +10 -8
- data/doc/Users guide Standalone.txt +5 -2
- data/doc/users_guide_snippets/installation.txt +14 -0
- data/ext/common/ApplicationPool2/Process.h +8 -0
- data/ext/common/ApplicationPool2/Spawner.h +51 -1
- data/ext/common/Constants.h +1 -1
- data/ext/common/Utils/Curl.h +4 -0
- data/ext/common/agents/HelperAgent/RequestHandler.h +14 -2
- data/ext/common/agents/LoggingAgent/LoggingServer.h +4 -4
- data/ext/common/agents/LoggingAgent/RemoteSender.h +66 -5
- data/ext/nginx/StaticContentHandler.c +0 -7
- data/lib/phusion_passenger.rb +3 -3
- data/lib/phusion_passenger/config/about_command.rb +0 -4
- data/lib/phusion_passenger/config/build_native_support_command.rb +78 -0
- data/lib/phusion_passenger/config/detach_process_command.rb +0 -4
- data/lib/phusion_passenger/config/main.rb +12 -5
- data/lib/phusion_passenger/config/restart_app_command.rb +0 -4
- data/lib/phusion_passenger/config/validate_install_command.rb +0 -4
- data/lib/phusion_passenger/platform_info/compiler.rb +58 -41
- data/lib/phusion_passenger/platform_info/cxx_portability.rb +5 -0
- data/lib/phusion_passenger/standalone/command.rb +29 -10
- data/lib/phusion_passenger/standalone/help_command.rb +2 -2
- data/lib/phusion_passenger/standalone/start_command.rb +5 -1
- data/lib/phusion_passenger/utils/tee_input.rb +1 -0
- data/resources/mime.types +1 -1
- data/resources/oss-binaries.phusionpassenger.com.crt +124 -0
- data/resources/templates/apache2/deployment_example.txt.erb +2 -0
- data/resources/templates/standalone/config.erb +3 -1
- data/resources/templates/undisclosed_error.html.template +38 -1
- data/resources/union_station_gateway.crt +21 -0
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +34 -0
- data/test/cxx/RequestHandlerTest.cpp +10 -3
- data/test/cxx/TemplateTest.cpp +1 -1
- data/test/integration_tests/apache2_tests.rb +90 -106
- data/test/integration_tests/nginx_tests.rb +2 -0
- data/test/stub/rack/config.ru +7 -14
- data/test/stub/rack/library.rb +16 -0
- data/test/support/test_helper.rb +0 -3
- metadata +4 -80
- metadata.gz.asc +7 -7
- data/test/stub/rails2.3-mycook/Rakefile +0 -10
- data/test/stub/rails2.3-mycook/app/controllers/application_controller.rb +0 -12
- data/test/stub/rails2.3-mycook/app/controllers/recipes_controller.rb +0 -5
- data/test/stub/rails2.3-mycook/app/controllers/uploads_controller.rb +0 -15
- data/test/stub/rails2.3-mycook/app/controllers/welcome_controller.rb +0 -71
- data/test/stub/rails2.3-mycook/app/helpers/application_helper.rb +0 -3
- data/test/stub/rails2.3-mycook/app/helpers/recipes_helper.rb +0 -2
- data/test/stub/rails2.3-mycook/app/helpers/test_helper.rb +0 -2
- data/test/stub/rails2.3-mycook/app/helpers/uploads_helper.rb +0 -2
- data/test/stub/rails2.3-mycook/app/helpers/welcome_helper.rb +0 -2
- data/test/stub/rails2.3-mycook/app/views/layouts/default.rhtml +0 -26
- data/test/stub/rails2.3-mycook/app/views/recipes/create.rhtml +0 -13
- data/test/stub/rails2.3-mycook/app/views/recipes/index.rhtml +0 -3
- data/test/stub/rails2.3-mycook/app/views/recipes/new.rhtml +0 -8
- data/test/stub/rails2.3-mycook/app/views/uploads/index.rhtml +0 -1
- data/test/stub/rails2.3-mycook/app/views/uploads/new.html.erb +0 -8
- data/test/stub/rails2.3-mycook/app/views/welcome/cached.rhtml +0 -1
- data/test/stub/rails2.3-mycook/app/views/welcome/index.rhtml +0 -20
- data/test/stub/rails2.3-mycook/config/boot.rb +0 -110
- data/test/stub/rails2.3-mycook/config/database.yml +0 -19
- data/test/stub/rails2.3-mycook/config/environment.rb +0 -61
- data/test/stub/rails2.3-mycook/config/environments/development.rb +0 -18
- data/test/stub/rails2.3-mycook/config/environments/production.rb +0 -19
- data/test/stub/rails2.3-mycook/config/initializers/inflections.rb +0 -10
- data/test/stub/rails2.3-mycook/config/initializers/mime_types.rb +0 -5
- data/test/stub/rails2.3-mycook/config/routes.rb +0 -38
- data/test/stub/rails2.3-mycook/log/useless.txt +0 -1
- data/test/stub/rails2.3-mycook/public/.htaccess +0 -42
- data/test/stub/rails2.3-mycook/public/404.html +0 -30
- data/test/stub/rails2.3-mycook/public/422.html +0 -30
- data/test/stub/rails2.3-mycook/public/500.html +0 -30
- data/test/stub/rails2.3-mycook/public/dispatch.cgi +0 -10
- data/test/stub/rails2.3-mycook/public/dispatch.fcgi +0 -24
- data/test/stub/rails2.3-mycook/public/dispatch.rb +0 -10
- data/test/stub/rails2.3-mycook/public/favicon.ico +0 -0
- data/test/stub/rails2.3-mycook/public/images/angrywizard.gif +0 -0
- data/test/stub/rails2.3-mycook/public/images/cookbook.gif +0 -0
- data/test/stub/rails2.3-mycook/public/images/header.png +0 -0
- data/test/stub/rails2.3-mycook/public/images/rails.png +0 -0
- data/test/stub/rails2.3-mycook/public/robots.txt +0 -5
- data/test/stub/rails2.3-mycook/public/uploads.html +0 -26
- data/test/stub/rails2.3-mycook/public/uploads/.gitignore +0 -0
- data/test/stub/rails2.3-mycook/public/welcome/cached.html +0 -26
- data/test/stub/rails2.3-mycook/script/about +0 -3
- data/test/stub/rails2.3-mycook/script/console +0 -3
- data/test/stub/rails2.3-mycook/script/dbconsole +0 -3
- data/test/stub/rails2.3-mycook/script/destroy +0 -3
- data/test/stub/rails2.3-mycook/script/generate +0 -3
- data/test/stub/rails2.3-mycook/script/performance/benchmarker +0 -3
- data/test/stub/rails2.3-mycook/script/performance/profiler +0 -3
- data/test/stub/rails2.3-mycook/script/performance/request +0 -3
- data/test/stub/rails2.3-mycook/script/plugin +0 -3
- data/test/stub/rails2.3-mycook/script/process/inspector +0 -3
- data/test/stub/rails2.3-mycook/script/process/reaper +0 -3
- data/test/stub/rails2.3-mycook/script/process/spawner +0 -3
- data/test/stub/rails2.3-mycook/script/runner +0 -3
- data/test/stub/rails2.3-mycook/script/server +0 -3
- data/test/stub/rails2.3-mycook/sites/some.site/public/uploads.html +0 -26
- data/test/stub/rails2.3-mycook/sites/some.site/public/welcome/cached.html +0 -26
- data/test/stub/rails2.3-mycook/tmp/cache/useless.txt +0 -1
- data/test/stub/rails2.3-mycook/tmp/pids/useless.txt +0 -1
- data/test/stub/rails2.3-mycook/tmp/sessions/useless.txt +0 -1
- data/test/stub/rails2.3-mycook/tmp/sockets/useless.txt +0 -1
- data/test/stub/vendor_rails/minimal/README +0 -1
- data/test/stub/vendor_rails/minimal/actionmailer/lib/action_mailer.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_controller.rb +0 -22
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_pack.rb +0 -0
- data/test/stub/vendor_rails/minimal/actionpack/lib/action_view.rb +0 -0
- data/test/stub/vendor_rails/minimal/activerecord/lib/active_record.rb +0 -7
- data/test/stub/vendor_rails/minimal/activeresource/lib/active_resource.rb +0 -0
- data/test/stub/vendor_rails/minimal/activesupport/lib/active_support.rb +0 -17
- data/test/stub/vendor_rails/minimal/activesupport/lib/active_support/whiny_nil.rb +0 -0
- data/test/stub/vendor_rails/minimal/railties/lib/dispatcher.rb +0 -0
- data/test/stub/vendor_rails/minimal/railties/lib/initializer.rb +0 -57
- data/test/stub/vendor_rails/minimal/railties/lib/ruby_version_check.rb +0 -1
- data/test/stub/zsfa/header.png +0 -0
- data/test/stub/zsfa/index.html +0 -14
- data/test/stub/zsfa/zsfa.png +0 -0
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZTk2YzkwYzQ3MzQwMjFmMTYwMWNlY2NmYmZkYzE2NjU2OWU0OGJhMQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MzJiMDU1ZmM0NDU3YjYwNzlkMDBiNjhmNjA3Y2ZhNDIzNTVjYjRmMQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MDdlZmY0M2Y3MGJmZTI2OWE1ZWIxNWY3NDIxMjlkNDQxNWQ0NWY3ZWQ5ODRm
|
10
|
+
Yjg1ODJlYzcxMDA4ZThlNzM0MjM2OTM0MzI2ZTdjYjlmN2NhOTkyY2MxMTY1
|
11
|
+
YjQ0NmRlZDQ0OWI3ODgwMTU2MjM5N2FjNjEwNGE3ODU4ZDRlMTc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZjAzMzFlN2E2YTE3YTNkOTQ0MTJlNTBlNDgwZmNmOTE4MjE3NDIwM2U2YThl
|
14
|
+
YWY4NzMzNDE4Y2MyZmM5NmVjMDE5NGMwNzU0YjI5N2YyYWNlOTkyY2M3MWZi
|
15
|
+
ZGM1YWY3ZDI3ZGY4YmZiODA5MWU5YWZlMmU4MGRiNDg5ZjY4MGM=
|
checksums.yaml.gz.asc
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
|
3
3
|
Comment: GPGTools - http://gpgtools.org
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
=
|
5
|
+
iQEcBAABAgAGBQJTagHhAAoJECrHRaUKISqM3JgH/iO5ytwG5HOsJtQIysPKlA1i
|
6
|
+
D2rnfAPBxs40pvf1ga8qLFvpcUyxtZayP6JU5xNNM/5Z31fJt9gQGsLoA6K6SuLq
|
7
|
+
qvEq7C25Hiub2PWIhz1Ejl+uMQAFBO8bZiAWutkKTSyg3FbBxz8QqUyExvl6KjWm
|
8
|
+
Izw60V1sgyBZfKxm2gKC6GC3yCBJXPfyWSFOV+1QgZOHDLMH+ehELCAXzYmKj/Lg
|
9
|
+
sA+l+4W1gcDv6aDuf1mKMRytU6F6fe1KXeShiGVvE80R4sXz3YnKNU+RADbTcSLA
|
10
|
+
f6eBkPTOjiuXGgYzQQFhcrVy3c4OnxSqBt4pf99pMqCbbExmX4pjKUsyGpMftDY=
|
11
|
+
=Qmot
|
12
12
|
-----END PGP SIGNATURE-----
|
data.tar.gz.asc
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
|
3
3
|
Comment: GPGTools - http://gpgtools.org
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
=
|
5
|
+
iQEcBAABAgAGBQJTagHhAAoJECrHRaUKISqM4/gH/jWZegkrdqOsXBTGp5zXL5iY
|
6
|
+
Gx2+AkGOsbYEZ1CIeNn7VlUDqNTAHX4vcSulnP6Tefhs3bJHf6okgv6Bx2NGPtU6
|
7
|
+
8H9ju7z/+ZfJDkD2nymwZpApRppUGJKy47VFDjVQX2soHNA1VFdcqnv9bjcWEWSO
|
8
|
+
DXFLoUYVNVp/9y3Q9uKmP0Uz5Mr/lqzm2VfkUjZjAJVcpSUkGysWC0+8UwAMfuVd
|
9
|
+
SBlEZ0G9RoJ5e6vMhsdBv0L7jFSt9yGRTCCi5gqgLtoRzUSw7GVUZj36e28KYLzg
|
10
|
+
H900Ze8sqOczw4VFN8Fw6UXYV778YPpcx+r5Lf0BCLgTs5Tw/K0S9Emk0IiYOBM=
|
11
|
+
=7RXc
|
12
12
|
-----END PGP SIGNATURE-----
|
data/.travis.yml
CHANGED
@@ -5,8 +5,8 @@ env:
|
|
5
5
|
- TEST_CXX=1 SUDO=1
|
6
6
|
- TEST_RUBY=1 TEST_RUBY_VERSION=1.8.7 TEST_CLASSIC_RAILS=0 TEST_RUBYGEMS_VERSION=1.8.25
|
7
7
|
- TEST_RUBY=1 TEST_RUBY_VERSION=1.9.3 TEST_CLASSIC_RAILS=0
|
8
|
-
- TEST_NGINX=1 TEST_STANDALONE=1
|
9
|
-
- TEST_APACHE2=1
|
10
|
-
- TEST_SOURCE_PACKAGING=1 TEST_DEBIAN_PACKAGING=1
|
8
|
+
- TEST_NGINX=1 TEST_STANDALONE=1
|
9
|
+
- TEST_APACHE2=1
|
10
|
+
- TEST_SOURCE_PACKAGING=1 TEST_DEBIAN_PACKAGING=1
|
11
11
|
|
12
12
|
script: ./dev/run_travis.sh
|
data/CHANGELOG
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
+
Release 4.0.42
|
2
|
+
--------------
|
3
|
+
|
4
|
+
* [Nginx] Upgraded the preferred Nginx version to 1.6.0.
|
5
|
+
* [Nginx] Fixed compatibility with Nginx 1.7.0.
|
6
|
+
* [Standalone] The MIME type for .woff files has been changed to application/font-woff.
|
7
|
+
Fixes issue #1071.
|
8
|
+
* There are now APT packages for Ubuntu 14.04. At the same time, packages for
|
9
|
+
Ubuntu 13.10 have been abandoned.
|
10
|
+
* Introduced a new command, `passenger-config build-native-support`, for ensuring
|
11
|
+
that the native_support library for the current Ruby interpreter is built. This
|
12
|
+
is useful in system provisioning scripts.
|
13
|
+
* For security reasons, friendly error pages (those black/purple pages that shows
|
14
|
+
the error message, backtrace and environment variable dump when an application
|
15
|
+
fails to start) are now disabled by default when the application environment is
|
16
|
+
set to 'staging' or 'production'. Fixes issue #1063.
|
17
|
+
* Fixed some compilation warnings on Ubuntu 14.04.
|
18
|
+
* Fixed some compatibility problems with Rake 10.2.0 and later.
|
19
|
+
See [Rake issue 274](https://github.com/jimweirich/rake/issues/274).
|
20
|
+
* Improved error handling in [Union Station](https://www.unionstationapp.com) support.
|
21
|
+
* Data is now sent to Union Station on a more frequent basis, in order to make new
|
22
|
+
data show up more quickly.
|
23
|
+
* Information about the code revision is now sent to Union Station, which will be
|
24
|
+
used in the upcoming deployment tracking feature in Union Station 2.
|
25
|
+
|
26
|
+
|
1
27
|
Release 4.0.41
|
2
28
|
--------------
|
3
29
|
|
data/build/agents.rb
CHANGED
@@ -108,7 +108,7 @@ file AGENT_OUTPUT_DIR + 'PassengerHelperAgent' => dependencies do
|
|
108
108
|
end
|
109
109
|
|
110
110
|
logging_agent_libs = COMMON_LIBRARY.only(:base, :logging_agent, 'AgentsBase.o',
|
111
|
-
'Utils/Base64.o', 'Utils/MD5.o')
|
111
|
+
'Utils/Base64.o', 'Utils/MD5.o', 'Utils/jsoncpp.o')
|
112
112
|
dependencies = [
|
113
113
|
'ext/common/agents/LoggingAgent/Main.cpp',
|
114
114
|
'ext/common/agents/LoggingAgent/AdminController.h',
|
data/build/apache2.rb
CHANGED
@@ -98,6 +98,9 @@ task :apache2 => [
|
|
98
98
|
NATIVE_SUPPORT_TARGET
|
99
99
|
].compact
|
100
100
|
|
101
|
+
# Workaround for https://github.com/jimweirich/rake/issues/274
|
102
|
+
task :_apache2 => :apache2
|
103
|
+
|
101
104
|
|
102
105
|
# Define rules for the individual Apache 2 module source files.
|
103
106
|
APACHE2_MODULE_INPUT_FILES.each_pair do |target, sources|
|
data/build/debian.rb
CHANGED
@@ -76,7 +76,7 @@ task 'debian:orig_tarball' => Packaging::PREGENERATED_FILES do
|
|
76
76
|
if File.exist?(local_nginx_tarball)
|
77
77
|
puts "#{local_nginx_tarball} already exists"
|
78
78
|
else
|
79
|
-
sh "curl -L -o #{local_nginx_tarball} http://nginx.org/download/nginx-#{nginx_version}.tar.gz"
|
79
|
+
sh "curl -L --fail -o #{local_nginx_tarball} http://nginx.org/download/nginx-#{nginx_version}.tar.gz"
|
80
80
|
end
|
81
81
|
sh "rm -rf #{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}"
|
82
82
|
sh "mkdir -p #{PKG_DIR}/#{DEBIAN_NAME}_#{PACKAGE_VERSION}"
|
data/build/integration_tests.rb
CHANGED
@@ -27,7 +27,7 @@ desc "Run all integration tests"
|
|
27
27
|
task 'test:integration' => ['test:integration:apache2', 'test:integration:nginx'] do
|
28
28
|
end
|
29
29
|
|
30
|
-
dependencies = [:
|
30
|
+
dependencies = [:_apache2, NATIVE_SUPPORT_TARGET].compact
|
31
31
|
desc "Run Apache 2 integration tests"
|
32
32
|
task 'test:integration:apache2' => dependencies do
|
33
33
|
if PlatformInfo.rspec.nil?
|
@@ -45,7 +45,7 @@ task 'test:integration:apache2' => dependencies do
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
dependencies = [:
|
48
|
+
dependencies = [:_nginx, NATIVE_SUPPORT_TARGET].compact
|
49
49
|
desc "Run Nginx integration tests"
|
50
50
|
task 'test:integration:nginx' => dependencies do
|
51
51
|
if PlatformInfo.rspec.nil?
|
@@ -67,7 +67,7 @@ task 'test:integration:nginx' => dependencies do
|
|
67
67
|
end
|
68
68
|
end
|
69
69
|
|
70
|
-
dependencies = [:
|
70
|
+
dependencies = [:_nginx, NATIVE_SUPPORT_TARGET].compact
|
71
71
|
desc "Run Passenger Standalone integration tests"
|
72
72
|
task 'test:integration:standalone' => dependencies do
|
73
73
|
if PlatformInfo.rspec.nil?
|
@@ -124,7 +124,7 @@ task 'test:integration:native_packaging' do
|
|
124
124
|
sh "cd test && exec #{command}"
|
125
125
|
end
|
126
126
|
|
127
|
-
dependencies = [:
|
127
|
+
dependencies = [:_apache2, NATIVE_SUPPORT_TARGET].compact
|
128
128
|
desc "Run the 'apache2' integration test infinitely, and abort if/when it fails"
|
129
129
|
task 'test:restart' => dependencies do
|
130
130
|
require 'shellwords'
|
data/build/nginx.rb
CHANGED
@@ -35,6 +35,9 @@ task :nginx => [
|
|
35
35
|
NATIVE_SUPPORT_TARGET
|
36
36
|
].compact
|
37
37
|
|
38
|
+
# Workaround for https://github.com/jimweirich/rake/issues/274
|
39
|
+
task :_nginx => :nginx
|
40
|
+
|
38
41
|
task :nginx_without_native_support => [
|
39
42
|
auto_generated_sources,
|
40
43
|
AGENT_OUTPUT_DIR + 'PassengerHelperAgent',
|
data/build/packaging.rb
CHANGED
@@ -323,7 +323,7 @@ task 'package:update_homebrew' do
|
|
323
323
|
formula = File.read("/tmp/homebrew/Library/Formula/passenger.rb")
|
324
324
|
formula.gsub!(/passenger-.+?\.tar\.gz/, "passenger-#{version}.tar.gz") ||
|
325
325
|
abort("Unable to substitute Homebrew formula tarball filename")
|
326
|
-
formula.gsub!(
|
326
|
+
formula.gsub!(/^ sha1 .*/, " sha1 '#{sha1}'") ||
|
327
327
|
abort("Unable to substitute Homebrew formula SHA-1")
|
328
328
|
necessary_dirs = ORIG_TARBALL_FILES.call.map{ |filename| filename.split("/").first }.uniq
|
329
329
|
necessary_dirs -= Packaging::HOMEBREW_EXCLUDE
|
@@ -351,14 +351,12 @@ task 'package:initiate_debian_building' do
|
|
351
351
|
version = VERSION_STRING
|
352
352
|
if is_open_source?
|
353
353
|
command = "cd /srv/passenger_apt_automation && " +
|
354
|
-
"chpst -l /tmp/passenger_apt_automation.lock " +
|
355
354
|
"/tools/silence-unless-failed " +
|
356
|
-
"./new_release https://github.com/phusion/passenger.git passenger
|
355
|
+
"./new_release https://github.com/phusion/passenger.git passenger #{git_tag}"
|
357
356
|
else
|
358
357
|
command = "cd /srv/passenger_apt_automation && " +
|
359
|
-
"chpst -l /tmp/passenger_apt_automation.lock " +
|
360
358
|
"/tools/silence-unless-failed " +
|
361
|
-
"./new_release #{enterprise_git_url} passenger-enterprise
|
359
|
+
"./new_release #{enterprise_git_url} passenger-enterprise #{git_tag}"
|
362
360
|
end
|
363
361
|
|
364
362
|
sh "ssh psg_apt_automation@juvia-helper.phusion.nl at now <<<'#{command}'"
|
data/build/preprocessor.rb
CHANGED
data/build/ruby_extension.rb
CHANGED
@@ -35,21 +35,21 @@ else
|
|
35
35
|
output_dir = RUBY_EXTENSION_OUTPUT_DIR
|
36
36
|
output_name = "passenger_native_support.#{LIBEXT}"
|
37
37
|
source_dir = "ext/ruby"
|
38
|
-
NATIVE_SUPPORT_TARGET =
|
38
|
+
NATIVE_SUPPORT_TARGET = File.join(output_dir, output_name)
|
39
39
|
|
40
|
-
task :native_support =>
|
40
|
+
task :native_support => NATIVE_SUPPORT_TARGET
|
41
41
|
task :clean => 'native_support:clean'
|
42
42
|
|
43
43
|
dependencies = [
|
44
|
-
"
|
44
|
+
File.join(output_dir, "Makefile"),
|
45
45
|
"#{source_dir}/passenger_native_support.c"
|
46
46
|
]
|
47
|
-
file(
|
47
|
+
file(NATIVE_SUPPORT_TARGET => dependencies) do
|
48
48
|
sh "mkdir -p '#{output_dir}'" if !File.exist?(output_dir)
|
49
49
|
sh "cd '#{output_dir}' && make"
|
50
50
|
end
|
51
51
|
|
52
|
-
file "
|
52
|
+
file(File.join(output_dir, "Makefile") => "#{source_dir}/extconf.rb") do
|
53
53
|
sh "mkdir -p '#{output_dir}'" if !File.exist?(output_dir)
|
54
54
|
extconf_rb = File.expand_path("#{source_dir}/extconf.rb")
|
55
55
|
sh "cd '#{output_dir}' && #{PlatformInfo.ruby_command} '#{extconf_rb}'"
|
data/build/test_basics.rb
CHANGED
@@ -4,10 +4,15 @@ Priority: optional
|
|
4
4
|
Maintainer: John Leach <john@brightbox.co.uk>
|
5
5
|
Uploaders: Phusion <info@phusion.nl>, Hongli Lai <hongli@phusion.nl>
|
6
6
|
Build-Depends: debhelper (>= 7.0.50~), rake,
|
7
|
-
|
7
|
+
#if is_distribution?("<= saucy") || is_distribution?("<= wheezy")
|
8
|
+
ruby1.8, ruby1.8-dev, rubygems1.8,
|
9
|
+
#endif
|
8
10
|
ruby1.9.1, ruby1.9.1-dev,
|
9
11
|
#if is_distribution?('<= lucid')
|
10
12
|
rubygems1.9,
|
13
|
+
#endif
|
14
|
+
#if is_distribution?(">= trusty") || is_distribution?(">= jessie")
|
15
|
+
ruby2.0, ruby2.0-dev,
|
11
16
|
#endif
|
12
17
|
apache2-mpm-worker | apache2-mpm, apache2-threaded-dev,
|
13
18
|
#if is_distribution?('>= precise') || is_distribution?('>= wheezy')
|
@@ -23,8 +28,8 @@ XS-Ruby-Versions: all
|
|
23
28
|
Package: passenger
|
24
29
|
Architecture: any
|
25
30
|
Depends: ${shlibs:Depends}, ${misc:Depends},
|
26
|
-
ruby2.0 | ruby1.9.1 | ruby1.8 | ruby-interpreter,
|
27
|
-
|
31
|
+
ruby2.2 | ruby2.1 | ruby2.0 | ruby1.9.1 | ruby1.8 | ruby-interpreter,
|
32
|
+
rubygems1.9.1 | rubygems1.9 | rubygems (>= 1.2),
|
28
33
|
#if is_distribution?('<= lucid') || is_distribution?('<= squeeze')
|
29
34
|
librack-ruby,
|
30
35
|
#else
|
@@ -47,7 +52,7 @@ Description: Rails and Rack support for Apache2 and Nginx
|
|
47
52
|
Package: passenger-dev
|
48
53
|
Architecture: any
|
49
54
|
Depends: ${shlibs:Depends}, ${misc:Depends},
|
50
|
-
ruby2.0 | ruby1.9.1 | ruby1.8 | ruby-interpreter,
|
55
|
+
ruby2.2 | ruby2.1 | ruby2.0 | ruby1.9.1 | ruby1.8 | ruby-interpreter,
|
51
56
|
passenger (= ${binary:Version})
|
52
57
|
Suggests: python
|
53
58
|
Replaces: ruby-passenger-dev
|
@@ -23,10 +23,16 @@ override_dh_auto_configure:
|
|
23
23
|
# Do nothing
|
24
24
|
|
25
25
|
override_dh_auto_build:
|
26
|
-
|
27
|
-
|
26
|
+
#if is_distribution?("<= saucy") || is_distribution?("<= wheezy")
|
27
|
+
/usr/bin/ruby1.8 /usr/bin/rake fakeroot
|
28
|
+
mv pkg/fakeroot pkg/fakeroot1.8
|
29
|
+
#endif
|
28
30
|
/usr/bin/ruby1.9.1 /usr/bin/rake fakeroot
|
29
31
|
mv pkg/fakeroot pkg/fakeroot1.9.1
|
32
|
+
#if is_distribution?(">= trusty") || is_distribution?(">= jessie")
|
33
|
+
/usr/bin/ruby2.0 /usr/bin/rake fakeroot
|
34
|
+
mv pkg/fakeroot pkg/fakeroot2.0
|
35
|
+
#endif
|
30
36
|
cd nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %> && \
|
31
37
|
./configure --prefix=/tmp \
|
32
38
|
<%= PhusionPassenger::STANDALONE_NGINX_CONFIGURE_OPTIONS %> \
|
@@ -36,9 +42,14 @@ override_dh_auto_build:
|
|
36
42
|
|
37
43
|
override_dh_auto_install:
|
38
44
|
mkdir debian/tmp/
|
39
|
-
# Merge Ruby 1.8
|
40
|
-
|
45
|
+
# Merge Ruby 1.8, 1.9 and 2.0 files into a single directory.
|
46
|
+
#if is_distribution?("<= saucy") || is_distribution?("<= wheezy")
|
47
|
+
cp -a pkg/fakeroot1.8/* debian/tmp/
|
48
|
+
#endif
|
41
49
|
cp -a pkg/fakeroot1.9.1/* debian/tmp/
|
50
|
+
#if is_distribution?(">= trusty") || is_distribution?(">= jessie")
|
51
|
+
cp -a pkg/fakeroot2.0/* debian/tmp/
|
52
|
+
#endif
|
42
53
|
./dev/install_scripts_bootstrap_code.rb --ruby /usr/lib/ruby/vendor_ruby debian/tmp/usr/bin/* debian/tmp/usr/sbin/*
|
43
54
|
./dev/install_scripts_bootstrap_code.rb --nginx-module-config /usr/bin debian/tmp/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/ngx_http_passenger_module/config
|
44
55
|
touch debian/tmp/usr/share/<%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>/release.txt
|
@@ -47,6 +58,7 @@ override_dh_auto_clean:
|
|
47
58
|
/usr/bin/rake clean CLEAN_DOCS=false
|
48
59
|
rm -rf pkg/fakeroot1.8
|
49
60
|
rm -rf pkg/fakeroot1.9.1
|
61
|
+
rm -rf pkg/fakeroot2.0
|
50
62
|
cd nginx-<%= PhusionPassenger::PREFERRED_NGINX_VERSION %> && if test -f Makefile; then make clean; fi
|
51
63
|
# Hack to prevent HTML files from being renegerated
|
52
64
|
touch doc/*.html
|
data/dev/run_travis.sh
CHANGED
@@ -22,6 +22,30 @@ function run()
|
|
22
22
|
"$@"
|
23
23
|
}
|
24
24
|
|
25
|
+
function retry_run()
|
26
|
+
{
|
27
|
+
local reset='\x1B[0m'
|
28
|
+
local red='\x1B[31m'
|
29
|
+
local yellow='\x1B[33m'
|
30
|
+
|
31
|
+
local max_tries="$1"
|
32
|
+
local number=2
|
33
|
+
shift
|
34
|
+
|
35
|
+
echo "$ $@"
|
36
|
+
while true; do
|
37
|
+
if "$@"; then
|
38
|
+
return 0
|
39
|
+
elif [[ $number -le $max_tries ]]; then
|
40
|
+
echo -e "${yellow}The command \"$@\" failed. Retrying, $number of $max_tries:${reset}"
|
41
|
+
(( number++ ))
|
42
|
+
else
|
43
|
+
echo -e "${red}The command \"$@\" failed after $max_tries attempts. Giving up.${reset}"
|
44
|
+
return 1
|
45
|
+
fi
|
46
|
+
done
|
47
|
+
}
|
48
|
+
|
25
49
|
function apt_get_update() {
|
26
50
|
if [[ "$apt_get_updated" = "" ]]; then
|
27
51
|
apt_get_updated=1
|
@@ -43,7 +67,7 @@ function install_test_deps_with_doctools()
|
|
43
67
|
{
|
44
68
|
if [[ "$install_test_deps_with_doctools" = "" ]]; then
|
45
69
|
install_test_deps_with_doctools=1
|
46
|
-
|
70
|
+
retry_run 3 rake test:install_deps BASE_DEPS=yes DOCTOOLS=yes
|
47
71
|
fi
|
48
72
|
}
|
49
73
|
|
@@ -51,7 +75,7 @@ function install_base_test_deps()
|
|
51
75
|
{
|
52
76
|
if [[ "$install_base_test_deps" = "" ]]; then
|
53
77
|
install_base_test_deps=1
|
54
|
-
rake test:install_deps BASE_DEPS=yes
|
78
|
+
retry_run 3 rake test:install_deps BASE_DEPS=yes
|
55
79
|
fi
|
56
80
|
}
|
57
81
|
|
@@ -59,10 +83,10 @@ function install_node_and_modules()
|
|
59
83
|
{
|
60
84
|
if [[ "$install_node_and_modules" = "" ]]; then
|
61
85
|
install_node_and_modules=1
|
62
|
-
curl -O http://nodejs.org/dist/v0.10.20/node-v0.10.20-linux-x64.tar.gz
|
63
|
-
tar
|
86
|
+
run curl --fail -O http://nodejs.org/dist/v0.10.20/node-v0.10.20-linux-x64.tar.gz
|
87
|
+
run tar xzf node-v0.10.20-linux-x64.tar.gz
|
64
88
|
export PATH=`pwd`/node-v0.10.20-linux-x64/bin:$PATH
|
65
|
-
|
89
|
+
retry_run 3 rake test:install_deps NODE_MODULES=yes
|
66
90
|
fi
|
67
91
|
}
|
68
92
|
|
@@ -89,18 +113,18 @@ if [[ "$TEST_RUBY_VERSION" != "" ]]; then
|
|
89
113
|
fi
|
90
114
|
|
91
115
|
if [[ "$TEST_RUBYGEMS_VERSION" != "" ]]; then
|
92
|
-
|
116
|
+
retry_run 3 rvm install rubygems $TEST_RUBYGEMS_VERSION
|
93
117
|
run gem --version
|
94
118
|
fi
|
95
119
|
|
96
120
|
if [[ "$TEST_CXX" = 1 ]]; then
|
97
|
-
|
121
|
+
install_base_test_deps
|
98
122
|
run rake test:cxx
|
99
123
|
run rake test:oxt
|
100
124
|
fi
|
101
125
|
|
102
126
|
if [[ "$TEST_RUBY" = 1 ]]; then
|
103
|
-
|
127
|
+
retry_run 3 rake test:install_deps BASE_DEPS=yes RAILS_BUNDLES=yes
|
104
128
|
run rake test:ruby
|
105
129
|
fi
|
106
130
|
|
data/doc/Users guide Apache.txt
CHANGED
@@ -58,6 +58,8 @@ For example:
|
|
58
58
|
<Directory /webapps/mycook/public>
|
59
59
|
Allow from all
|
60
60
|
Options -MultiViews
|
61
|
+
# Uncomment this if you're on Apache >= 2.4:
|
62
|
+
#Require all granted
|
61
63
|
</Directory>
|
62
64
|
</VirtualHost>
|
63
65
|
-------------------------------------------
|
@@ -82,6 +84,9 @@ Suppose that you already have a virtual host:
|
|
82
84
|
DocumentRoot /websites/phusion
|
83
85
|
<Directory /websites/phusion>
|
84
86
|
Allow from all
|
87
|
+
Options -MultiViews
|
88
|
+
# Uncomment this if you're on Apache >= 2.4:
|
89
|
+
#Require all granted
|
85
90
|
</Directory>
|
86
91
|
</VirtualHost>
|
87
92
|
-------------------------------------------
|
@@ -96,7 +101,7 @@ To do this, you need to perform the following:
|
|
96
101
|
3. Inside the Location block, set `PassengerBaseURI /{SUBURI}`.
|
97
102
|
4. Inside the Location block, set `PassengerAppRoot {PATH TO YOUR APPLICATION ROOT}`.
|
98
103
|
5. Create a `<Directory {PATH TO YOUR APPLICATION'S PUBLIC DIRECTORY}>` block.
|
99
|
-
6. Inside the Directory block, set `Allow from all`.
|
104
|
+
6. Inside the Directory block, set `Allow from all`, and (if you're on Apache >= 2.4) `Require all granted`.
|
100
105
|
7. Inside the Directory block, disable MultiViews.
|
101
106
|
|
102
107
|
Here is an example:
|
@@ -107,6 +112,9 @@ Here is an example:
|
|
107
112
|
DocumentRoot /websites/phusion
|
108
113
|
<Directory /websites/phusion>
|
109
114
|
Allow from all
|
115
|
+
Options -MultiViews
|
116
|
+
# Uncomment this if you're on Apache >= 2.4:
|
117
|
+
#Require all granted
|
110
118
|
</Directory>
|
111
119
|
|
112
120
|
# These have been added:
|
@@ -118,6 +126,8 @@ Here is an example:
|
|
118
126
|
<Directory /websites/rails/public>
|
119
127
|
Allow from all
|
120
128
|
Options -MultiViews
|
129
|
+
# Uncomment this if you're on Apache >= 2.4:
|
130
|
+
#Require all granted
|
121
131
|
</Directory>
|
122
132
|
</VirtualHost>
|
123
133
|
-------------------------------------------
|
@@ -233,6 +243,8 @@ the Apache configuration file:
|
|
233
243
|
<Directory /webapps/rack_example/public>
|
234
244
|
Allow from all
|
235
245
|
Options -MultiViews
|
246
|
+
# Uncomment this if you're on Apache >= 2.4:
|
247
|
+
#Require all granted
|
236
248
|
</Directory>
|
237
249
|
</VirtualHost>
|
238
250
|
-------------------------------------------
|
@@ -258,6 +270,8 @@ For example:
|
|
258
270
|
<Directory /webapps/rackapp/public>
|
259
271
|
Allow from all
|
260
272
|
Options -MultiViews
|
273
|
+
# Uncomment this if you're on Apache >= 2.4:
|
274
|
+
#Require all granted
|
261
275
|
</Directory>
|
262
276
|
</VirtualHost>
|
263
277
|
-------------------------------------------
|
@@ -282,6 +296,9 @@ Suppose that you already have a virtual host:
|
|
282
296
|
DocumentRoot /websites/phusion
|
283
297
|
<Directory /websites/phusion>
|
284
298
|
Allow from all
|
299
|
+
Options -MultiViews
|
300
|
+
# Uncomment this if you're on Apache >= 2.4:
|
301
|
+
#Require all granted
|
285
302
|
</Directory>
|
286
303
|
</VirtualHost>
|
287
304
|
-------------------------------------------
|
@@ -296,7 +313,7 @@ To do this, you need to perform the following:
|
|
296
313
|
3. Inside the Location block, set `PassengerBaseURI /{SUBURI}`.
|
297
314
|
4. Inside the Location block, set `PassengerAppRoot {PATH TO YOUR APPLICATION ROOT}`.
|
298
315
|
5. Create a `<Directory {PATH TO YOUR APPLICATION'S PUBLIC DIRECTORY}>` block.
|
299
|
-
6. Inside the Directory block, set `Allow from all`.
|
316
|
+
6. Inside the Directory block, set `Allow from all`, and (if you're on Apache >= 2.4) `Require all granted`.
|
300
317
|
7. Inside the Directory block, disable MultiViews.
|
301
318
|
|
302
319
|
Here is an example:
|
@@ -307,6 +324,9 @@ Here is an example:
|
|
307
324
|
DocumentRoot /websites/phusion
|
308
325
|
<Directory /websites/phusion>
|
309
326
|
Allow from all
|
327
|
+
Options -MultiViews
|
328
|
+
# Uncomment this if you're on Apache >= 2.4:
|
329
|
+
#Require all granted
|
310
330
|
</Directory>
|
311
331
|
|
312
332
|
# These have been added:
|
@@ -318,6 +338,8 @@ Here is an example:
|
|
318
338
|
<Directory /websites/rack/public>
|
319
339
|
Allow from all
|
320
340
|
Options -MultiViews
|
341
|
+
# Uncomment this if you're on Apache >= 2.4:
|
342
|
+
#Require all granted
|
321
343
|
</Directory>
|
322
344
|
</VirtualHost>
|
323
345
|
-------------------------------------------
|
@@ -397,6 +419,8 @@ the Apache configuration file:
|
|
397
419
|
<Directory /webapps/wsgi_example/public>
|
398
420
|
Allow from all
|
399
421
|
Options -MultiViews
|
422
|
+
# Uncomment this if you're on Apache >= 2.4:
|
423
|
+
#Require all granted
|
400
424
|
</Directory>
|
401
425
|
</VirtualHost>
|
402
426
|
-------------------------------------------
|
@@ -422,6 +446,8 @@ For example:
|
|
422
446
|
<Directory /webapps/wsgiapp/public>
|
423
447
|
Allow from all
|
424
448
|
Options -MultiViews
|
449
|
+
# Uncomment this if you're on Apache >= 2.4:
|
450
|
+
#Require all granted
|
425
451
|
</Directory>
|
426
452
|
</VirtualHost>
|
427
453
|
-------------------------------------------
|
@@ -446,6 +472,9 @@ Suppose that you already have a virtual host:
|
|
446
472
|
DocumentRoot /websites/phusion
|
447
473
|
<Directory /websites/phusion>
|
448
474
|
Allow from all
|
475
|
+
Options -MultiViews
|
476
|
+
# Uncomment this if you're on Apache >= 2.4:
|
477
|
+
#Require all granted
|
449
478
|
</Directory>
|
450
479
|
</VirtualHost>
|
451
480
|
-------------------------------------------
|
@@ -460,7 +489,7 @@ To do this, you need to perform the following:
|
|
460
489
|
3. Inside the Location block, set `PassengerBaseURI /{SUBURI}`.
|
461
490
|
4. Inside the Location block, set `PassengerAppRoot {PATH TO YOUR APPLICATION ROOT}`.
|
462
491
|
5. Create a `<Directory {PATH TO YOUR APPLICATION'S PUBLIC DIRECTORY}>` block.
|
463
|
-
6. Inside the Directory block, set `Allow from all`.
|
492
|
+
6. Inside the Directory block, set `Allow from all`, and (if you're on Apache >= 2.4) `Require all granted`.
|
464
493
|
7. Inside the Directory block, disable MultiViews.
|
465
494
|
|
466
495
|
Here is an example:
|
@@ -471,6 +500,9 @@ Here is an example:
|
|
471
500
|
DocumentRoot /websites/phusion
|
472
501
|
<Directory /websites/phusion>
|
473
502
|
Allow from all
|
503
|
+
Options -MultiViews
|
504
|
+
# Uncomment this if you're on Apache >= 2.4:
|
505
|
+
#Require all granted
|
474
506
|
</Directory>
|
475
507
|
|
476
508
|
# These have been added:
|
@@ -482,6 +514,8 @@ Here is an example:
|
|
482
514
|
<Directory /websites/python/public>
|
483
515
|
Allow from all
|
484
516
|
Options -MultiViews
|
517
|
+
# Uncomment this if you're on Apache >= 2.4:
|
518
|
+
#Require all granted
|
485
519
|
</Directory>
|
486
520
|
</VirtualHost>
|
487
521
|
-------------------------------------------
|
@@ -631,6 +665,8 @@ PassengerNodejs /usr/bin/node;
|
|
631
665
|
<Directory /websites/blog/public>
|
632
666
|
Allow from all
|
633
667
|
Options -MultiViews
|
668
|
+
# Uncomment this if you're on Apache >= 2.4:
|
669
|
+
#Require all granted
|
634
670
|
</Directory>
|
635
671
|
</VirtualHost>
|
636
672
|
|
@@ -979,11 +1015,13 @@ The default value is the primary group of the user specifified by
|
|
979
1015
|
==== PassengerFriendlyErrorPages <on|off> ====
|
980
1016
|
Phusion Passenger can display friendly error pages whenever an application fails
|
981
1017
|
to start. This friendly error page presents the startup error message, some
|
982
|
-
suggestions for solving the problem, and a
|
983
|
-
during application development and useful for less experienced
|
984
|
-
but the page might reveal potentially sensitive information,
|
985
|
-
application.
|
986
|
-
|
1018
|
+
suggestions for solving the problem, a backtrace and a dump of the environment variables.
|
1019
|
+
This feature is very useful during application development and useful for less experienced
|
1020
|
+
system administrators, but the page might reveal potentially sensitive information,
|
1021
|
+
depending on the application. For this reason, friendly error pages are turned off by default when
|
1022
|
+
<<PassengerAppEnv,PassengerAppEnv (and its aliases such as RailsEnv and RackEnv)>>
|
1023
|
+
is set to 'staging' or 'production', but enabled by default otherwise. You can use
|
1024
|
+
this option to explicitly enable or disable this feature.
|
987
1025
|
|
988
1026
|
This option may occur in the following places:
|
989
1027
|
|
@@ -992,7 +1030,7 @@ This option may occur in the following places:
|
|
992
1030
|
* In a `<Directory>` or `<Location>` block.
|
993
1031
|
* In '.htaccess', if `AllowOverride Options` is on.
|
994
1032
|
|
995
|
-
In each place, it may be specified at most once. The default value
|
1033
|
+
In each place, it may be specified at most once. The default value depends on <<PassengerAppEnv,PassengerAppEnv (and its aliases such as RailsEnv and RackEnv)>>, as documented above.
|
996
1034
|
|
997
1035
|
|
998
1036
|
=== Resource control and optimization options ===
|
@@ -1477,6 +1515,8 @@ Suppose that you have a web application deployed in a sub-URI '/store', like thi
|
|
1477
1515
|
<Directory /websites/store/public>
|
1478
1516
|
Allow from all
|
1479
1517
|
Options -MultiViews
|
1518
|
+
# Uncomment this if you're on Apache >= 2.4:
|
1519
|
+
#Require all granted
|
1480
1520
|
</Directory>
|
1481
1521
|
</VirtualHost>
|
1482
1522
|
---------------------------
|
@@ -1497,6 +1537,8 @@ like this:
|
|
1497
1537
|
<Directory /websites/store/public>
|
1498
1538
|
Allow from all
|
1499
1539
|
Options -MultiViews
|
1540
|
+
# Uncomment this if you're on Apache >= 2.4:
|
1541
|
+
#Require all granted
|
1500
1542
|
</Directory>
|
1501
1543
|
</VirtualHost>
|
1502
1544
|
|
@@ -1515,7 +1557,7 @@ PassengerPreStart http://myblog.com/ # <----- WRONG! Missing "/store" part.
|
|
1515
1557
|
Application processes started with PassengerPreStart are
|
1516
1558
|
also subject to the idle timeout rules as specified by
|
1517
1559
|
<<PassengerPoolIdleTime,PassengerPoolIdleTime>>! That means that by default,
|
1518
|
-
the pre-started application processes for foo.com
|
1560
|
+
the pre-started application processes for foo.com and bar.com are shut down
|
1519
1561
|
after a few minutes of inactivity. If you don't want that to happen, then
|
1520
1562
|
you should combine PassengerPreStart with
|
1521
1563
|
<<PassengerMinInstances,PassengerMinInstances>>, like this:
|
@@ -2099,6 +2141,9 @@ assets correctly:
|
|
2099
2141
|
AllowOverride None
|
2100
2142
|
Order allow,deny
|
2101
2143
|
Allow from all
|
2144
|
+
Options -MultiViews
|
2145
|
+
# Uncomment this if you're on Apache >= 2.4:
|
2146
|
+
#Require all granted
|
2102
2147
|
</Directory>
|
2103
2148
|
-----------------------------------------
|
2104
2149
|
+
|