passenger 4.0.33 → 4.0.34

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 (112) hide show
  1. checksums.yaml +15 -0
  2. checksums.yaml.gz.asc +12 -0
  3. data.tar.gz.asc +7 -7
  4. data/NEWS +60 -0
  5. data/bin/passenger-config +1 -1
  6. data/bin/passenger-install-apache2-module +510 -40
  7. data/bin/passenger-install-nginx-module +26 -2
  8. data/build/cxx_tests.rb +1 -1
  9. data/build/documentation.rb +19 -21
  10. data/build/integration_tests.rb +39 -12
  11. data/build/misc.rb +18 -0
  12. data/build/packaging.rb +116 -56
  13. data/build/rpm.rb +20 -11
  14. data/build/ruby_tests.rb +2 -3
  15. data/build/test_basics.rb +9 -0
  16. data/debian.template/passenger.conf +2 -0
  17. data/debian.template/passenger.load +2 -0
  18. data/dev/run_travis.sh +3 -5
  19. data/dev/test_rpm_packaging.sh +28 -0
  20. data/doc/Users guide Apache.idmap.txt +6 -4
  21. data/doc/users_guide_snippets/installation.txt +20 -2
  22. data/doc/users_guide_snippets/tips.txt +1 -1
  23. data/ext/common/ApplicationPool2/Pool.h +1 -1
  24. data/ext/common/Constants.h +5 -1
  25. data/ext/common/agents/HelperAgent/RequestHandler.h +1 -1
  26. data/ext/common/agents/Watchdog/AgentWatcher.cpp +20 -0
  27. data/ext/common/agents/Watchdog/Main.cpp +10 -0
  28. data/ext/ruby/passenger_native_support.c +23 -11
  29. data/helper-scripts/classic-rails-loader.rb +9 -3
  30. data/helper-scripts/classic-rails-preloader.rb +10 -4
  31. data/helper-scripts/download_binaries/extconf.rb +46 -22
  32. data/helper-scripts/meteor-loader.rb +0 -1
  33. data/helper-scripts/node-loader.js +2 -1
  34. data/helper-scripts/prespawn +7 -1
  35. data/helper-scripts/rack-loader.rb +32 -3
  36. data/helper-scripts/rack-preloader.rb +10 -4
  37. data/lib/phusion_passenger.rb +40 -21
  38. data/lib/phusion_passenger/abstract_installer.rb +7 -4
  39. data/lib/phusion_passenger/analytics_logger.rb +4 -3
  40. data/lib/phusion_passenger/config/about_command.rb +27 -6
  41. data/lib/phusion_passenger/{config.rb → config/main.rb} +3 -2
  42. data/lib/phusion_passenger/config/restart_app_command.rb +1 -1
  43. data/lib/phusion_passenger/config/validate_install_command.rb +231 -0
  44. data/lib/phusion_passenger/constants.rb +2 -0
  45. data/lib/phusion_passenger/loader_shared_helpers.rb +92 -19
  46. data/lib/phusion_passenger/native_support.rb +33 -11
  47. data/lib/phusion_passenger/packaging.rb +1 -0
  48. data/lib/phusion_passenger/platform_info.rb +5 -2
  49. data/lib/phusion_passenger/platform_info/apache.rb +229 -60
  50. data/lib/phusion_passenger/platform_info/apache_detector.rb +26 -31
  51. data/lib/phusion_passenger/platform_info/depcheck_specs/apache2.rb +4 -4
  52. data/lib/phusion_passenger/platform_info/depcheck_specs/compiler_toolchain.rb +4 -4
  53. data/lib/phusion_passenger/platform_info/depcheck_specs/libs.rb +1 -1
  54. data/lib/phusion_passenger/platform_info/depcheck_specs/ruby.rb +1 -1
  55. data/lib/phusion_passenger/platform_info/linux.rb +2 -1
  56. data/lib/phusion_passenger/platform_info/ruby.rb +7 -0
  57. data/lib/phusion_passenger/preloader_shared_helpers.rb +2 -1
  58. data/lib/phusion_passenger/request_handler.rb +2 -1
  59. data/lib/phusion_passenger/request_handler/thread_handler.rb +2 -1
  60. data/lib/phusion_passenger/standalone/runtime_installer.rb +35 -13
  61. data/lib/phusion_passenger/standalone/start_command.rb +2 -2
  62. data/lib/phusion_passenger/utils.rb +1 -23
  63. data/lib/phusion_passenger/utils/ansi_colors.rb +7 -1
  64. data/lib/phusion_passenger/utils/download.rb +36 -2
  65. data/lib/phusion_passenger/utils/native_support_utils.rb +65 -0
  66. data/resources/templates/apache2/apache_install_broken.txt.erb +20 -0
  67. data/resources/templates/apache2/config_snippets.txt.erb +2 -4
  68. data/resources/templates/apache2/present_choice_for_no_update_config.txt.erb +5 -0
  69. data/resources/templates/installer_common/cannot_access_files_as_root.txt.erb +15 -0
  70. data/resources/templates/installer_common/run_installer_as_root.txt.erb +6 -3
  71. data/resources/templates/nginx/nginx_module_sources_not_available.txt.erb +1 -1
  72. data/resources/templates/nginx/other_nginx_installations_exist.txt.erb +17 -0
  73. data/rpm/apache-passenger.conf.in +26 -0
  74. data/rpm/config.json +30 -0
  75. data/rpm/passenger.logrotate +7 -0
  76. data/rpm/passenger.spec.template +456 -0
  77. data/rpm/passenger_dynamic_thread_group.patch +16 -0
  78. data/rpm/passenger_tests_default_config_example.patch +44 -0
  79. data/rpm/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +21 -0
  80. data/rpm/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +45 -0
  81. data/test/config.json.rpm-automation +15 -0
  82. data/test/integration_tests/downloaded_binaries_tests.rb +80 -2
  83. data/test/integration_tests/native_packaging_spec.rb +136 -44
  84. data/test/integration_tests/standalone_tests.rb +2 -11
  85. data/test/ruby/analytics_logger_spec.rb +65 -19
  86. data/test/ruby/utils_spec.rb +2 -0
  87. metadata +532 -548
  88. metadata.gz.asc +7 -7
  89. data/resources/templates/apache2/no_write_permission_to_passenger_root.txt.erb +0 -9
  90. data/rpm/README.rdoc +0 -117
  91. data/rpm/config/apache-passenger.conf.in +0 -19
  92. data/rpm/config/nginx-passenger.conf.in +0 -10
  93. data/rpm/config/rubygem-passenger.te +0 -10
  94. data/rpm/doc/README.nginx-alternatives +0 -5
  95. data/rpm/doc/example_yum_repository_htaccess +0 -5
  96. data/rpm/doc/footer.shtml +0 -12
  97. data/rpm/doc/header.shtml +0 -156
  98. data/rpm/nginx-alternatives.spec +0 -97
  99. data/rpm/passenger-release.spec +0 -91
  100. data/rpm/passenger.spec +0 -667
  101. data/rpm/patches/passenger-force-native.patch +0 -63
  102. data/rpm/release/RPM-GPG-KEY-stealthymonkeys +0 -33
  103. data/rpm/release/build-release.sh +0 -35
  104. data/rpm/release/build.rb +0 -301
  105. data/rpm/release/create-mirrors.sh +0 -16
  106. data/rpm/release/mirrors +0 -1
  107. data/rpm/release/mock-repo/comps.xml +0 -21
  108. data/rpm/release/mock-repo/rubygem-daemon_controller-0.2.5-1.noarch.rpm +0 -0
  109. data/rpm/release/mock-repo/rubygem-file-tail-1.0.5-1.noarch.rpm +0 -0
  110. data/rpm/release/mock-repo/rubygem-spruz-0.2.2-1.noarch.rpm +0 -0
  111. data/rpm/release/mocksetup-first.sh +0 -102
  112. data/rpm/release/mocksetup.sh +0 -67
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
- iQEcBAABAgAGBQJSxXh6AAoJECrHRaUKISqMkwsH/1+nzM8YwJfyynuxyBC6DssR
6
- vXoUokFuVKXAXN1TqO69YQj6/2Et2qabk2UDSo2AXWSGnFbe6KYaAZkoiLPP/oC4
7
- PT7Wgr3qd13o5SI2ejkr84wgHU8ZL5qG2M3Ck8l3G5jV4nc/2yQUpGK1/WhNHMmX
8
- wTCdpoD/cLN63SV4hLfMxacy/3l6YfwSv/5hnKgccL98UHLHKyNuiFbkhihvVwaQ
9
- B50t4dsHE2+JKnbLnizbIrXCUorPK4g7nVPocFPPcLfbGaGNIg/1aQff6hR2erGy
10
- LZTo8wBFtH7rXrqWw+wZcPjJr8qT78RcN6zv+gTBXhKnFPCVSX/zgkOa4XgHE50=
11
- =1YLM
5
+ iQEcBAABAgAGBQJS1vGUAAoJECrHRaUKISqMrE8H+QHLpY3jDJ5/zM/uWEmAb3p4
6
+ YRzwYlO06jMczurxCUWdG4vEHcBYYFFGadVIQowDdGee4awIIL5uFUrNDttFOnKU
7
+ wKue5wsYajqZ8Kd77RJ670FUG0OlAzjvy/Mi6fOPBrV62pEPvDZIV7sO7hRTnfnr
8
+ mH6iIiqHKFdk308orHq7weTXgI0CwydjaMkdiWSFe+MmLq34UisuD+EgRBSUWmPD
9
+ /OYF5Brx4AdRvegqPnmrVXuUokrV6/VOxAOi/ZOJtW/5xHaDAhbVlAcY2AOE8n8O
10
+ d3AAMJ6FdbjJ1E8+o6EFD/FqjCAqj5/ZwBSbOFaqWMm4IPEg1E+qbwnx/5hkDMw=
11
+ =+ivZ
12
12
  -----END PGP SIGNATURE-----
