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.
- checksums.yaml +8 -8
- checksums.yaml.gz.asc +7 -7
- data.tar.gz.asc +7 -7
- data/.editorconfig +36 -2
- data/.travis.yml +1 -1
- data/CHANGELOG +16 -0
- data/Rakefile +0 -1
- data/build/apache2.rb +4 -4
- data/build/common_library.rb +18 -18
- data/build/cplusplus_support.rb +2 -2
- data/build/documentation.rb +1 -1
- data/build/integration_tests.rb +12 -4
- data/build/misc.rb +12 -7
- data/build/packaging.rb +14 -14
- data/build/preprocessor.rb +10 -10
- data/build/rake_extensions.rb +11 -11
- data/build/ruby_extension.rb +2 -2
- data/dev/ci/inituidgid +24 -0
- data/dev/ci/run_jenkins.sh +57 -0
- data/dev/ci/run_rpm_tests.sh +77 -0
- data/dev/{run_travis.sh → ci/run_travis.sh} +60 -4
- data/doc/Users guide Nginx.txt +2 -2
- data/doc/users_guide_snippets/environment_variables.txt +0 -2
- data/doc/users_guide_snippets/tips.txt +20 -1
- data/ext/apache2/Bucket.cpp +18 -18
- data/ext/apache2/Bucket.h +4 -4
- data/ext/apache2/Configuration.cpp +7 -7
- data/ext/apache2/Configuration.hpp +43 -43
- data/ext/apache2/DirectoryMapper.h +5 -5
- data/ext/apache2/Hooks.cpp +142 -142
- data/ext/apache2/MergeDirConfig.cpp +40 -40
- data/ext/common/Account.h +17 -17
- data/ext/common/AccountsDatabase.h +9 -9
- data/ext/common/AgentsStarter.cpp +2 -2
- data/ext/common/AgentsStarter.h +40 -40
- data/ext/common/ApplicationPool2/Common.h +10 -6
- data/ext/common/ApplicationPool2/ComponentInfo.h +2 -2
- data/ext/common/ApplicationPool2/DirectSpawner.h +17 -17
- data/ext/common/ApplicationPool2/DummySpawner.h +5 -5
- data/ext/common/ApplicationPool2/Group.h +54 -38
- data/ext/common/ApplicationPool2/Implementation.cpp +76 -49
- data/ext/common/ApplicationPool2/Options.h +98 -91
- data/ext/common/ApplicationPool2/Pool.h +70 -69
- data/ext/common/ApplicationPool2/Process.h +21 -21
- data/ext/common/ApplicationPool2/Session.h +11 -11
- data/ext/common/ApplicationPool2/SmartSpawner.h +60 -60
- data/ext/common/ApplicationPool2/Socket.h +19 -19
- data/ext/common/ApplicationPool2/Spawner.h +64 -72
- data/ext/common/ApplicationPool2/SpawnerFactory.h +4 -4
- data/ext/common/ApplicationPool2/SuperGroup.h +41 -41
- data/ext/common/BackgroundEventLoop.cpp +1 -1
- data/ext/common/BackgroundEventLoop.h +2 -2
- data/ext/common/Constants.h +1 -1
- data/ext/common/EventedBufferedInput.h +5 -5
- data/ext/common/EventedClient.h +51 -51
- data/ext/common/EventedMessageServer.h +39 -39
- data/ext/common/EventedServer.h +32 -32
- data/ext/common/Exceptions.h +23 -23
- data/ext/common/FileDescriptor.h +18 -18
- data/ext/common/Logging.cpp +1 -1
- data/ext/common/MessageClient.h +27 -27
- data/ext/common/MessageReadersWriters.h +79 -79
- data/ext/common/MessageServer.h +59 -59
- data/ext/common/RandomGenerator.h +12 -12
- data/ext/common/ResourceLocator.h +8 -8
- data/ext/common/SafeLibev.h +54 -25
- data/ext/common/ServerInstanceDir.h +31 -31
- data/ext/common/StaticString.h +50 -48
- data/ext/common/Utils.cpp +73 -78
- data/ext/common/Utils.h +6 -6
- data/ext/common/Utils/Base64.cpp +3 -3
- data/ext/common/Utils/Base64.h +7 -7
- data/ext/common/Utils/BlockingQueue.h +9 -9
- data/ext/common/Utils/BufferedIO.h +17 -17
- data/ext/common/Utils/CachedFileStat.hpp +16 -16
- data/ext/common/Utils/Dechunker.h +25 -25
- data/ext/common/Utils/FileChangeChecker.h +10 -10
- data/ext/common/Utils/MemZeroGuard.h +5 -5
- data/ext/common/Utils/MemoryBarrier.h +1 -1
- data/ext/common/Utils/MessageIO.h +61 -61
- data/ext/common/Utils/ProcessMetricsCollector.h +40 -40
- data/ext/common/Utils/ScopeGuard.h +7 -7
- data/ext/common/Utils/SpeedMeter.h +1 -1
- data/ext/common/Utils/StrIntUtils.cpp +13 -13
- data/ext/common/Utils/StrIntUtils.h +3 -3
- data/ext/common/Utils/StringScanning.h +5 -5
- data/ext/common/Utils/SystemMetricsCollector.h +2 -2
- data/ext/common/Utils/SystemTime.h +10 -10
- data/ext/common/Utils/Template.h +2 -2
- data/ext/common/Utils/Timer.h +6 -6
- data/ext/common/Utils/VariantMap.h +29 -29
- data/ext/common/agents/Base.cpp +19 -19
- data/ext/common/agents/HelperAgent/AgentOptions.h +1 -1
- data/ext/common/agents/HelperAgent/FileBackedPipe.h +6 -6
- data/ext/common/agents/HelperAgent/Main.cpp +44 -43
- data/ext/common/agents/HelperAgent/RequestHandler.cpp +4 -4
- data/ext/common/agents/HelperAgent/RequestHandler.h +29 -28
- data/ext/common/agents/HelperAgent/ScgiRequestParser.h +56 -50
- data/ext/common/agents/LoggingAgent/AdminController.h +8 -8
- data/ext/common/agents/LoggingAgent/DataStoreId.h +17 -17
- data/ext/common/agents/LoggingAgent/FilterSupport.h +167 -167
- data/ext/common/agents/LoggingAgent/LoggingServer.h +122 -122
- data/ext/common/agents/LoggingAgent/Main.cpp +7 -7
- data/ext/common/agents/LoggingAgent/RemoteSender.h +54 -54
- data/ext/common/agents/SpawnPreparer.cpp +4 -4
- data/ext/common/agents/TempDirToucher.c +2 -2
- data/ext/common/agents/Watchdog/AgentWatcher.cpp +47 -47
- data/ext/common/agents/Watchdog/HelperAgentWatcher.cpp +7 -7
- data/ext/common/agents/Watchdog/LoggingAgentWatcher.cpp +7 -7
- data/ext/common/agents/Watchdog/Main.cpp +22 -22
- data/ext/common/agents/Watchdog/ServerInstanceDirToucher.cpp +9 -9
- data/ext/libeio/eio.c +1 -1
- data/ext/nginx/Configuration.c +30 -30
- data/ext/nginx/Configuration.h +1 -1
- data/ext/nginx/ContentHandler.c +54 -54
- data/ext/nginx/ContentHandler.h +3 -3
- data/ext/nginx/StaticContentHandler.c +2 -2
- data/ext/nginx/ngx_http_passenger_module.c +21 -21
- data/ext/oxt/detail/backtrace_enabled.hpp +1 -1
- data/ext/oxt/detail/context.hpp +1 -1
- data/ext/oxt/detail/spin_lock_darwin.hpp +4 -4
- data/ext/oxt/detail/spin_lock_gcc_x86.hpp +3 -3
- data/ext/oxt/detail/spin_lock_pthreads.hpp +4 -4
- data/ext/oxt/detail/tracable_exception_disabled.hpp +1 -1
- data/ext/oxt/dynamic_thread_group.hpp +18 -18
- data/ext/oxt/implementation.cpp +9 -8
- data/ext/oxt/macros.hpp +2 -2
- data/ext/oxt/system_calls.cpp +11 -11
- data/ext/oxt/system_calls.hpp +13 -13
- data/ext/oxt/thread.hpp +22 -14
- data/ext/ruby/passenger_native_support.c +55 -55
- data/lib/phusion_passenger.rb +24 -24
- data/lib/phusion_passenger/common_library.rb +2 -0
- data/lib/phusion_passenger/loader_shared_helpers.rb +18 -18
- data/lib/phusion_passenger/packaging.rb +9 -4
- data/lib/phusion_passenger/platform_info/apache.rb +45 -31
- data/lib/phusion_passenger/platform_info/compiler.rb +11 -11
- data/lib/phusion_passenger/rack/thread_handler_extension.rb +1 -1
- data/lib/phusion_passenger/request_handler/thread_handler.rb +8 -8
- data/lib/phusion_passenger/standalone/app_finder.rb +16 -16
- data/lib/phusion_passenger/standalone/command.rb +22 -22
- data/packaging/rpm/LICENSE.txt +19 -0
- data/packaging/rpm/Makefile +13 -0
- data/packaging/rpm/README.md +41 -0
- data/packaging/rpm/Vagrantfile +38 -0
- data/{rpm/Vagrantfile → packaging/rpm/Vagrantfile.centos} +0 -0
- data/packaging/rpm/build +170 -0
- data/packaging/rpm/create_project +41 -0
- data/packaging/rpm/git_update +88 -0
- data/packaging/rpm/image/Dockerfile +37 -0
- data/packaging/rpm/image/Gemfile +3 -0
- data/packaging/rpm/image/Gemfile.lock +12 -0
- data/packaging/rpm/image/RPM-GPG-KEY-amazon-ga +19 -0
- data/packaging/rpm/image/amazon2014-i386.cfg +96 -0
- data/packaging/rpm/image/amazon2014-x86_64.cfg +96 -0
- data/packaging/rpm/image/site-defaults.cfg +168 -0
- data/packaging/rpm/internal/build_tasks.rb +238 -0
- data/packaging/rpm/internal/dummygpg +11 -0
- data/packaging/rpm/internal/exec_build +42 -0
- data/packaging/rpm/internal/get_distro_arch +14 -0
- data/packaging/rpm/internal/get_distro_id +10 -0
- data/packaging/rpm/internal/git_update +27 -0
- data/packaging/rpm/internal/inituidgid +17 -0
- data/packaging/rpm/internal/my_init +344 -0
- data/packaging/rpm/internal/python27 +3 -0
- data/packaging/rpm/internal/repo_update +46 -0
- data/packaging/rpm/internal/setuser +26 -0
- data/packaging/rpm/internal/tracking_helper +40 -0
- data/packaging/rpm/jenkins_release +99 -0
- data/packaging/rpm/lib/build_tasks_support.rb +402 -0
- data/packaging/rpm/lib/preprocessor.rb +341 -0
- data/packaging/rpm/nginx_spec/404.html +119 -0
- data/packaging/rpm/nginx_spec/50x.html +119 -0
- data/packaging/rpm/nginx_spec/index.html +116 -0
- data/packaging/rpm/nginx_spec/nginx-auto-cc-gcc.patch +13 -0
- data/packaging/rpm/nginx_spec/nginx-logo.png +0 -0
- data/packaging/rpm/nginx_spec/nginx-upgrade +13 -0
- data/packaging/rpm/nginx_spec/nginx-upgrade.8 +151 -0
- data/packaging/rpm/nginx_spec/nginx.conf +131 -0
- data/packaging/rpm/nginx_spec/nginx.init +144 -0
- data/packaging/rpm/nginx_spec/nginx.logrotate +13 -0
- data/packaging/rpm/nginx_spec/nginx.service +15 -0
- data/packaging/rpm/nginx_spec/nginx.spec.template +559 -0
- data/packaging/rpm/nginx_spec/nginx.sysconfig +4 -0
- data/packaging/rpm/nginx_spec/passenger.conf +9 -0
- data/packaging/rpm/nginx_spec/poweredby.png +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/apache-passenger.conf.in +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/config.json +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/passenger.logrotate +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/passenger.spec.template +58 -31
- data/{rpm → packaging/rpm/passenger_spec}/passenger_dynamic_thread_group.patch +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/passenger_tests_default_config_example.patch +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch +0 -0
- data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch +0 -0
- data/packaging/rpm/repo_update +114 -0
- data/packaging/rpm/setup-system +60 -0
- data/packaging/rpm/shell +10 -0
- data/resources/templates/standalone/config.erb +3 -1
- data/test/config.json.rpm-automation +1 -1
- data/test/cxx/ApplicationPool2/DirectSpawnerTest.cpp +11 -11
- data/test/cxx/ApplicationPool2/OptionsTest.cpp +5 -5
- data/test/cxx/ApplicationPool2/PoolTest.cpp +129 -89
- data/test/cxx/ApplicationPool2/ProcessTest.cpp +15 -15
- data/test/cxx/ApplicationPool2/SmartSpawnerTest.cpp +22 -22
- data/test/cxx/ApplicationPool2/SpawnerTestCases.cpp +11 -11
- data/test/cxx/ScgiRequestParserTest.cpp +75 -61
- data/test/cxx/UtilsTest.cpp +86 -85
- data/test/gdbinit.example +3 -0
- data/test/integration_tests/nginx_tests.rb +3 -3
- data/test/integration_tests/source_packaging_test.rb +3 -1
- data/test/stub/nginx/nginx.conf.erb +8 -1
- data/test/support/nginx_controller.rb +7 -7
- metadata +62 -17
- metadata.gz.asc +7 -7
- data/build/rpm.rb +0 -128
- data/dev/rpmtool +0 -21
- data/dev/test_rpm_packaging.sh +0 -28
- data/rpm/get_distro_id.py +0 -4
Binary file
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,13 +1,25 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
%global
|
1
|
+
# Based on http://pkgs.fedoraproject.org/cgit/rubygem-passenger.git/tree/
|
2
|
+
|
3
|
+
%global package_name <%= PASSENGER_RPM_NAME %>
|
4
|
+
%global package_version <%= PASSENGER_RPM_VERSION %>
|
5
|
+
%global package_release <%= PASSENGER_RPM_RELEASE %>
|
6
|
+
%global tarball_name <%= PASSENGER_TARBALL_NAME %>
|
7
|
+
%global tarball_version <%= PASSENGER_VERSION %>
|
8
|
+
%global apache_module_package_name <%= PASSENGER_APACHE_MODULE_RPM_NAME %>
|
9
|
+
%global namespace <%= PhusionPassenger::GLOBAL_NAMESPACE_DIRNAME %>
|
10
|
+
%global nginx_version <%= NGINX_RPM_VERSION %>
|
4
11
|
%global bundled_boost_version 1.54.0
|
12
|
+
%global is_enterprise <%= enterprise? ? 1 : 0 %>
|
13
|
+
%global release_dist .<%= @distribution %>
|
5
14
|
|
15
|
+
# Fedora <= 18 and RHEL <= 6 used the rubyabi requirement.
|
16
|
+
# This is gone in later versions.
|
6
17
|
%if 0%{?fc18}
|
18
|
+
%global uses_rubyabi 1
|
7
19
|
%global rubyabi 1.9.1
|
8
20
|
%endif
|
9
|
-
|
10
21
|
%if 0%{?el6}
|
22
|
+
%global uses_rubyabi 1
|
11
23
|
%global rubyabi 1.8
|
12
24
|
%endif
|
13
25
|
|
@@ -17,10 +29,10 @@
|
|
17
29
|
%{!?gem_extdir: %global gem_extdir %{gem_instdir}/extdir}
|
18
30
|
|
19
31
|
%{!?_httpd_mmn: %{expand: %%global _httpd_mmn %%(cat %{_includedir}/httpd/.mmn 2>/dev/null || echo missing-httpd-devel)}}
|
20
|
-
%{!?_httpd_confdir:
|
32
|
+
%{!?_httpd_confdir: %{expand: %%global _httpd_confdir %%{_sysconfdir}/httpd/conf.d}}
|
21
33
|
# /etc/httpd/conf.d with httpd < 2.4 and defined as /etc/httpd/conf.modules.d with httpd >= 2.4
|
22
|
-
%{!?_httpd_modconfdir:
|
23
|
-
%{!?_httpd_moddir:
|
34
|
+
%{!?_httpd_modconfdir: %{expand: %%global _httpd_modconfdir %%{_sysconfdir}/httpd/conf.d}}
|
35
|
+
%{!?_httpd_moddir: %{expand: %%global _httpd_moddir %%{_libdir}/httpd/modules}}
|
24
36
|
|
25
37
|
%global ruby_dir_version %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["ruby_version"]')
|
26
38
|
%global ruby_arch_name %(ruby -rrbconfig -e 'puts RbConfig::CONFIG["arch"]')
|
@@ -32,8 +44,8 @@
|
|
32
44
|
|
33
45
|
Summary: Phusion Passenger application server
|
34
46
|
Name: %{package_name}
|
35
|
-
Version:
|
36
|
-
Release:
|
47
|
+
Version: %{package_version}
|
48
|
+
Release: %{package_release}%{?release_dist}
|
37
49
|
Group: System Environment/Daemons
|
38
50
|
# Passenger code uses MIT license.
|
39
51
|
# Bundled(Boost) uses Boost Software License
|
@@ -44,7 +56,7 @@ License: Boost and BSD and BSD with advertising and MIT and zlib
|
|
44
56
|
URL: https://www.phusionpassenger.com
|
45
57
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
46
58
|
|
47
|
-
Source: http://s3.amazonaws.com/phusion-passenger/releases
|
59
|
+
Source: http://s3.amazonaws.com/phusion-passenger/releases/%{tarball_name}-%{tarball_version}.tar.gz
|
48
60
|
Source1: http://nginx.org/download/nginx-%{nginx_version}.tar.gz
|
49
61
|
Source10: passenger.logrotate
|
50
62
|
Source11: apache-passenger.conf.in
|
@@ -68,21 +80,21 @@ Requires: rubygems
|
|
68
80
|
Requires: rubygem(daemon_controller) >= 1.1.0
|
69
81
|
Requires: rubygem(rack)
|
70
82
|
Requires: rubygem(rake)
|
71
|
-
%if 0%{?
|
72
|
-
Requires: ruby(release)
|
73
|
-
%else
|
83
|
+
%if 0%{?uses_rubyabi}
|
74
84
|
Requires: ruby(abi) = %{rubyabi}
|
85
|
+
%else
|
86
|
+
Requires: ruby(release)
|
75
87
|
%endif
|
76
88
|
|
77
89
|
%if 0%{?rhel} >= 6 || 0%{?fedora} >= 15
|
78
|
-
BuildRequires:
|
90
|
+
BuildRequires: libcurl-devel
|
79
91
|
%else
|
80
|
-
BuildRequires:
|
92
|
+
BuildRequires: curl-devel
|
81
93
|
%endif
|
82
94
|
|
83
95
|
%if 0%{?rhel} < 6 && 0%{?fedora} <= 16
|
84
96
|
Requires: rubygem(fastthread) >= 1.0.1
|
85
|
-
BuildRequires:
|
97
|
+
BuildRequires: rubygem(fastthread) >= 1.0.1
|
86
98
|
%endif
|
87
99
|
|
88
100
|
BuildRequires: httpd-devel
|
@@ -104,6 +116,13 @@ Obsoletes: rubygem-passenger < 4.0.33
|
|
104
116
|
Obsoletes: rubygem-passenger%{_isa} < 4.0.33
|
105
117
|
Obsoletes: rubygem-passenger-native < 4.0.33
|
106
118
|
Obsoletes: rubygem-passenger-native%{?_isa} < 4.0.33
|
119
|
+
%if %{is_enterprise}
|
120
|
+
Obsoletes: passenger
|
121
|
+
Conflicts: passenger-devel
|
122
|
+
Conflicts: passenger-doc
|
123
|
+
Conflicts: passenger-native-libs
|
124
|
+
Conflicts: mod_passenger
|
125
|
+
%endif
|
107
126
|
|
108
127
|
%description
|
109
128
|
Phusion Passenger® is a web server and application server, designed to be fast, robust
|
@@ -111,15 +130,18 @@ and lightweight. It takes a lot of complexity out of deploying web apps, adds po
|
|
111
130
|
enterprise-grade features that are useful in production, and makes administration much
|
112
131
|
easier and less complex. It supports Ruby, Python, Node.js and Meteor.
|
113
132
|
|
114
|
-
%package -n
|
133
|
+
%package -n %{apache_module_package_name}
|
115
134
|
Summary: Apache Module for Phusion Passenger
|
116
135
|
Group: System Environment/Daemons
|
117
136
|
BuildRequires: httpd-devel
|
118
137
|
Requires: httpd-mmn = %{_httpd_mmn}
|
119
138
|
Requires: %{package_name} = %{version}-%{release}
|
139
|
+
%if %{is_enterprise}
|
140
|
+
Obsoletes: mod_passenger
|
141
|
+
%endif
|
120
142
|
License: Boost and BSD and BSD with advertising and MIT and zlib
|
121
143
|
|
122
|
-
%description -n
|
144
|
+
%description -n %{apache_module_package_name}
|
123
145
|
This package contains the pluggable Apache server module for Phusion Passenger®.
|
124
146
|
|
125
147
|
%package devel
|
@@ -129,6 +151,9 @@ Requires: %{package_name}%{?_isa} = %{version}-%{release}
|
|
129
151
|
Provides: bundled(boost-devel) = %{bundled_boost_version}
|
130
152
|
Obsoletes: rubygem-passenger-devel < 4.0.33
|
131
153
|
Obsoletes: rubygem-passenger-devel%{?_isa} < 4.0.33
|
154
|
+
%if %{is_enterprise}
|
155
|
+
Obsoletes: passenger-devel
|
156
|
+
%endif
|
132
157
|
License: Boost and BSD and BSD with advertising and GPL+ and MIT and zlib
|
133
158
|
|
134
159
|
%description devel
|
@@ -141,6 +166,9 @@ Summary: Phusion Passenger documentation
|
|
141
166
|
Group: System Environment/Daemons
|
142
167
|
Requires: %{package_name} = %{version}-%{release}
|
143
168
|
Obsoletes: rubygem-passenger-doc < 4.0.33
|
169
|
+
%if %{is_enterprise}
|
170
|
+
Obsoletes: passenger-doc
|
171
|
+
%endif
|
144
172
|
BuildArch: noarch
|
145
173
|
License: CC-BY-SA and MIT and (MIT or GPL+)
|
146
174
|
|
@@ -154,6 +182,9 @@ Requires: %{package_name}%{?_isa} = %{version}-%{release}
|
|
154
182
|
Requires: ruby
|
155
183
|
Obsoletes: rubygem-passenger-native-libs < 4.0.33
|
156
184
|
Obsoletes: rubygem-passenger-native-libs%{?_isa} < 4.0.33
|
185
|
+
%if %{is_enterprise}
|
186
|
+
Obsoletes: passenger-native-libs
|
187
|
+
%endif
|
157
188
|
License: Boost and BSD and BSD with advertising and MIT and zlib
|
158
189
|
%description native-libs
|
159
190
|
This package contains Phusion Passenger® native extensions for Ruby.
|
@@ -162,7 +193,7 @@ necessitates rebuilding this package.
|
|
162
193
|
|
163
194
|
|
164
195
|
%prep
|
165
|
-
%setup -q -n %{
|
196
|
+
%setup -q -n %{tarball_name}-%{tarball_version}
|
166
197
|
tar xzf %{SOURCE1}
|
167
198
|
|
168
199
|
%patch2 -p1 -b .include-sys-types
|
@@ -186,6 +217,7 @@ export EXTRA_CFLAGS=`echo "$EXTRA_CFLAGS" | sed 's|-O2|-O|g'`
|
|
186
217
|
export EXTRA_CXXFLAGS=`echo "$EXTRA_CXXFLAGS" | sed 's|-O2|-O|g'`
|
187
218
|
|
188
219
|
export USE_VENDORED_LIBEV=false
|
220
|
+
export CACHING=false
|
189
221
|
|
190
222
|
# Speed up ccache (reduce I/O) by lightly compressing things.
|
191
223
|
# Always set these variables because pbuilder uses ccache transparently.
|
@@ -269,15 +301,11 @@ export CCACHE_COMPRESS_LEVEL=3
|
|
269
301
|
# wrong. We therefore do not make failures fatal, although the result
|
270
302
|
# should still be checked.
|
271
303
|
%{__cp} %{SOURCE12} test/config.json
|
272
|
-
rake test:cxx || true
|
304
|
+
# rake test:cxx || true
|
273
305
|
|
274
306
|
%files
|
275
|
-
%
|
276
|
-
%
|
277
|
-
%doc "%{_docdir}/%{namespace}/Users guide Apache.html"
|
278
|
-
%doc "%{_docdir}/%{namespace}/Users guide Standalone.html"
|
279
|
-
%{_bindir}
|
280
|
-
%{_sbindir}
|
307
|
+
%{_bindir}/*
|
308
|
+
%{_sbindir}/*
|
281
309
|
%{_libdir}/%{namespace}/PassengerWebHelper
|
282
310
|
%{_libdir}/%{namespace}/agents
|
283
311
|
%{_datadir}/%{namespace}/helper-scripts
|
@@ -289,11 +317,11 @@ rake test:cxx || true
|
|
289
317
|
%{_datadir}/%{namespace}/*.txt
|
290
318
|
%dir %{_localstatedir}/log/passenger-analytics
|
291
319
|
%{_sysconfdir}/logrotate.d/passenger
|
292
|
-
%{_mandir}
|
293
|
-
%{passenger_ruby_libdir}
|
320
|
+
%{_mandir}/*/*
|
321
|
+
%{passenger_ruby_libdir}/*
|
294
322
|
|
295
323
|
%files doc
|
296
|
-
%
|
324
|
+
%{_docdir}/%{namespace}/*
|
297
325
|
|
298
326
|
%files devel
|
299
327
|
%{_datadir}/%{namespace}/ngx_http_passenger_module
|
@@ -301,12 +329,11 @@ rake test:cxx || true
|
|
301
329
|
%{_datadir}/%{namespace}/include
|
302
330
|
%{_libdir}/%{namespace}/common
|
303
331
|
|
304
|
-
%files -n
|
332
|
+
%files -n %{apache_module_package_name}
|
305
333
|
%config(noreplace) %{_httpd_modconfdir}/*.conf
|
306
334
|
%if "%{_httpd_modconfdir}" != "%{_httpd_confdir}"
|
307
335
|
%config(noreplace) %{_httpd_confdir}/*.conf
|
308
336
|
%endif
|
309
|
-
%doc "%{_docdir}/%{namespace}/Users guide Apache.html"
|
310
337
|
%{_httpd_moddir}/mod_passenger.so
|
311
338
|
|
312
339
|
%files native-libs
|
File without changes
|
File without changes
|
data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-GLIBC_HAVE_LONG_LONG.patch
RENAMED
File without changes
|
data/{rpm → packaging/rpm/passenger_spec}/rubygem-passenger-4.0.18-gcc47-include-sys_types.patch
RENAMED
File without changes
|
@@ -0,0 +1,114 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e
|
3
|
+
|
4
|
+
SELFROOT=`dirname "$0"`
|
5
|
+
SELFROOT=`cd "$SELFROOT" && pwd`
|
6
|
+
TEMPDIR=
|
7
|
+
|
8
|
+
PACKAGE_DIR=
|
9
|
+
SIGNING_KEY=
|
10
|
+
PASSPHRASE_FILE=
|
11
|
+
|
12
|
+
function usage()
|
13
|
+
{
|
14
|
+
echo "Usage: ./repo_update [OPTIONS]"
|
15
|
+
echo "Sign RPMs and import them into a YUM repository."
|
16
|
+
echo
|
17
|
+
echo "Required options:"
|
18
|
+
echo " -p PATH Path to a project"
|
19
|
+
echo
|
20
|
+
echo " -r PATH Directory to RPMs"
|
21
|
+
echo " -P PATH Directory to YUM repository"
|
22
|
+
echo
|
23
|
+
echo " -s KEY Signing key to use"
|
24
|
+
echo " -x PATH File containing signing key passphrase"
|
25
|
+
}
|
26
|
+
|
27
|
+
function parse_options()
|
28
|
+
{
|
29
|
+
local OPTIND=1
|
30
|
+
local opt
|
31
|
+
while getopts "p:r:P:s:x:h" opt; do
|
32
|
+
case "$opt" in
|
33
|
+
p)
|
34
|
+
PACKAGE_DIR="$OPTARG/build"
|
35
|
+
REPO_DIR="$OPTARG/repo"
|
36
|
+
;;
|
37
|
+
r)
|
38
|
+
PACKAGE_DIR="$OPTARG"
|
39
|
+
;;
|
40
|
+
P)
|
41
|
+
REPO_DIR="$OPTARG"
|
42
|
+
;;
|
43
|
+
s)
|
44
|
+
SIGNING_KEY="$OPTARG"
|
45
|
+
;;
|
46
|
+
x)
|
47
|
+
PASSPHRASE_FILE="$OPTARG"
|
48
|
+
;;
|
49
|
+
h)
|
50
|
+
usage
|
51
|
+
exit
|
52
|
+
;;
|
53
|
+
*)
|
54
|
+
return 1
|
55
|
+
;;
|
56
|
+
esac
|
57
|
+
done
|
58
|
+
|
59
|
+
if [[ "$PACKAGE_DIR" = "" ]]; then
|
60
|
+
echo "Please specify a project using -p, or an RPM package directory using -r."
|
61
|
+
exit 1
|
62
|
+
fi
|
63
|
+
if [[ "$REPO_DIR" = "" ]]; then
|
64
|
+
echo "Please specify a project using -p, or a YUM repo directory using -P."
|
65
|
+
exit 1
|
66
|
+
fi
|
67
|
+
if [[ "$SIGNING_KEY" = "" ]]; then
|
68
|
+
echo "Please specify a signing key using -s."
|
69
|
+
exit 1
|
70
|
+
fi
|
71
|
+
if [[ "$PASSPHRASE_FILE" = "" ]]; then
|
72
|
+
echo "Please specify a passphrase file using -p."
|
73
|
+
exit 1
|
74
|
+
fi
|
75
|
+
}
|
76
|
+
|
77
|
+
function cleanup()
|
78
|
+
{
|
79
|
+
local pids=`jobs -p`
|
80
|
+
set +e
|
81
|
+
if [[ "$pids" != "" ]]; then
|
82
|
+
kill $pids
|
83
|
+
fi
|
84
|
+
if [[ "$TEMPDIR" != "" ]]; then
|
85
|
+
rm -rf "$TEMPDIR"
|
86
|
+
fi
|
87
|
+
}
|
88
|
+
|
89
|
+
trap cleanup EXIT
|
90
|
+
parse_options "$@"
|
91
|
+
|
92
|
+
if ! gpg --list-keys "$SIGNING_KEY" >/dev/null 2>/dev/null; then
|
93
|
+
echo "ERROR: signing key $SIGNING_KEY not found."
|
94
|
+
exit 1
|
95
|
+
fi
|
96
|
+
|
97
|
+
APP_UID=`id -u`
|
98
|
+
APP_GID=`id -g`
|
99
|
+
TEMPDIR=`mktemp -d /tmp/passenger-rpm.XXXXXXXX`
|
100
|
+
gpg --armor --export-secret-keys "$SIGNING_KEY" > "$TEMPDIR/signing_key"
|
101
|
+
cat "$PASSPHRASE_FILE" > "$TEMPDIR/signing_passphrase"
|
102
|
+
chmod 600 "$TEMPDIR"/*
|
103
|
+
|
104
|
+
docker run --rm \
|
105
|
+
-v "$SELFROOT:/system:ro" \
|
106
|
+
-v "$TEMPDIR:/params:ro" \
|
107
|
+
-v "$PACKAGE_DIR:/packages" \
|
108
|
+
-v "$REPO_DIR:/repo" \
|
109
|
+
-e "APP_UID=$APP_UID" \
|
110
|
+
-e "APP_GID=$APP_GID" \
|
111
|
+
-e "SIGNING_KEY=$SIGNING_KEY" \
|
112
|
+
phusion/passenger_rpm_automation \
|
113
|
+
/system/internal/my_init --skip-runit --skip-startup-files --quiet -- \
|
114
|
+
/system/internal/repo_update
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e
|
3
|
+
|
4
|
+
function create_user()
|
5
|
+
{
|
6
|
+
local name="$1"
|
7
|
+
local full_name="$2"
|
8
|
+
local id="$3"
|
9
|
+
create_group $name $id
|
10
|
+
if ! grep -q "^$name:" /etc/passwd; then
|
11
|
+
sudo adduser --uid $id --gid $id --disabled-password --gecos "$full_name" $name
|
12
|
+
fi
|
13
|
+
sudo usermod -L $name
|
14
|
+
}
|
15
|
+
|
16
|
+
function create_group()
|
17
|
+
{
|
18
|
+
local name="$1"
|
19
|
+
local id="$2"
|
20
|
+
if ! grep -q "^$name:" /etc/group >/dev/null; then
|
21
|
+
sudo addgroup --gid $id $name
|
22
|
+
fi
|
23
|
+
}
|
24
|
+
|
25
|
+
set -x
|
26
|
+
|
27
|
+
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
|
28
|
+
echo deb http://pkg.jenkins-ci.org/debian binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list
|
29
|
+
sudo apt-get update
|
30
|
+
sudo apt-get install -y jenkins acl git ca-certificates ruby
|
31
|
+
sudo usermod -a -G passenger_ci,docker jenkins
|
32
|
+
if [[ -e /vagrant ]]; then
|
33
|
+
sudo service jenkins stop
|
34
|
+
sudo update-rc.d -f jenkins disable
|
35
|
+
if [[ ! -e /srv/passenger_rpm_automation ]]; then
|
36
|
+
sudo ln -s /vagrant /srv/passenger_rpm_automation
|
37
|
+
fi
|
38
|
+
fi
|
39
|
+
|
40
|
+
create_user psg_rpm_automation "Passenger RPM automation" 2466
|
41
|
+
|
42
|
+
create_group passenger_ci 2450
|
43
|
+
sudo usermod -a -G passenger_ci,docker psg_rpm_automation
|
44
|
+
sudo mkdir -p /var/cache/passenger_ci
|
45
|
+
sudo touch /var/cache/passenger_ci/lock
|
46
|
+
sudo chown -R root:passenger_ci /var/cache/passenger_ci
|
47
|
+
sudo chmod 770 /var/cache/passenger_ci
|
48
|
+
sudo chmod 660 /var/cache/passenger_ci/lock
|
49
|
+
|
50
|
+
sudo mkdir -p /etc/passenger_rpm_automation
|
51
|
+
sudo touch /etc/passenger_rpm_automation/signing_passphrase
|
52
|
+
sudo chown jenkins: /etc/passenger_rpm_automation/signing_passphrase
|
53
|
+
sudo chmod 600 /etc/passenger_rpm_automation/signing_passphrase
|
54
|
+
if [[ ! -e signing_passphrase ]]; then
|
55
|
+
sudo ln -s /etc/passenger_rpm_automation/signing_passphrase signing_passphrase
|
56
|
+
fi
|
57
|
+
|
58
|
+
if [[ ! -e /tools ]]; then
|
59
|
+
sudo git clone https://github.com/phusion/phusion-server-tools.git /tools
|
60
|
+
fi
|
data/packaging/rpm/shell
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
set -e
|
3
|
+
SELFDIR=`dirname "$0"`
|
4
|
+
SELFDIR=`cd "$SELFDIR" && pwd`
|
5
|
+
exec docker run --rm --privileged -t -i \
|
6
|
+
-v "$SELFDIR:/system:ro" \
|
7
|
+
"$@" \
|
8
|
+
phusion/passenger_rpm_automation \
|
9
|
+
/system/internal/my_init --skip-runit --skip-startup-files --quiet -- \
|
10
|
+
/bin/bash
|
@@ -85,7 +85,9 @@ http {
|
|
85
85
|
gzip_min_length 150;
|
86
86
|
gzip_proxied any;
|
87
87
|
gzip_types text/plain text/css text/json text/javascript \
|
88
|
-
application/javascript application/x-javascript application/json
|
88
|
+
application/javascript application/x-javascript application/json \
|
89
|
+
application/rss+xml application/vnd.ms-fontobject application/x-font-ttf \
|
90
|
+
application/xml font/opentype image/svg+xml text/xml;
|
89
91
|
|
90
92
|
<% if @apps.size > 1 %>
|
91
93
|
# Default server entry.
|