passenger 4.0.48 → 4.0.49

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.

Files changed (218) hide show
  1. checksums.yaml +8 -8
  2. checksums.yaml.gz.asc +7 -7
  3. data.tar.gz.asc +7 -7
  4. data/.editorconfig +36 -2
  5. data/.travis.yml +1 -1
  6. data/CHANGELOG +16 -0
  7. data/Rakefile +0 -1
  8. data/build/apache2.rb +4 -4
  9. data/build/common_library.rb +18 -18
  10. data/build/cplusplus_support.rb +2 -2
  11. data/build/documentation.rb +1 -1
  12. data/build/integration_tests.rb +12 -4
  13. data/build/misc.rb +12 -7
  14. data/build/packaging.rb +14 -14
  15. data/build/preprocessor.rb +10 -10
  16. data/build/rake_extensions.rb +11 -11
  17. data/build/ruby_extension.rb +2 -2
  18. data/dev/ci/inituidgid +24 -0
  19. data/dev/ci/run_jenkins.sh +57 -0
  20. data/dev/ci/run_rpm_tests.sh +77 -0
  21. data/dev/{run_travis.sh → ci/run_travis.sh} +60 -4
  22. data/doc/Users guide Nginx.txt +2 -2
  23. data/doc/users_guide_snippets/environment_variables.txt +0 -2
  24. data/doc/users_guide_snippets/tips.txt +20 -1
  25. data/ext/apache2/Bucket.cpp +18 -18
  26. data/ext/apache2/Bucket.h +4 -4
  27. data/ext/apache2/Configuration.cpp +7 -7
  28. data/ext/apache2/Configuration.hpp +43 -43
  29. data/ext/apache2/DirectoryMapper.h +5 -5
  30. data/ext/apache2/Hooks.cpp +142 -142
  31. data/ext/apache2/MergeDirConfig.cpp +40 -40
  32. data/ext/common/Account.h +17 -17
  33. data/ext/common/AccountsDatabase.h +9 -9
  34. data/ext/common/AgentsStarter.cpp +2 -2
  35. data/ext/common/AgentsStarter.h +40 -40
  36. data/ext/common/ApplicationPool2/Common.h +10 -6
  37. data/ext/common/ApplicationPool2/ComponentInfo.h +2 -2
  38. data/ext/common/ApplicationPool2/DirectSpawner.h +17 -17
  39. data/ext/common/ApplicationPool2/DummySpawner.h +5 -5
  40. data/ext/common/ApplicationPool2/Group.h +54 -38
  41. data/ext/common/ApplicationPool2/Implementation.cpp +76 -49
  42. data/ext/common/ApplicationPool2/Options.h +98 -91
  43. data/ext/common/ApplicationPool2/Pool.h +70 -69
  44. data/ext/common/ApplicationPool2/Process.h +21 -21
  45. data/ext/common/ApplicationPool2/Session.h +11 -11
  46. data/ext/common/ApplicationPool2/SmartSpawner.h +60 -60
  47. data/ext/common/ApplicationPool2/Socket.h +19 -19
  48. data/ext/common/ApplicationPool2/Spawner.h +64 -72
  49. data/ext/common/ApplicationPool2/SpawnerFactory.h +4 -4
  50. data/ext/common/ApplicationPool2/SuperGroup.h +41 -41
  51. data/ext/common/BackgroundEventLoop.cpp +1 -1
  52. data/ext/common/BackgroundEventLoop.h +2 -2
  53. data/ext/common/Constants.h +1 -1
  54. data/ext/common/EventedBufferedInput.h +5 -5
  55. data/ext/common/EventedClient.h +51 -51
  56. data/ext/common/EventedMessageServer.h +39 -39
  57. data/ext/common/EventedServer.h +32 -32
  58. data/ext/common/Exceptions.h +23 -23
  59. data/ext/common/FileDescriptor.h +18 -18
  60. data/ext/common/Logging.cpp +1 -1
  61. data/ext/common/MessageClient.h +27 -27
  62. data/ext/common/MessageReadersWriters.h +79 -79
  63. data/ext/common/MessageServer.h +59 -59
  64. data/ext/common/RandomGenerator.h +12 -12
  65. data/ext/common/ResourceLocator.h +8 -8
  66. data/ext/common/SafeLibev.h +54 -25
  67. data/ext/common/ServerInstanceDir.h +31 -31
  68. data/ext/common/StaticString.h +50 -48
  69. data/ext/common/Utils.cpp +73 -78
  70. data/ext/common/Utils.h +6 -6
  71. data/ext/common/Utils/Base64.cpp +3 -3
  72. data/ext/common/Utils/Base64.h +7 -7
  73. data/ext/common/Utils/BlockingQueue.h +9 -9
  74. data/ext/common/Utils/BufferedIO.h +17 -17
  75. data/ext/common/Utils/CachedFileStat.hpp +16 -16
  76. data/ext/common/Utils/Dechunker.h +25 -25
  77. data/ext/common/Utils/FileChangeChecker.h +10 -10
  78. data/ext/common/Utils/MemZeroGuard.h +5 -5
  79. data/ext/common/Utils/MemoryBarrier.h +1 -1
  80. data/ext/common/Utils/MessageIO.h +61 -61
  81. data/ext/common/Utils/ProcessMetricsCollector.h +40 -40
  82. data/ext/common/Utils/ScopeGuard.h +7 -7
  83. data/ext/common/Utils/SpeedMeter.h +1 -1
  84. data/ext/common/Utils/StrIntUtils.cpp +13 -13
  85. data/ext/common/Utils/StrIntUtils.h +3 -3
  86. data/ext/common/Utils/StringScanning.h +5 -5
  87. data/ext/common/Utils/SystemMetricsCollector.h +2 -2
  88. data/ext/common/Utils/SystemTime.h +10 -10
  89. data/ext/common/Utils/Template.h +2 -2
  90. data/ext/common/Utils/Timer.h +6 -6
  91. data/ext/common/Utils/VariantMap.h +29 -29
  92. data/ext/common/agents/Base.cpp +19 -19
  93. data/ext/common/agents/HelperAgent/AgentOptions.h +1 -1
  94. data/ext/common/agents/HelperAgent/FileBackedPipe.h +6 -6
  95. data/ext/common/agents/HelperAgent/Main.cpp +44 -43
  96. data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
  97. data/ext/common/agents/HelperAgent/RequestHandler.h +29 -28
  98. data/ext/common/agents/HelperAgent/ScgiRequestParser.h +56 -50
  99. data/ext/common/agents/LoggingAgent/AdminController.h +8 -8
  100. data/ext/common/agents/LoggingAgent/DataStoreId.h +17 -17
  101. data/ext/common/agents/LoggingAgent/FilterSupport.h +167 -167
  102. data/ext/common/agents/LoggingAgent/LoggingServer.h +122 -122
  103. data/ext/common/agents/LoggingAgent/Main.cpp +7 -7
  104. data/ext/common/agents/LoggingAgent/RemoteSender.h +54 -54
  105. data/ext/common/agents/SpawnPreparer.cpp +4 -4
  106. data/ext/common/agents/TempDirToucher.c +2 -2
  107. data/ext/common/agents/Watchdog/AgentWatcher.cpp +47 -47
  108. data/ext/common/agents/Watchdog/HelperAgentWatcher.cpp +7 -7
  109. data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +7 -7
  110. data/ext/common/agents/Watchdog/Main.cpp +22 -22
  111. data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +9 -9
  112. data/ext/libeio/eio.c +1 -1
  113. data/ext/nginx/Configuration.c +30 -30
  114. data/ext/nginx/Configuration.h +1 -1
  115. data/ext/nginx/ContentHandler.c +54 -54
  116. data/ext/nginx/ContentHandler.h +3 -3
  117. data/ext/nginx/StaticContentHandler.c +2 -2
  118. data/ext/nginx/ngx_http_passenger_module.c +21 -21
  119. data/ext/oxt/detail/backtrace_enabled.hpp +1 -1
  120. data/ext/oxt/detail/context.hpp +1 -1
  121. data/ext/oxt/detail/spin_lock_darwin.hpp +4 -4
  122. data/ext/oxt/detail/spin_lock_gcc_x86.hpp +3 -3
  123. data/ext/oxt/detail/spin_lock_pthreads.hpp +4 -4
  124. data/ext/oxt/detail/tracable_exception_disabled.hpp +1 -1
  125. data/ext/oxt/dynamic_thread_group.hpp +18 -18
  126. data/ext/oxt/implementation.cpp +9 -8
  127. data/ext/oxt/macros.hpp +2 -2
  128. data/ext/oxt/system_calls.cpp +11 -11
  129. data/ext/oxt/system_calls.hpp +13 -13
  130. data/ext/oxt/thread.hpp +22 -14
  131. data/ext/ruby/passenger_native_support.c +55 -55
  132. data/lib/phusion_passenger.rb +24 -24
  133. data/lib/phusion_passenger/common_library.rb +2 -0
  134. data/lib/phusion_passenger/loader_shared_helpers.rb +18 -18
  135. data/lib/phusion_passenger/packaging.rb +9 -4
  136. data/lib/phusion_passenger/platform_info/apache.rb +45 -31
  137. data/lib/phusion_passenger/platform_info/compiler.rb +11 -11
  138. data/lib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
  139. data/lib/phusion_passenger/request_handler/thread_handler.rb +8 -8
  140. data/lib/phusion_passenger/standalone/app_finder.rb +16 -16
  141. data/lib/phusion_passenger/standalone/command.rb +22 -22
  142. data/packaging/rpm/LICENSE.txt +19 -0
  143. data/packaging/rpm/Makefile +13 -0
  144. data/packaging/rpm/README.md +41 -0
  145. data/packaging/rpm/Vagrantfile +38 -0
  146. data/{rpm/Vagrantfile → packaging/rpm/Vagrantfile.centos} +0 -0
  147. data/packaging/rpm/build +170 -0
  148. data/packaging/rpm/create_project +41 -0
  149. data/packaging/rpm/git_update +88 -0
  150. data/packaging/rpm/image/Dockerfile +37 -0
  151. data/packaging/rpm/image/Gemfile +3 -0
  152. data/packaging/rpm/image/Gemfile.lock +12 -0
  153. data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +19 -0
  154. data/packaging/rpm/image/amazon2014-i386.cfg +96 -0
  155. data/packaging/rpm/image/amazon2014-x86_64.cfg +96 -0
  156. data/packaging/rpm/image/site-defaults.cfg +168 -0
  157. data/packaging/rpm/internal/build_tasks.rb +238 -0
  158. data/packaging/rpm/internal/dummygpg +11 -0
  159. data/packaging/rpm/internal/exec_build +42 -0
  160. data/packaging/rpm/internal/get_distro_arch +14 -0
  161. data/packaging/rpm/internal/get_distro_id +10 -0
  162. data/packaging/rpm/internal/git_update +27 -0
  163. data/packaging/rpm/internal/inituidgid +17 -0
  164. data/packaging/rpm/internal/my_init +344 -0
  165. data/packaging/rpm/internal/python27 +3 -0
  166. data/packaging/rpm/internal/repo_update +46 -0
  167. data/packaging/rpm/internal/setuser +26 -0
  168. data/packaging/rpm/internal/tracking_helper +40 -0
  169. data/packaging/rpm/jenkins_release +99 -0
  170. data/packaging/rpm/lib/build_tasks_support.rb +402 -0
  171. data/packaging/rpm/lib/preprocessor.rb +341 -0
  172. data/packaging/rpm/nginx_spec/404.html +119 -0
  173. data/packaging/rpm/nginx_spec/50x.html +119 -0
  174. data/packaging/rpm/nginx_spec/index.html +116 -0
  175. data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +13 -0
  176. data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
  177. data/packaging/rpm/nginx_spec/nginx-upgrade +13 -0
  178. data/packaging/rpm/nginx_spec/nginx-upgrade.8 +151 -0
  179. data/packaging/rpm/nginx_spec/nginx.conf +131 -0
  180. data/packaging/rpm/nginx_spec/nginx.init +144 -0
  181. data/packaging/rpm/nginx_spec/nginx.logrotate +13 -0
  182. data/packaging/rpm/nginx_spec/nginx.service +15 -0
  183. data/packaging/rpm/nginx_spec/nginx.spec.template +559 -0
  184. data/packaging/rpm/nginx_spec/nginx.sysconfig +4 -0
  185. data/packaging/rpm/nginx_spec/passenger.conf +9 -0
  186. data/packaging/rpm/nginx_spec/poweredby.png +0 -0
  187. data/{rpm → packaging/rpm/passenger_spec}/apache-passenger.conf.in +0 -0
  188. data/{rpm → packaging/rpm/passenger_spec}/config.json +0 -0
  189. data/{rpm → packaging/rpm/passenger_spec}/passenger.logrotate +0 -0
  190. data/{rpm → packaging/rpm/passenger_spec}/passenger.spec.template +58 -31
  191. data/{rpm → packaging/rpm/passenger_spec}/passenger_dynamic_thread_group.patch +0 -0
  192. data/{rpm → packaging/rpm/passenger_spec}/passenger_tests_default_config_example.patch +0 -0
  193. data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -0
  194. data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +0 -0
  195. data/packaging/rpm/repo_update +114 -0
  196. data/packaging/rpm/setup-system +60 -0
  197. data/packaging/rpm/shell +10 -0
  198. data/resources/templates/standalone/config.erb +3 -1
  199. data/test/config.json.rpm-automation +1 -1
  200. data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +11 -11
  201. data/test/cxx/ApplicationPool2/OptionsTest.cpp +5 -5
  202. data/test/cxx/ApplicationPool2/PoolTest.cpp +129 -89
  203. data/test/cxx/ApplicationPool2/ProcessTest.cpp +15 -15
  204. data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +22 -22
  205. data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +11 -11
  206. data/test/cxx/ScgiRequestParserTest.cpp +75 -61
  207. data/test/cxx/UtilsTest.cpp +86 -85
  208. data/test/gdbinit.example +3 -0
  209. data/test/integration_tests/nginx_tests.rb +3 -3
  210. data/test/integration_tests/source_packaging_test.rb +3 -1
  211. data/test/stub/nginx/nginx.conf.erb +8 -1
  212. data/test/support/nginx_controller.rb +7 -7
  213. metadata +62 -17
  214. metadata.gz.asc +7 -7
  215. data/build/rpm.rb +0 -128
  216. data/dev/rpmtool +0 -21
  217. data/dev/test_rpm_packaging.sh +0 -28
  218. data/rpm/get_distro_id.py +0 -4