@@ -1,9 +0,0 @@
1
- <red>Permission problems</red>
2
-
3
- This installer must be able to write to the following directory:
4
-
5
- <b><%= @path || ::PASSENGER_ROOT %></b>
6
-
7
- But it can't do that, despite the fact that it's running as root. There's
8
- probably a permission problem. Please fix the permissions for the
9
- aforementioned directory, and re-run this installer.
@@ -1,117 +0,0 @@
1
- = Rubygem-passenger
2
-
3
- This project is an attempt to build RPMs for {Phusion
4
- Passenger}[http://modrails.org] for Fedora Core 13+, RHEL 5.5+, and CentOS
5
- 5.5+ (both via EPEL)
6
-
7
- == Installation
8
-
9
- The easiest way to install Passenger and keep it up to date is to install the
10
- passenger-release package from the {main repository}[http://passenger.stealthymonkeys.com]:
11
-
12
- [Fedora Core 14] <code>rpm -Uvh http://{http://passenger.stealthymonkeys.com/fedora/14/passenger-release.noarch.rpm}[link:http://passenger.stealthymonkeys.com/fedora/14/passenger-release.noarch.rpm]</code>
13
- [Fedora Core 13] <code>rpm -Uvh http://{http://passenger.stealthymonkeys.com/fedora/13/passenger-release.noarch.rpm}[link:http://passenger.stealthymonkeys.com/fedora/13/passenger-release.noarch.rpm]</code>
14
- [RHEL / CentOS / ScientificLinux 5.x + EPEL] <code>rpm -Uvh http://{http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm}[link:http://passenger.stealthymonkeys.com/rhel/5/passenger-release.noarch.rpm]</code>
15
- [RHEL / CentOS / ScientificLinux 6.x + EPEL] <code>rpm -Uvh http://{http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm}[link:http://passenger.stealthymonkeys.com/rhel/6/passenger-release.noarch.rpm]</code>
16
-
17
- *NOTE*: The RHEL-based distributions are built upon packages in {EPEL}[http://fedoraproject.org/wiki/EPEL], and require it to be installed.
18
-
19
- The passenger-release package adds a new Yum repository to your configuration.
20
- From here you can use the {yum}[http://prefetch.net/articles/yum.html] command
21
- to install Passenger packages:
22
-
23
- <code>yum install nginx-passenger</code>
24
-
25
- <code>yum install mod_passenger</code>
26
-
27
- <code>yum install passenger-standalone</code>
28
-
29
- (You probably only need one of the commands above)
30
-
31
- == Packages
32
-
33
- === Yum Package
34
-
35
- [passenger-release] Yum configuration necessary to query the
36
- {main repository}[http://passenger.stealthymonkeys.com]
37
- (and eventually mirrors) for updates.
38
-
39
- === Main Packages
40
-
41
- [rubygem-passenger] The base passenger Gem. Most of the package lives here.
42
-
43
- [mod_passenger] The Apache webserver dynamically loadable module.
44
-
45
- [nginx-passenger] A version of the nginx webserver with the passenger module
46
- statically linked (nginx does not support dynamically
47
- loadable modules)
48
-
49
- [passenger-standalone] The passenger-standalone server. As of 3.0.0-11 this
50
- package is correctly built and installed and is now
51
- safe to use. This package was renamed from
52
- rubygems-passenger-standalone in 3.0.1-4. No action is
53
- required to upgrade from older packages via yum.
54
-
55
- === Supporting Packages
56
-
57
- [rubygem-passenger-native] The compiled helper executables required by
58
- mod_passenger and nginx-passenger
59
-
60
- [rubygem-passenger-native-libs] The passenger_native_support.so shared library
61
- compiled against a given ruby engine. This
62
- package is separated to simplify building one
63
- for a different ruby engine. Currently only
64
- required by nginx-passenger.
65
-
66
- [nginx-alternatives] A meta-package to put nginx under the alternatives system
67
- so that multiple versions of the binary can co-exist.
68
- This package is meant to be Obsoleted by a future nginx
69
- package which should contain this functionality.
70
-
71
- === External Dependency Packages
72
-
73
- [rubygem-daemon_controller] A gem for robust daemon managment. Required by
74
- rubygem-passenger.
75
-
76
- [rubygem-file-tail] Library to tail files in Ruby. Required by rubygem-passenger.
77
-
78
- [rubygem-spruz] “Useful Stuff.” Required by rubygem-file-tail.
79
-
80
- === Other Packages
81
-
82
- [rubygem-passenger-debuginfo] Standard debugger symbols for the above
83
- packages. (Turned off in the 3.0.0 tree
84
- due to debugging symbols containing
85
- %builddir paths. This will be reinstaed in
86
- a later release)
87
-
88
- == Building Your Own Packages
89
-
90
- There are 3 ways to build packages:
91
-
92
- === An Official Release via SRPM
93
-
94
- This is the simplest option, and the only option that doesn't (likely) require
95
- sudo access.
96
-
97
- 1. Download an SRPM from {the repository}[http://passenger.stealthymonkeys.com/SRPMS]
98
- 2. <code>rpmbuild --rebuild <SRPM file></code>
99
-
100
- === Testing Packages via Git
101
-
102
- 1. Clone this repository
103
- 2. <code>rake package:rpm</code>
104
-
105
- === A Testing {Yum}[http://fedoraproject.org/wiki/Tools/yum] Repository via Git
106
-
107
- 1. Clone this repository
108
- 2. <code>rake package:yum</code>
109
-
110
- The first time the two rake tasks above are run they will probably need to sudo
111
- in order to install and/or setup some of the dependencies. It will prompt you
112
- with a list of commands it will run, and ask you to hit “return” to continue.
113
-
114
- == Etc.
115
-
116
- More to come!
117
-
@@ -1,19 +0,0 @@
1
- LoadModule passenger_module modules/mod_passenger.so
2
- <IfModule mod_passenger.c>
3
- PassengerRoot %ROOT
4
- PassengerRuby %RUBY
5
- </IfModule>
6
-
7
- # Deploying a Ruby on Rails application: an example
8
-
9
- # Suppose you have a Rails application in /somewhere. Add a virtual host to
10
- # your Apache configuration file and set its DocumentRoot to /somewhere/public:
11
- #
12
- # <VirtualHost *:80>
13
- # ServerName www.yourhost.com
14
- # DocumentRoot /somewhere/public # <-- be sure to point to 'public'!
15
- # <Directory /somewhere/public>
16
- # AllowOverride all # <-- relax Apache security settings
17
- # Options -MultiViews # <-- MultiViews must be turned off
18
- # </Directory>
19
- # </VirtualHost>
@@ -1,10 +0,0 @@
1
- passenger_root %ROOT;
2
- passenger_ruby %RUBY;
3
-
4
- # You'll need to integrate this portion into your own config
5
- # server {
6
- # listen 80;
7
- # server_name www.yourhost.com;
8
- # root /somewhere/public; # <--- be sure to point to 'public'!
9
- # passenger_enabled on;
10
- # }
@@ -1,10 +0,0 @@
1
- policy_module(rubygem_passenger, 1.0)
2
-
3
- require {
4
- type httpd_t, httpd_tmp_t;
5
- };
6
-
7
-
8
- # This should use interface macros
9
- allow httpd_t httpd_tmp_t:sock_file { create write unlink getattr setattr };
10
- allow httpd_t self:capability { fowner sys_resource fsetid };
@@ -1,5 +0,0 @@
1
- This package puts the nginx webserver binary under the control of the
2
- /etc/alternative system.
3
-
4
- This package is meant to be obsoleted by a future nginx package (which
5
- will provide the same feature)
@@ -1,5 +0,0 @@
1
- Options +Includes
2
- IndexOptions +FancyIndexing +IgnoreCase +SuppressDescription +NameWidth=* +SuppressHTMLPreamble
3
- HeaderName /header.shtml
4
- ReadmeName /footer.shtml
5
- IndexIgnore header.shtml footer.shtml
@@ -1,12 +0,0 @@
1
- <p id="tm">
2
- <!--#if expr="${SERVER_NAME} = /stealthymonkeys.com/"-->
3
- This repository is brought to you by <a
4
- href="http://stealthymonkeys.com">Stealthy Monkeys Consulting</a>.
5
- <!--#endif -->
6
-
7
- &ldquo;Phusion&rdquo; and &ldquo;Phusion Passenger&rdquo; are
8
- trademarks of Hongli Lai & Ninh Bui. All rights reserved.
9
- </p>
10
- </div>
11
- </body>
12
- </html>
@@ -1,156 +0,0 @@
1
- <?xml version="1.0"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
- <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
5
- <head>
6
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
7
- <title><!--#echo var="REQUEST_URI" --> &mdash; The Phusion Passenger RPM Repository</title>
8
- <style type="text/css">
9
- body {
10
- font-family: baskerville, bodoni svtytwo os, bodoni, georgia, times new roman, serif;
11
- margin: 0;
12
- padding: 0;
13
- }
14
-
15
- a {
16
- color: #717c8d;
17
- }
18
- a:visited {
19
- color: #7687a2;
20
- }
21
-
22
- h1 {
23
- margin-top: 0;
24
- padding: 0.5em;
25
- color: #fff;
26
- background-color: #717c8d;
27
- }
28
- div#content {
29
- padding: 0 1em;
30
- }
31
- pre,
32
- .cmd,
33
- .per-distro-cmds dd {
34
- /* I think Courier New looks the best, but Andale Mono is preferable to the default */
35
- font-family: Courier New, Andale Mono, Courier, monospace;
36
- }
37
-
38
- p#tm {
39
- font-size: 80%;
40
- text-align: right;
41
- margin-bottom: 2em;
42
- }
43
- .per-distro-cmds dd,
44
- .cmd {
45
- display: block;
46
- padding: 3px;
47
- border: 1px solid #ccc;
48
- background-color: #eee;
49
- white-space: nowrap;
50
- }
51
- .per-distro-cmds dd {
52
- margin-bottom: 0.5em;
53
- }
54
-
55
- dd.prop {
56
- font-family: baskerville, bodoni svtytwo os, bodoni, georgia, times new roman, serif;
57
- padding: 0;
58
- border: 0;
59
- background-color: transparent;
60
- white-space: normal;
61
- }
62
-
63
-
64
-
65
- .or {
66
- padding: 0.5em;
67
- font-size: 125%;
68
- font-weight: bold;
69
- text-align: center;
70
- }
71
- </style>
72
-
73
- <!--#if expr="${SERVER_NAME} = /stealthymonkeys.com/"-->
74
- <script type="text/javascript" src="http://use.typekit.com/keb1kea.js"></script>
75
- <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
76
- <!--#endif -->
77
- </head>
78
-
79
- <body>
80
- <h1>The Phusion Passenger RPM Repository</h1>
81
-
82
- <div id="content">
83
- <p>
84
- Welcome to the repository. Here you&rsquo;ll find RPM packages of <a
85
- href="http://modrails.com/">Phusion Passenger</a> (aka mod_rails /
86
- mod_rack) for <a href="http://fedoraproject.org/">Fedora</a> and <a
87
- href="http://www.redhat.com/rhel/">RedHat Enterprise Linux</a> (and
88
- derivatives like <a href="http://centos.org">CentOS</a> and <a
89
- href="https://www.scientificlinux.org/">Scientific Linux</a>).
90
- </p>
91
-
92
- <!--#if expr="${REQUEST_URI} = '/'" -->
93
- <p>
94
- The easiest way to install Passenger and keep it up to date is to
95
- install the passenger-release package:
96
- </p>
97
-
98
- <dl class="per-distro-cmds">
99
- <dt><strong>Fedora Core 14</strong>:</dt>
100
- <dd>rpm -Uvh <a
101
- href="fedora/14/passenger-release.noarch.rpm">http://<!--#echo var="SERVER_NAME" -->/fedora/14/passenger-release.noarch.rpm</a></dd>
102
- <dt><strong>Fedora Core 13</strong>:</dt>
103
- <dd>rpm -Uvh <a
104
- href="fedora/13/passenger-release.noarch.rpm">http://<!--#echo var="SERVER_NAME" -->/fedora/13/passenger-release.noarch.rpm</a></dd>
105
- <dt><strong>RHEL 5 / CentOS 5 / ScientificLinux 5</strong>: (note, these packages depend on <a
106
- href="http://fedoraproject.org/wiki/EPEL">EPEL</a>)</dt>
107
- <dd>rpm -Uvh <a
108
- href="rhel/5/passenger-release.noarch.rpm">http://<!--#echo var="SERVER_NAME" -->/rhel/5/passenger-release.noarch.rpm</a></dd>
109
- <dt><strong>RHEL 6 / CentOS 6 / ScientificLinux 6</strong>: (note, these packages depend on <a
110
- href="http://fedoraproject.org/wiki/EPEL">EPEL</a>)</dt>
111
- <dd class="prop">
112
- These packages will be available as soon as there is
113
- a stable beta of either CentOS 6 or SL 6 to use as a build platform.
114
- </dd>
115
- </dl>
116
-
117
- <p>
118
- From there you can use <a href="http://prefetch.net/articles/yum.html">Yum</a> to install packages. For example:
119
- </p>
120
-
121
- <div>
122
- <div class="cmd">yum install nginx-passenger</div>
123
- <div class="or">or</div>
124
- <div class="cmd">yum install mod_passenger</div>
125
- <div class="or">or</div>
126
- <div class="cmd">yum install passenger-standalone</div>
127
- </div>
128
- <!--#endif -->
129
-
130
- <h2>Need More Information?</h2>
131
-
132
- <!--#if expr="${REQUEST_URI} != '/'" -->
133
- <p>
134
- <a href="/">Installation instructions</a> can be found <a href="/">at
135
- the root of this server</a>.
136
- </p>
137
- <!--#endif -->
138
-
139
- <!--#if expr="${SERVER_NAME} = /stealthymonkeys.com/"-->
140
- <!--#set var="repo" value="erikogan" -->
141
- <!--#set var="prefix" value="my fork of the main" -->
142
- <!--#else -->
143
- <!--#set var="repo" value="FooBarWidget" -->
144
- <!--#set var="prefix" value="the" -->
145
- <!--#endif -->
146
-
147
- <p>
148
- The source files and documentation for these packages are maintained
149
- in
150
- <a href="http://github.com/<!--#echo var="repo"
151
- -->/passenger/tree/master/rpm"><!--#echo var="prefix" --> GitHub
152
- Passenger Repository</a>. Comments, questions, patches, and pull
153
- requests are always welcome.
154
- </p>
155
-
156
- <h2><!--#echo var="REQUEST_URI" --></h2>
@@ -1,97 +0,0 @@
1
- # RPM Spec file for nginx-alternatives
2
- # This is a stop-gap solution to having multiple compiles of nginx on
3
- # the same server.
4
- #
5
- # This package is meant to be obsoleted by a future nginx package that
6
- # will provide the same feature
7
-
8
- %define perldir %(perl -MConfig -e 'print $Config{installarchlib}')
9
-
10
- Summary: Alternatives aware nginx
11
- Name: nginx-alternatives
12
- Version: 0.0.1
13
- Release: 3%{?dist}
14
- License: MIT
15
- Group: System Environment/Daemons
16
- #Source0: %{name}-%{version}.tar.gz
17
- Source0: README.%{name}
18
- Requires: nginx
19
- BuildArch: noarch
20
- BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
21
-
22
- %description
23
- This package puts the nginx webserver binary under the control of the
24
- /etc/alternative system.
25
-
26
- This package is meant to be obsoleted by a future nginx package (which
27
- will provide the same feature)
28
-
29
- %prep
30
- #%setup -q
31
-
32
- %build
33
- cp %{SOURCE0} .
34
-
35
- %install
36
- rm -rf $RPM_BUILD_ROOT
37
- mkdir -p $RPM_BUILD_ROOT
38
-
39
- %clean
40
- rm -rf $RPM_BUILD_ROOT
41
-
42
- %triggerin -- nginx
43
- if [ ! -L /usr/sbin/nginx ] ; then
44
- mv /usr/sbin/nginx /usr/sbin/nginx.base
45
- mv %{perldir}/auto/nginx/nginx.so %{perldir}/auto/nginx/nginx_base.so
46
- mv %{perldir}/nginx.pm %{perldir}/nginx_base.pm
47
- mv %{_mandir}/man3/nginx.3pm.gz %{_mandir}/man3/nginx_base.3pm.gz
48
-
49
- /usr/sbin/alternatives --install /usr/sbin/nginx nginx \
50
- /usr/sbin/nginx.base 30 \
51
- --slave %{perldir}/auto/nginx/nginx.so nginx.so \
52
- %{perldir}/auto/nginx/nginx_base.so \
53
- --slave %{perldir}/nginx.pm nginx.pm %{perldir}/nginx_base.pm \
54
- --slave %{_mandir}/man3/nginx.3pm.gz nginx.man \
55
- %{_mandir}/man3/nginx_base.3pm.gz
56
- fi
57
-
58
- # Given that other packages will depend on this one, it's 99% likely
59
- # that this will have been reset back to base. Still good practice to
60
- # put the expected binary back in place.
61
- %define undo_link \
62
- bin=`readlink -f /usr/sbin/nginx` \
63
- so=`readlink -f %{perldir}/auto/nginx/nginx.so` \
64
- pm=`readlink -f %{perldir}/nginx.pm` \
65
- man=`readlink -f %{_mandir}/man3/nginx.3pm.gz` \
66
- /usr/sbin/alternatives --remove nginx /usr/sbin/nginx.base \
67
- /usr/sbin/alternatives --remove nginx $bin \
68
- mv -f $bin /usr/sbin/nginx \
69
- mv -f $so %{perldir}/auto/nginx/nginx.so \
70
- mv -f $pm %{perldir}/nginx.pm \
71
- mv -f $man %{_mandir}/man3/nginx.3pm.gz
72
-
73
-
74
- %triggerun -- nginx
75
- if [ -L /usr/sbin/nginx ] ; then
76
- %undo_link
77
- fi
78
-
79
- # triggerun runs if either package is removed, so this isn't necessary
80
- %postun
81
- if [ $1 == 0 -a -L /usr/sbin/nginx ]; then
82
- %undo_link
83
- fi
84
-
85
- %files
86
- %defattr(-,root,root,-)
87
- %doc README.%{name}
88
-
89
- %changelog
90
- * Sat Oct 30 2010 Erik Ogan <erik@stealthymonkeys.com> - 0.0.1-3
91
- - Add slaves for the perl module
92
-
93
- * Thu Oct 21 2010 Erik Ogan <erik@stealthymonkeys.com> - 0.0.1-2
94
- - Use triggers to maintain the link if nginx package is upgraded
95
-
96
- * Wed Oct 20 2010 Erik Ogan <erik@stealthymonkeys.com> - 0.0.1-1
97
- - Initial build.