passenger 6.0.9 → 6.0.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 87f31709612878e26738f7b12b35f4bc97fb32f0
4
- data.tar.gz: f3cf0d1c48fa1b478e6e5e4181191cc529a809fe
3
+ metadata.gz: 84d5efa4e63f666d5f40342ef5e6992487b603f1
4
+ data.tar.gz: 5320cb6043d4574259be0e68ea82e6809d52c16d
5
5
  SHA512:
6
- metadata.gz: 3461d39a57d3be31000fddf9dbc73bf583533f3c3a89103651d4b71c56c902d6df5aa9fe757e1ee8fd051f9f3b5b03a654ef1ad836a3b957dcda49db3e6a498e
7
- data.tar.gz: 31f67ea34f1dab5937dd85adebc6f24c49f293667108c4a9f43bafeb87f48390a5d565a434b82704cb8128930b3b4db6bbdd9a3a20649ef98c8d11bdd68a9629
6
+ metadata.gz: 1184227fb4ca333138b4ba0227d4cebec220ad677603b4a4f5d7b57c49c722bd618e3015b23ab9e2a28d122fffab1cbdb4dc42440a7c837a544450d5b7e324d2
7
+ data.tar.gz: 4b4145b3abb36b27a9cedcd58c35077cc63b4bc0576e028f8a5bc07052157973f6bd6ed67ff3b08bd3e3aad6cd22c7f01849b5a2cc7dc979dad5eec8fc167537
data/CHANGELOG CHANGED
@@ -1,4 +1,17 @@
1
- Release 6.0.9 (Not yet released)
1
+ Release 6.0.10 (Not yet released)
2
+ -------------
3
+ * [Debian/Ubuntu] Fix a regression in `passenger_system_ruby` where Ruby 3 couldn't be found.
4
+ * [CentOS/RHEL] Bump rpm nginx dependency to match EPEL nginx (was 1.16.1 now 1.20.1). Closes GH-2364.
5
+ * [Nginx] The preferred PCRE version is now 8.45 (previously 8.44).
6
+ * Updated various library versions used in precompiled binaries (used for e.g. gem installs):
7
+
8
+ - cmake 3.20.3 → 3.20.5
9
+ - git 2.31.1 → 2.32.0
10
+ - libksba 1.5.1 → 1.6.0
11
+ - rubygems 3.2.19 → 3.2.21
12
+ - pcre 8.44 → 8.45
13
+
14
+ Release 6.0.9
2
15
  -------------
3
16
  * Upgrades Boost to 1.76. Fixes a regression where some boost headers for comatibility with older distros were missing.
4
17
  * Make building on Apple Silcon using homebrew openssl work. Contributed by TheBerg.
@@ -164,7 +164,7 @@ using namespace std;
164
164
  * security_update_checker_interval unsigned integer - default(86400)
165
165
  * security_update_checker_proxy_url string - -
166
166
  * security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
167
- * server_software string - default("Phusion_Passenger/6.0.9")
167
+ * server_software string - default("Phusion_Passenger/6.0.10")
168
168
  * show_version_in_header boolean - default(true)
169
169
  * single_app_mode_app_root string - default,read_only
170
170
  * single_app_mode_app_start_command string - read_only