@@ -6,6 +6,9 @@
6
6
  handle SIGUSR1 noprint pass
7
7
  handle SIGPIPE noprint pass
8
8
 
9
+ # Use Intel syntax for disassembles.
10
+ set disassembly-flavor intel
11
+
9
12
  # Convenience command.
10
13
  define rake
11
14
  shell rake $arg0
@@ -70,7 +70,7 @@ describe "Phusion Passenger for Nginx" do
70
70
  @stub = RackStub.new('rack')
71
71
  @nginx.add_server do |server|
72
72
  server[:server_name] = "1.passenger.test"
73
- server[:root] = "#{PhusionPassenger.source_root}/test/stub"
73
+ server[:root] = File.expand_path("stub")
74
74
  server << %Q{
75
75
  location ~ ^/subapp(/.*|$) {
76
76
  alias #{@stub.full_app_root}/public$1;
@@ -132,7 +132,7 @@ describe "Phusion Passenger for Nginx" do
132
132
  @stub = PythonStub.new('wsgi')
133
133
  @nginx.add_server do |server|
134
134
  server[:server_name] = "1.passenger.test"
135
- server[:root] = "#{PhusionPassenger.source_root}/test/stub"
135
+ server[:root] = File.expand_path("stub")
136
136
  server << %Q{
137
137
  location ~ ^/subapp(/.*|$) {
138
138
  alias #{@stub.full_app_root}/public$1;
@@ -194,7 +194,7 @@ describe "Phusion Passenger for Nginx" do
194
194
  @stub = NodejsStub.new('node')
195
195
  @nginx.add_server do |server|
196
196
  server[:server_name] = "1.passenger.test"
197
- server[:root] = "#{PhusionPassenger.source_root}/test/stub"
197
+ server[:root] = File.expand_path("stub")
198
198
  server[:passenger_friendly_error_pages] = 'on'
199
199
  server << %Q{
200
200
  location ~ ^/subapp(/.*|$) {
@@ -1,5 +1,5 @@
1
1
  # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (c) 2013 Phusion
2
+ # Copyright (c) 2013-2014 Phusion
3
3
  #
4
4
  # "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
5
5
  #
@@ -50,6 +50,8 @@ shared_examples_for "a proper package" do
50
50
  it "includes all files in the git repository" do
51
51
  git_files = `git ls-files`.split("\n")
52
52
  git_files.reject! { |filename| filename =~ /^Passenger.xcodeproj\// }
53
+ git_files.delete(".gitmodules")
54
+ git_files.delete("packaging/rpm")
53
55
  git_files.delete("ext/libeio/eio.3")
54
56
  git_files.delete("ext/libeio/eio.pod")
55
57
 
@@ -1,8 +1,14 @@
1
1
  worker_processes 2;
2
2
 
3
- error_log <%= @passenger_root %>/test/test.log;
3
+ error_log <%= @nginx_root %>/../test.log;
4
4
  pid <%= @nginx_root %>/nginx.pid;
5
5
 
6
+ # Makes integration tests work when run in a CentOS container, with Node.js
7
+ # and Python installed through SCL.
8
+ env PATH;
9
+ env LD_LIBRARY_PATH;
10
+ env PYTHONPATH;
11
+
6
12
  events {
7
13
  worker_connections 1024;
8
14
  }
@@ -21,6 +27,7 @@ http {
21
27
 
22
28
  passenger_root <%= @passenger_root %>;
23
29
  passenger_ruby <%= PlatformInfo.ruby_command %>;
30
+ passenger_nodejs <%= PlatformInfo.find_command('node') %>;
24
31
  passenger_default_user <%= CONFIG['default_user'] %>;
25
32
  passenger_default_group <%= CONFIG['default_group'] %>;
26
33
  passenger_max_pool_size <%= @max_pool_size %>;
@@ -25,13 +25,13 @@ class NginxController
25
25
  @pid_file = "#{root_dir}/nginx.pid"
26
26
  @log_file = "#{root_dir}/error.log"
27
27
  @controller = DaemonController.new(
28
- :identifier => 'Nginx',
29
- :start_command => "#{CONFIG['nginx']} -c '#{@config_file}'",
30
- :ping_command => [:tcp, '127.0.0.1', PORT],
31
- :pid_file => @pid_file,
32
- :log_file => @log_file,
33
- :timeout => 25,
34
- :before_start => method(:write_nginx_config_files)
28
+ :identifier => 'Nginx',
29
+ :start_command => "#{CONFIG['nginx']} -c '#{@config_file}'",
30
+ :ping_command => [:tcp, '127.0.0.1', PORT],
31
+ :pid_file => @pid_file,
32
+ :log_file => @log_file,
33
+ :timeout => 25,
34
+ :before_start => method(:write_nginx_config_files)
35
35
  )
36
36
 
37
37
  @servers = []
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passenger
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.48
4
+ version: 4.0.49
5
5
  platform: ruby
6
6
  authors:
7
7
  - Phusion - http://www.phusion.nl/
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-24 00:00:00.000000000 Z
11
+ date: 2014-08-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -99,7 +99,6 @@ files:
99
99
  - build/packaging.rb
100
100
  - build/preprocessor.rb
101
101
  - build/rake_extensions.rb
102
- - build/rpm.rb
103
102
  - build/ruby_extension.rb
104
103
  - build/ruby_tests.rb
105
104
  - build/test_basics.rb
@@ -123,15 +122,16 @@ files:
123
122
  - debian.template/patches/series
124
123
  - debian.template/rules.template
125
124
  - debian.template/source/format
125
+ - dev/ci/inituidgid
126
+ - dev/ci/run_jenkins.sh
127
+ - dev/ci/run_rpm_tests.sh
128
+ - dev/ci/run_travis.sh
126
129
  - dev/copy_boost_headers
127
130
  - dev/install_scripts_bootstrap_code.rb
128
131
  - dev/list_tests
129
132
  - dev/rack.test/config.ru
130
133
  - dev/rack.test/public/asset.txt
131
- - dev/rpmtool
132
- - dev/run_travis.sh
133
134
  - dev/runner
134
- - dev/test_rpm_packaging.sh
135
135
  - dev/vagrant/apache_default_site.conf
136
136
  - dev/vagrant/apache_passenger.conf
137
137
  - dev/vagrant/apache_passenger.load
@@ -2467,6 +2467,62 @@ files:
2467
2467
  - node_lib/phusion_passenger/line_reader.js
2468
2468
  - npm-shrinkwrap.json
2469
2469
  - package.json
2470
+ - packaging/rpm/LICENSE.txt
2471
+ - packaging/rpm/Makefile
2472
+ - packaging/rpm/README.md
2473
+ - packaging/rpm/Vagrantfile
2474
+ - packaging/rpm/Vagrantfile.centos
2475
+ - packaging/rpm/build
2476
+ - packaging/rpm/create_project
2477
+ - packaging/rpm/git_update
2478
+ - packaging/rpm/image/Dockerfile
2479
+ - packaging/rpm/image/Gemfile
2480
+ - packaging/rpm/image/Gemfile.lock
2481
+ - packaging/rpm/image/RPM-GPG-KEY-amazon-ga
2482
+ - packaging/rpm/image/amazon2014-i386.cfg
2483
+ - packaging/rpm/image/amazon2014-x86_64.cfg
2484
+ - packaging/rpm/image/site-defaults.cfg
2485
+ - packaging/rpm/internal/build_tasks.rb
2486
+ - packaging/rpm/internal/dummygpg
2487
+ - packaging/rpm/internal/exec_build
2488
+ - packaging/rpm/internal/get_distro_arch
2489
+ - packaging/rpm/internal/get_distro_id
2490
+ - packaging/rpm/internal/git_update
2491
+ - packaging/rpm/internal/inituidgid
2492
+ - packaging/rpm/internal/my_init
2493
+ - packaging/rpm/internal/python27
2494
+ - packaging/rpm/internal/repo_update
2495
+ - packaging/rpm/internal/setuser
2496
+ - packaging/rpm/internal/tracking_helper
2497
+ - packaging/rpm/jenkins_release
2498
+ - packaging/rpm/lib/build_tasks_support.rb
2499
+ - packaging/rpm/lib/preprocessor.rb
2500
+ - packaging/rpm/nginx_spec/404.html
2501
+ - packaging/rpm/nginx_spec/50x.html
2502
+ - packaging/rpm/nginx_spec/index.html
2503
+ - packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch
2504
+ - packaging/rpm/nginx_spec/nginx-logo.png
2505
+ - packaging/rpm/nginx_spec/nginx-upgrade
2506
+ - packaging/rpm/nginx_spec/nginx-upgrade.8
2507
+ - packaging/rpm/nginx_spec/nginx.conf
2508
+ - packaging/rpm/nginx_spec/nginx.init
2509
+ - packaging/rpm/nginx_spec/nginx.logrotate
2510
+ - packaging/rpm/nginx_spec/nginx.service
2511
+ - packaging/rpm/nginx_spec/nginx.spec.template
2512
+ - packaging/rpm/nginx_spec/nginx.sysconfig
2513
+ - packaging/rpm/nginx_spec/passenger.conf
2514
+ - packaging/rpm/nginx_spec/poweredby.png
2515
+ - packaging/rpm/passenger_spec/apache-passenger.conf.in
2516
+ - packaging/rpm/passenger_spec/config.json
2517
+ - packaging/rpm/passenger_spec/passenger.logrotate
2518
+ - packaging/rpm/passenger_spec/passenger.spec.template
2519
+ - packaging/rpm/passenger_spec/passenger_dynamic_thread_group.patch
2520
+ - packaging/rpm/passenger_spec/passenger_tests_default_config_example.patch
2521
+ - packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch
2522
+ - packaging/rpm/passenger_spec/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch
2523
+ - packaging/rpm/repo_update
2524
+ - packaging/rpm/setup-system
2525
+ - packaging/rpm/shell
2470
2526
  - passenger.gemspec
2471
2527
  - resources/mime.types
2472
2528
  - resources/oss-binaries.phusionpassenger.com.crt
@@ -2513,16 +2569,6 @@ files:
2513
2569
  - resources/templates/standalone/run_installer_as_root.txt.erb
2514
2570
  - resources/templates/undisclosed_error.html.template
2515
2571
  - resources/union_station_gateway.crt
2516
- - rpm/Vagrantfile
2517
- - rpm/apache-passenger.conf.in
2518
- - rpm/config.json
2519
- - rpm/get_distro_id.py
2520
- - rpm/passenger.logrotate
2521
- - rpm/passenger.spec.template
2522
- - rpm/passenger_dynamic_thread_group.patch
2523
- - rpm/passenger_tests_default_config_example.patch
2524
- - rpm/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch
2525
- - rpm/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch
2526
2572
  - test/.rspec
2527
2573
  - test/config.json.example
2528
2574
  - test/config.json.rpm-automation
@@ -2609,7 +2655,6 @@ files:
2609
2655
  - test/ruby/utils/tee_input_spec.rb
2610
2656
  - test/ruby/utils/unseekable_socket_spec.rb
2611
2657
  - test/ruby/utils_spec.rb
2612
- - test/stub/.DS_Store
2613
2658
  - test/stub/apache2/httpd.conf.erb
2614
2659
  - test/stub/apache2/mime.types
2615
2660
  - test/stub/garbage1.dat
metadata.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
- iQEcBAABAgAGBQJT0PH2AAoJECrHRaUKISqM3rUH/AsN9NOP4ynTb+acSScLq/I/
6
- nF1Qv9XA8CW23M6Mx9boMgGcVC0B6NOP5I6T8WMHDBL3J6XLCOox0FeQ0kwAS1pZ
7
- y4uHVwNPvl3JTS8h2c50y7JeixN/WQodXvgb9WvtV6vJQKKaqQ65wAFKo2yk4Nn8
8
- hRipGYgrpuZsRG8/qKvk5iBa6qkWLrHWhWbekY/hS/zMAh+UlwV5UwUlL+Q8cf5L
9
- dOpPxu9qj1Fw2gdIRON4VJ/nW+MiH0skGCdtaLdVs+/aFW2DcF/5G28lcV7X1ANb
10
- vXL5NWRRM/ZveskFCFdbm5Irhp/dnf5PqPvoyljqsJh2O34e3PizXXtTN9a9kEw=
11
- =UGA6
5
+ iQEcBAABAgAGBQJT91guAAoJECrHRaUKISqMKFUH/3l5bNbJGQZzDJb7jXjFt6GH
6
+ jwS3UkvGCXNUv4Uv/JR1QTM6pX7yBLuIzKe+LABgMNR0woH0muGE/XGkwLy+sRPV
7
+ zcXkElapA0m/1eFkc+V1Y8sQZOz0eSAGGyqmvP+1ihlsA0bzaVIcPzY0Hs9ex7ly
8
+ r15XevCss1JHtU8Lk8zpbPWUsWqneZugBcKhl80p0Ih4dLdpDjx18H0eJAu1GTlu
9
+ mlYbMsATa5plTgGrTkd7NpKRu9ZbPrGN8NpBGDHyhEPUhpzkDWx6jKMkfP8rPcRM
10
+ ePnmfbRYdRvu/UFDkea/ITTGd6QmILX2Zl2Av7nkAmqNYHntgmrHTmMjglWOoxo=
11
+ =50RB
12
12
  -----END PGP SIGNATURE-----
@@ -1,128 +0,0 @@
1
- # Phusion Passenger - https://www.phusionpassenger.com/
2
- # Copyright (C) 2010-2013 Phusion
3
- #
4
- # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; version 2 of the License.
7
- #
8
- # This program is distributed in the hope that it will be useful,
9
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
- # GNU General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU General Public License along
14
- # with this program; if not, write to the Free Software Foundation, Inc.,
15
- # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16
-
17
- RPM_NAME = "passenger"
18
- MOCK_OFFLINE = boolean_option('MOCK_OFFLINE', false)
19
- ALL_RPM_DISTROS = {
20
- "el6" => { :mock_chroot_name => "epel-6", :distro_name => "Enterprise Linux 6" },
21
- "amazon" => { :mock_chroot_name => "epel-6", :distro_name => "Amazon Linux" }
22
- }
23
-
24
- task 'rpm:sources' => ['package:set_official', 'package:tarball'] do
25
- basename = "#{PACKAGE_NAME}-#{VERSION_STRING}"
26
- nginx_version = PhusionPassenger::PREFERRED_NGINX_VERSION
27
-
28
- sh "cp #{PKG_DIR}/#{basename}.tar.gz rpm/* #{rpmbuild_root}/SOURCES/"
29
- if File.exist?("#{rpmbuild_root}/SOURCES/nginx-#{nginx_version}.tar.gz")
30
- puts "Local Nginx tarball already exists."
31
- else
32
- sh "curl -L -o #{rpmbuild_root}/SOURCES/nginx-#{nginx_version}.tar.gz http://nginx.org/download/nginx-#{nginx_version}.tar.gz"
33
- end
34
- end
35
-
36
- desc "Build RPM for local machine"
37
- task 'rpm:local' => 'rpm:sources' do
38
- distro_id = `./rpm/get_distro_id.py`.strip
39
- rpm_spec_dir = "#{rpmbuild_root}/SPECS"
40
- spec_target_dir = "#{rpm_spec_dir}/#{distro_id}"
41
- spec_target_file = "#{spec_target_dir}/#{RPM_NAME}.spec"
42
-
43
- sh "mkdir -p #{spec_target_dir}"
44
- puts "Generating #{spec_target_file}"
45
- Preprocessor.new.start("rpm/#{RPM_NAME}.spec.template",
46
- spec_target_file,
47
- :distribution => distro_id)
48
-
49
- sh "rpmbuild -ba #{spec_target_file}"
50
- end
51
-
52
- task 'rpm:local:uninstall' do
53
- sh "sudo yum remove -y passenger mod_passenger passenger-devel passenger-doc passenger-native-libs passenger-debuginfo"
54
- end
55
-
56
- task 'rpm:local:reinstall' => 'rpm:local:uninstall' do
57
- rpm_spec_dir = "#{rpmbuild_root}/RPMS"
58
- files = []
59
- ["passenger", "mod_passenger", "passenger-devel", "passenger-doc", "passenger-native-libs", "passenger-debuginfo"].each do |package_name|
60
- files << Dir["#{rpm_spec_dir}/*/#{package_name}-#{PACKAGE_VERSION}-*.rpm"].first
61
- end
62
- files.compact!
63
- if files.empty?
64
- abort "No RPMs have been built yet. Please run 'rake rpm:local' first."
65
- end
66
- sh "sudo yum install -y #{files.join(' ')}"
67
- end
68
-
69
- def create_rpm_build_task(distro_id, mock_chroot_name, distro_name)
70
- desc "Build RPM for #{distro_name}"
71
- task "rpm:#{distro_id}" => 'rpm:gem' do
72
- rpm_spec_dir = "#{rpmbuild_root}/SPECS"
73
- spec_target_dir = "#{rpm_spec_dir}/#{distro_id}"
74
- spec_target_file = "#{spec_target_dir}/#{RPM_NAME}.spec"
75
- maybe_offline = MOCK_OFFLINE ? "--offline" : nil
76
-
77
- sh "mkdir -p #{spec_target_dir}"
78
- puts "Generating #{spec_target_file}"
79
- Preprocessor.new.start("rpm/#{RPM_NAME}.spec.template",
80
- spec_target_file,
81
- :distribution => distro_id)
82
-
83
- sh "rpmbuild -bs #{spec_target_file}"
84
- sh "mock --verbose #{maybe_offline} " +
85
- "-r #{mock_chroot_name}-x86_64 " +
86
- "--resultdir '#{PKG_DIR}/#{distro_id}' " +
87
- "rebuild #{rpmbuild_root}/SRPMS/#{RPM_NAME}-#{PACKAGE_VERSION}-1#{distro_id}.src.rpm"
88
- end
89
- end
90
-
91
- ALL_RPM_DISTROS.each_pair do |distro_id, info|
92
- create_rpm_build_task(distro_id, info[:mock_chroot_name], info[:distro_name])
93
- end
94
-
95
- desc "Build RPMs for all distributions"
96
- task "rpm:all" => ALL_RPM_DISTROS.keys.map { |x| "rpm:#{x}" }
97
-
98
- desc "Publish RPMs for all distributions"
99
- task "rpm:publish" do
100
- server = "juvia-helper.phusion.nl"
101
- remote_dir = "/srv/oss_binaries_passenger/yumgems/phusion-misc"
102
- rsync = "rsync -z -r --delete --progress"
103
-
104
- ALL_RPM_DISTROS.each_key do |distro_id|
105
- if !File.exist?("#{PKG_DIR}/#{distro_id}")
106
- abort "No packages built for #{distro_id}. Please run 'rake rpm:all' first."
107
- end
108
- end
109
- ALL_RPM_DISTROS.each_key do |distro_id|
110
- sh "rpm --resign --define '%_signature gpg' --define '%_gpg_name #{PACKAGE_SIGNING_KEY}' #{PKG_DIR}/#{distro_id}/*.rpm"
111
- end
112
- sh "#{rsync} #{server}:#{remote_dir}/latest/ #{PKG_DIR}/yumgems/"
113
- ALL_RPM_DISTROS.each_key do |distro_id|
114
- distro_dir = "#{PKG_DIR}/#{distro_id}"
115
- repo_dir = "#{PKG_DIR}/yumgems/#{distro_id}"
116
- sh "mkdir -p #{repo_dir}"
117
- sh "cp #{distro_dir}/#{RPM_NAME}*.rpm #{repo_dir}/"
118
- sh "createrepo #{repo_dir}"
119
- end
120
- sh "ssh #{server} 'rm -rf #{remote_dir}/new && cp -dpR #{remote_dir}/latest #{remote_dir}/new'"
121
- sh "#{rsync} #{PKG_DIR}/yumgems/ #{server}:#{remote_dir}/new/"
122
- sh "ssh #{server} 'rm -rf #{remote_dir}/previous && mv #{remote_dir}/latest #{remote_dir}/previous && mv #{remote_dir}/new #{remote_dir}/latest'"
123
- end
124
-
125
-
126
- def rpmbuild_root
127
- @rpmbuild_root ||= File.expand_path("~/rpmbuild")
128
- end
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rake'
3
-
4
- class RpmTool
5
- include Rake::DSL
6
-
7
- def initialize(argv)
8
- @argv = argv.dup
9
- end
10
-
11
- def start
12
- parse_options
13
- end
14
-
15
- private
16
- def parse_options
17
- sh "rake package:tarball"
18
- end
19
- end
20
-
21
- RpmTool.new(ARGV).start
@@ -1,28 +0,0 @@
1
- #!/bin/bash
2
- set -ex
3
-
4
- sudo sh -c 'cat >> /etc/hosts' <<EOF
5
- 127.0.0.1 passenger.test
6
- 127.0.0.1 mycook.passenger.test
7
- 127.0.0.1 zsfa.passenger.test
8
- 127.0.0.1 norails.passenger.test
9
- 127.0.0.1 1.passenger.test 2.passenger.test 3.passenger.test
10
- 127.0.0.1 4.passenger.test 5.passenger.test 6.passenger.test
11
- 127.0.0.1 7.passenger.test 8.passenger.test 9.passenger.test
12
- EOF
13
-
14
- # Don't care about the docs.
15
- for F in "Users guide.html" "Users guide Apache.html" "Users guide Nginx.html" "Users guide Standalone.html" "Packaging.html" "Security of user switching support.html" "Architectural overview.html"; do
16
- if [[ ! -f "doc/$F" ]]; then
17
- echo > "doc/$F"
18
- fi
19
- done
20
-
21
- cp test/config.json.rpm-automation test/config.json
22
-
23
- rake test:install_deps DEVDEPS_DEFAULT=false BASE_DEPS=true RAILS_BUNDLES=true
24
- rake rpm:local rpm:local:reinstall
25
- rake test:integration:native_packaging SUDO=1
26
- env PASSENGER_LOCATION_CONFIGURATION_FILE=/usr/lib/ruby/site_ruby/1.8/phusion_passenger/locations.ini \
27
- rake test:integration:apache2 \
28
- SUDO=1
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env python
2
- vars = { 'config_opts': {} }
3
- execfile("/etc/mock/default.cfg", vars)
4
- print(vars['config_opts']['dist'])