passenger 6.0.9 → 6.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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