@@ -115,7 +115,7 @@ parseControllerBenchmarkMode(const StaticString &mode) {
115
115
  * multi_app boolean - default(true),read_only
116
116
  * request_freelist_limit unsigned integer - default(1024)
117
117
  * response_buffer_high_watermark unsigned integer - default(134217728)
118
- * server_software string - default("Phusion_Passenger/6.0.9")
118
+ * server_software string - default("Phusion_Passenger/6.0.10")
119
119
  * show_version_in_header boolean - default(true)
120
120
  * start_reading_after_accept boolean - default(true)
121
121
  * stat_throttle_rate unsigned integer - default(10)
@@ -153,7 +153,7 @@ using namespace std;
153
153
  * security_update_checker_interval unsigned integer - default(86400)
154
154
  * security_update_checker_proxy_url string - -
155
155
  * security_update_checker_url string - default("https://securitycheck.phusionpassenger.com/v1/check.json")
156
- * server_software string - default("Phusion_Passenger/6.0.9")
156
+ * server_software string - default("Phusion_Passenger/6.0.10")
157
157
  * setsid boolean - default(false)
158
158
  * show_version_in_header boolean - default(true)
159
159
  * single_app_mode_app_root string - default,read_only
@@ -83,7 +83,7 @@
83
83
  #define PASSENGER_API_VERSION_MAJOR 0
84
84
  #define PASSENGER_API_VERSION_MINOR 3
85
85
  #define PASSENGER_DEFAULT_USER "nobody"
86
- #define PASSENGER_VERSION "6.0.9"
86
+ #define PASSENGER_VERSION "6.0.10"
87
87
  #define POOL_HELPER_THREAD_STACK_SIZE 262144
88
88
  #define PROCESS_SHUTDOWN_TIMEOUT 60
89
89
  #define PROCESS_SHUTDOWN_TIMEOUT_DISPLAY "1 minute"
@@ -31,7 +31,7 @@ module PhusionPassenger
31
31
 
32
32
  PACKAGE_NAME = 'passenger'
33
33
  # Run 'rake src/cxx_supportlib/Constants.h configkit_schemas_inline_comments' after changing this number.
34
- VERSION_STRING = '6.0.9'
34
+ VERSION_STRING = '6.0.10'
35
35
 
36
36
  # Tip: find the SHA-256 with ./dev/nginx_version_sha2 <VERSION>
37
37
  PREFERRED_NGINX_VERSION = '1.20.1'
@@ -43,8 +43,8 @@ module PhusionPassenger
43
43
  PACKAGING_NGINX_SHA256_CHECKSUM = 'e462e11533d5c30baa05df7652160ff5979591d291736cfa5edb9fd2edb48c49'
44
44
 
45
45
  # sha256sum of the .tar.gz
46
- PREFERRED_PCRE_VERSION = '8.44'
47
- PCRE_SHA256_CHECKSUM = 'aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728'
46
+ PREFERRED_PCRE_VERSION = '8.45'
47
+ PCRE_SHA256_CHECKSUM = '4e6ce03e0336e8b4a3d6c2b70b1c5e18590a5673a98186da90d4f33c23defc09'
48
48
 
49
49
  STANDALONE_INTERFACE_VERSION = 1
50
50
 
@@ -112,26 +112,28 @@ module PhusionPassenger
112
112
  if os_name_simple == "macosx"
113
113
  # RUBY_PLATFORM gives us the kernel version, but we want
114
114
  # the OS X version.
115
- os_version_string = `sw_vers -productVersion`.strip
116
115
  # sw_vers returns something like "10.6.2". We're only
117
116
  # interested in the first two digits (MAJOR.MINOR) since
118
117
  # tiny releases tend to be binary compatible with each
119
- # other.
120
- components = os_version_string.split(".")
121
- os_version = "#{components[0]}.#{components[1]}"
122
- os_runtime = os_version
123
-
124
- os_arch = cpu_architectures[0]
125
- if os_version >= "10.5" && os_arch =~ /^i.86$/
126
- # On Snow Leopard, 'uname -m' returns i386 but
127
- # we *know* that everything is x86_64 by default.
128
- os_arch = "x86_64"
129
- end
118
+ # other. After macOS 10.15 Apple switched to bumping major
119
+ # versions (like 11.0, 12.0) so we need to look at that.
120
+ # However, if the env var SYSTEM_VERSION_COMPAT=1 then
121
+ # macOS 11 reports as 10.16 (and so on), so we need to deal with that too.
122
+ major, minor, *rest = os_version.split(".").map(&:to_i)
123
+ os_version_string = if major >= 11
124
+ major
125
+ elsif minor >= 16
126
+ # 10.16 -> 11
127
+ # 10.17 -> 12
128
+ minor - 5
129
+ else
130
+ "#{major}.#{minor}"
131
+ end
132
+ os_runtime = os_version_string.to_s
130
133
  else
131
- os_arch = cpu_architectures[0]
132
134
  os_runtime = nil
133
135
  end
134
-
136
+ os_arch = cpu_architectures[0]
135
137
  return [os_arch, os_name_simple, os_runtime].compact.join("-")
136
138
  end
137
139
  memoize :cxx_binary_compatibility_id
@@ -23,11 +23,18 @@
23
23
  # THE SOFTWARE.
24
24
 
25
25
  require 'rbconfig'
26
+ require 'rubygems'
26
27
  PhusionPassenger.require_passenger_lib 'platform_info'
27
28
 
28
29
  module PhusionPassenger
29
30
 
30
31
  module PlatformInfo
32
+ class VersionComparer < String
33
+ def <=>(other)
34
+ Gem::Version.new(self) <=> Gem::Version.new(other.to_s)
35
+ end
36
+ end
37
+
31
38
  # Returns the operating system's name in as simple a form as possible. For example,
32
39
  # Linux is always identified as "linux". OS X is always identified as "macosx" (despite
33
40
  # the actual os name being something like "darwin"). This is useful as a stable indicator
@@ -67,13 +74,13 @@ module PhusionPassenger
67
74
  def self.os_version
68
75
  case os_name_simple
69
76
  when 'macosx'
70
- `/usr/bin/sw_vers -productVersion`.strip.split.last
77
+ VersionComparer.new(`/usr/bin/sw_vers -productVersion`.strip.split.last)
71
78
 
72
79
  when 'linux'
73
80
  # Parse LSB (applicable to e.g. Ubuntu)
74
81
  if read_file('/etc/lsb-release') =~ /DISTRIB_RELEASE=(.+)/
75
- version = $1.gsub(/["']/, '')
76
- return version if !version.empty?
82
+ version = $1.delete(%q['"])
83
+ return VersionComparer.new(version) if !version.empty?
77
84
  end
78
85
 
79
86
  # Parse CentOS/RedHat
@@ -81,11 +88,12 @@ module PhusionPassenger
81
88
  data = read_file('/etc/redhat-release') if data.empty?
82
89
  if !data.empty?
83
90
  data =~ /^(.+?) (Linux )?(release |version )?(.+?)( |$)/i
84
- return $4 if $4
91
+ return VersionComparer.new($4) if $4
85
92
  end
86
93
 
94
+ # Parse Debian
87
95
  if File.exist?('/etc/debian_version')
88
- return read_file('/etc/debian_version').strip
96
+ return VersionComparer.new(read_file('/etc/debian_version').strip)
89
97
  end
90
98
 
91
99
  nil
@@ -142,34 +150,31 @@ module PhusionPassenger
142
150
  # system are thus be x86_64. It is guaranteed that the OS can run x86_64
143
151
  # executables, but not x86 executables per se.
144
152
  #
145
- # Another example: on MacOS X this function can return either
146
- # ["x86_64", "x86"] or ["x86", "x86_64"]. The former result indicates
147
- # OS X 10.6 (Snow Leopard) and beyond because starting from that version
148
- # everything is 64-bit by default. The latter result indicates an OS X
149
- # version older than 10.6.
153
+ # Another example: on MacOS X this function will return some subset of
154
+ # "x86_64", "x86", and "arm".
150
155
  def self.cpu_architectures
151
- uname = uname_command
152
- raise "The 'uname' command cannot be found" if !uname
153
156
  if os_name_simple == "macosx"
154
- arch = `#{uname} -p`.strip
155
- if arch == "i386"
156
- # Macs have been x86 since around 2007. I think all of them come with
157
- # a recent enough Intel CPU that supports both x86 and x86_64, and I
158
- # think every OS X version has both the x86 and x86_64 runtime installed.
159
- major, minor, *rest = `sw_vers -productVersion`.strip.split(".")
160
- major = major.to_i
161
- minor = minor.to_i
162
- if major >= 10 || (major == 10 && minor >= 6)
163
- # Since Snow Leopard x86_64 is the default.
164
- ["x86_64", "x86"]
165
- else
166
- # Before Snow Leopard x86 was the default.
167
- ["x86", "x86_64"]
168
- end
157
+ # Macs were intel from around 2006 until 2022.
158
+ # All but the first 3 Intel Macs' CPUs supported both x86_64 and x86,
159
+ # and every OS X version from 10.4 to 10.14 had both x86 and x86_64 runtimes installed,
160
+ # from 10.15 on x86 was dropped, and from (11/10.16) on arm (aarch64) was added.
161
+ major, minor, *rest = os_version.split(".").map(&:to_i)
162
+ if major >= 11 || (major == 10 && minor >= 16)
163
+ # Since Big Sur aarch64 is supported.
164
+ ["x86_64", "arm"]
165
+ elsif minor == 15
166
+ # Since Catalina x86 is gone.
167
+ ["x86_64"]
168
+ elsif minor >= 6
169
+ # Since Snow Leopard x86_64 is the default on intel macs.
170
+ ["x86_64", "x86"]
169
171
  else
170
- arch
172
+ # Before Snow Leopard x86 was the default.
173
+ ["x86", "x86_64"]
171
174
  end
172
175
  else
176
+ uname = uname_command
177
+ raise "The 'uname' command cannot be found" if !uname
173
178
  arch = `#{uname} -p`.strip
174
179
  # On some systems 'uname -p' returns something like
175
180
  # 'Intel(R) Pentium(R) M processor 1400MHz' or
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: 6.0.9
4
+ version: 6.0.10
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: 2021-06-01 00:00:00.000000000 Z
11
+ date: 2021-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake