Resolves: RHBZ#1953991
Rebase to v16.x Update version of gcc and gcc-c++ needed Remove libs conditionals Remove unused patches Bundle nghttp3 and ngtcp2
This commit is contained in:
		
							parent
							
								
									8ae1d83ebf
								
							
						
					
					
						commit
						6a4405c771
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -14,3 +14,5 @@ | |||||||
| /node-v14.15.0-stripped.tar.gz | /node-v14.15.0-stripped.tar.gz | ||||||
| /node-v14.15.4-stripped.tar.gz | /node-v14.15.4-stripped.tar.gz | ||||||
| /node-v14.16.0-stripped.tar.gz | /node-v14.16.0-stripped.tar.gz | ||||||
|  | /node-v16.1.0-stripped.tar.gz | ||||||
|  | /icu4c-69_1-src.tgz | ||||||
|  | |||||||
| @ -1,86 +0,0 @@ | |||||||
| From 0b315d55b13d098ce8f3e96d501aeb33152a9e00 Mon Sep 17 00:00:00 2001 |  | ||||||
| From: Elliott Sales de Andrade <quantum.analyst@gmail.com> |  | ||||||
| Date: Tue, 19 Mar 2019 23:22:40 -0400 |  | ||||||
| Subject: [PATCH 2/2] Install both binaries and use libdir. |  | ||||||
| 
 |  | ||||||
| This allows us to build with a shared library for other users while |  | ||||||
| still providing the normal executable. |  | ||||||
| 
 |  | ||||||
| Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com> |  | ||||||
| ---
 |  | ||||||
|  configure.py     |  7 +++++++ |  | ||||||
|  tools/install.py | 29 +++++++++++++---------------- |  | ||||||
|  2 files changed, 20 insertions(+), 16 deletions(-) |  | ||||||
| 
 |  | ||||||
| diff --git a/configure.py b/configure.py
 |  | ||||||
| index beb08df0884f7693b6c07d7fb5e85ae7bdcd1d7d..9e364586d4f79322fe53f41915ed7aad0e23a30d 100755
 |  | ||||||
| --- a/configure.py
 |  | ||||||
| +++ b/configure.py
 |  | ||||||
| @@ -582,6 +582,12 @@ parser.add_option('--shared',
 |  | ||||||
|      help='compile shared library for embedding node in another project. ' + |  | ||||||
|           '(This mode is not officially supported for regular applications)') |  | ||||||
|   |  | ||||||
| +parser.add_option('--libdir',
 |  | ||||||
| +    action='store',
 |  | ||||||
| +    dest='libdir',
 |  | ||||||
| +    default='lib',
 |  | ||||||
| +    help='a directory to install the shared library into')
 |  | ||||||
| +
 |  | ||||||
|  parser.add_option('--without-v8-platform', |  | ||||||
|      action='store_true', |  | ||||||
|      dest='without_v8_platform', |  | ||||||
| @@ -1124,6 +1130,7 @@ def configure_node(o):
 |  | ||||||
|    o['variables']['node_no_browser_globals'] = b(options.no_browser_globals) |  | ||||||
|   |  | ||||||
|    o['variables']['node_shared'] = b(options.shared) |  | ||||||
| +  o['variables']['libdir'] = options.libdir
 |  | ||||||
|    node_module_version = getmoduleversion.get_version() |  | ||||||
|   |  | ||||||
|    if options.dest_os == 'android': |  | ||||||
| diff --git a/tools/install.py b/tools/install.py
 |  | ||||||
| index 655802980a6ea94d1d4ca1dc63c8c8e905fbb83a..fe4723bf15012c8aacacb0393dc8294c049b0503 100755
 |  | ||||||
| --- a/tools/install.py
 |  | ||||||
| +++ b/tools/install.py
 |  | ||||||
| @@ -121,26 +121,23 @@ def subdir_files(path, dest, action):
 |  | ||||||
|   |  | ||||||
|  def files(action): |  | ||||||
|    is_windows = sys.platform == 'win32' |  | ||||||
| -  output_file = 'node'
 |  | ||||||
|    output_prefix = 'out/Release/' |  | ||||||
| +  output_libprefix = output_prefix
 |  | ||||||
|   |  | ||||||
| -  if 'false' == variables.get('node_shared'):
 |  | ||||||
| -    if is_windows:
 |  | ||||||
| -      output_file += '.exe'
 |  | ||||||
| +  if is_windows:
 |  | ||||||
| +    output_bin = 'node.exe'
 |  | ||||||
| +    output_lib = 'node.dll'
 |  | ||||||
|    else: |  | ||||||
| -    if is_windows:
 |  | ||||||
| -      output_file += '.dll'
 |  | ||||||
| -    else:
 |  | ||||||
| -      output_file = 'lib' + output_file + '.' + variables.get('shlib_suffix')
 |  | ||||||
| -      # GYP will output to lib.target except on OS X, this is hardcoded
 |  | ||||||
| -      # in its source - see the _InstallableTargetInstallPath function.
 |  | ||||||
| -      if sys.platform != 'darwin':
 |  | ||||||
| -        output_prefix += 'lib.target/'
 |  | ||||||
| +    output_bin = 'node'
 |  | ||||||
| +    output_lib = 'libnode.' + variables.get('shlib_suffix')
 |  | ||||||
| +    # GYP will output to lib.target except on OS X, this is hardcoded
 |  | ||||||
| +    # in its source - see the _InstallableTargetInstallPath function.
 |  | ||||||
| +    if sys.platform != 'darwin':
 |  | ||||||
| +      output_libprefix += 'lib.target/'
 |  | ||||||
|   |  | ||||||
| -  if 'false' == variables.get('node_shared'):
 |  | ||||||
| -    action([output_prefix + output_file], 'bin/' + output_file)
 |  | ||||||
| -  else:
 |  | ||||||
| -    action([output_prefix + output_file], 'lib/' + output_file)
 |  | ||||||
| +  action([output_prefix + output_bin], 'bin/' + output_bin)
 |  | ||||||
| +  if 'true' == variables.get('node_shared'):
 |  | ||||||
| +    action([output_libprefix + output_lib], variables.get('libdir') + '/' + output_lib)
 |  | ||||||
|   |  | ||||||
|    if 'true' == variables.get('node_use_dtrace'): |  | ||||||
|      action(['out/Release/node.d'], 'lib/dtrace/node.d') |  | ||||||
| -- 
 |  | ||||||
| 2.24.1 |  | ||||||
| 
 |  | ||||||
| @ -1,13 +0,0 @@ | |||||||
| diff --git a/deps/npm/node_modules/y18n/index.js b/deps/npm/node_modules/y18n/index.js
 |  | ||||||
| index d720681628..727362aac0 100644
 |  | ||||||
| --- a/deps/npm/node_modules/y18n/index.js
 |  | ||||||
| +++ b/deps/npm/node_modules/y18n/index.js
 |  | ||||||
| @@ -11,7 +11,7 @@ function Y18N (opts) {
 |  | ||||||
|    this.fallbackToLanguage = typeof opts.fallbackToLanguage === 'boolean' ? opts.fallbackToLanguage : true |  | ||||||
|   |  | ||||||
|    // internal stuff. |  | ||||||
| -  this.cache = {}
 |  | ||||||
| +  this.cache = Object.create(null)
 |  | ||||||
|    this.writeQueue = [] |  | ||||||
|  } |  | ||||||
|   |  | ||||||
| @ -171,6 +171,14 @@ echo "nghttp2" | |||||||
| echo "=========================" | echo "=========================" | ||||||
| grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h | grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h | ||||||
| echo | echo | ||||||
|  | echo "nghttp3" | ||||||
|  | echo "=========================" | ||||||
|  | grep "define NGHTTP3_VERSION " node-v${version}/deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h | ||||||
|  | echo | ||||||
|  | echo "ngtcp2" | ||||||
|  | echo "=========================" | ||||||
|  | grep "define NGTCP2_VERSION " node-v${version}/deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h | ||||||
|  | echo | ||||||
| echo "ICU" | echo "ICU" | ||||||
| echo "=========================" | echo "=========================" | ||||||
| grep "url" node-v${version}/tools/icu/current_ver.dep | grep "url" node-v${version}/tools/icu/current_ver.dep | ||||||
|  | |||||||
							
								
								
									
										227
									
								
								nodejs.spec
									
									
									
									
									
								
							
							
						
						
									
										227
									
								
								nodejs.spec
									
									
									
									
									
								
							| @ -1,5 +1,4 @@ | |||||||
| %global with_debug 0 | %global with_debug 0 | ||||||
| %global with_libs 0 |  | ||||||
| 
 | 
 | ||||||
| # PowerPC, s390x and aarch64 segfault during Debug builds | # PowerPC, s390x and aarch64 segfault during Debug builds | ||||||
| # https://github.com/nodejs/node/issues/20642 | # https://github.com/nodejs/node/issues/20642 | ||||||
| @ -15,7 +14,7 @@ | |||||||
| # This is used by both the nodejs package and the npm subpackage thar | # This is used by both the nodejs package and the npm subpackage thar | ||||||
| # has a separate version - the name is special so that rpmdev-bumpspec | # has a separate version - the name is special so that rpmdev-bumpspec | ||||||
| # will bump this rather than adding .1 to the end. | # will bump this rather than adding .1 to the end. | ||||||
| %global baserelease 2 | %global baserelease 1 | ||||||
| 
 | 
 | ||||||
| %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} | %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} | ||||||
| 
 | 
 | ||||||
| @ -25,14 +24,12 @@ | |||||||
| # feature releases that are only supported for nine months, which is shorter | # feature releases that are only supported for nine months, which is shorter | ||||||
| # than a Fedora release lifecycle. | # than a Fedora release lifecycle. | ||||||
| %global nodejs_epoch 1 | %global nodejs_epoch 1 | ||||||
| %global nodejs_major 14 | %global nodejs_major 16 | ||||||
| %global nodejs_minor 16 | %global nodejs_minor 1 | ||||||
| %global nodejs_patch 0 | %global nodejs_patch 0 | ||||||
| %global nodejs_abi %{nodejs_major}.%{nodejs_minor} | %global nodejs_abi %{nodejs_major}.%{nodejs_minor} | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h | # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h | ||||||
| %global nodejs_soversion 83 | %global nodejs_soversion 93 | ||||||
| %endif |  | ||||||
| %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} | %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} | ||||||
| %global nodejs_release %{baserelease} | %global nodejs_release %{baserelease} | ||||||
| 
 | 
 | ||||||
| @ -42,10 +39,10 @@ | |||||||
| # v8 - from deps/v8/include/v8-version.h | # v8 - from deps/v8/include/v8-version.h | ||||||
| # Epoch is set to ensure clean upgrades from the old v8 package | # Epoch is set to ensure clean upgrades from the old v8 package | ||||||
| %global v8_epoch 2 | %global v8_epoch 2 | ||||||
| %global v8_major 8 | %global v8_major 9 | ||||||
| %global v8_minor 4 | %global v8_minor 0 | ||||||
| %global v8_build 371 | %global v8_build 257 | ||||||
| %global v8_patch 19 | %global v8_patch 24 | ||||||
| # V8 presently breaks ABI at least every x.y release while never bumping SONAME | # V8 presently breaks ABI at least every x.y release while never bumping SONAME | ||||||
| %global v8_abi %{v8_major}.%{v8_minor} | %global v8_abi %{v8_major}.%{v8_minor} | ||||||
| %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} | %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} | ||||||
| @ -54,14 +51,14 @@ | |||||||
| # c-ares - from deps/cares/include/ares_version.h | # c-ares - from deps/cares/include/ares_version.h | ||||||
| # https://github.com/nodejs/node/pull/9332 | # https://github.com/nodejs/node/pull/9332 | ||||||
| %global c_ares_major 1 | %global c_ares_major 1 | ||||||
| %global c_ares_minor 16 | %global c_ares_minor 17 | ||||||
| %global c_ares_patch 1 | %global c_ares_patch 1 | ||||||
| %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} | %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} | ||||||
| 
 | 
 | ||||||
| # llhttp - from deps/llhttp/include/llhttp.h | # llhttp - from deps/llhttp/include/llhttp.h | ||||||
| %global llhttp_major 2 | %global llhttp_major 6 | ||||||
| %global llhttp_minor 1 | %global llhttp_minor 0 | ||||||
| %global llhttp_patch 3 | %global llhttp_patch 1 | ||||||
| %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch} | %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch} | ||||||
| 
 | 
 | ||||||
| # libuv - from deps/uv/include/uv/version.h | # libuv - from deps/uv/include/uv/version.h | ||||||
| @ -76,8 +73,20 @@ | |||||||
| %global nghttp2_patch 0 | %global nghttp2_patch 0 | ||||||
| %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch} | %global nghttp2_version %{nghttp2_major}.%{nghttp2_minor}.%{nghttp2_patch} | ||||||
| 
 | 
 | ||||||
|  | # nghttp3 - from deps/ngtcp2/nghttp3/lib/includes/nghttp3/version.h | ||||||
|  | %global nghttp3_major 0 | ||||||
|  | %global nghttp3_minor 1 | ||||||
|  | %global nghttp3_patch 0-DEV | ||||||
|  | %global nghttp3_version %{nghttp3_major}.%{nghttp3_minor}.%{nghttp3_patch}  | ||||||
|  | 
 | ||||||
|  | # ngtcp2 from deps/ngtcp2/ngtcp2/lib/includes/ngtcp2/version.h | ||||||
|  | %global ngtcp2_major 0 | ||||||
|  | %global ngtcp2_minor 1 | ||||||
|  | %global ngtcp2_patch 0-DEV | ||||||
|  | %global ngtcp2_version %{ngtcp2_major}.%{ngtcp2_minor}.%{ngtcp2_patch} | ||||||
|  | 
 | ||||||
| # ICU - from tools/icu/current_ver.dep | # ICU - from tools/icu/current_ver.dep | ||||||
| %global icu_major 67 | %global icu_major 69 | ||||||
| %global icu_minor 1 | %global icu_minor 1 | ||||||
| %global icu_version %{icu_major}.%{icu_minor} | %global icu_version %{icu_major}.%{icu_minor} | ||||||
| 
 | 
 | ||||||
| @ -108,9 +117,9 @@ | |||||||
| 
 | 
 | ||||||
| # npm - from deps/npm/package.json | # npm - from deps/npm/package.json | ||||||
| %global npm_epoch 1 | %global npm_epoch 1 | ||||||
| %global npm_major 6 | %global npm_major 7 | ||||||
| %global npm_minor 14 | %global npm_minor 11 | ||||||
| %global npm_patch 11 | %global npm_patch 2 | ||||||
| %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} | %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} | ||||||
| 
 | 
 | ||||||
| # uvwasi - from deps/uvwasi/include/uvwasi.h | # uvwasi - from deps/uvwasi/include/uvwasi.h | ||||||
| @ -160,36 +169,27 @@ Source7: nodejs_native.attr | |||||||
| # Disable running gyp on bundled deps we don't use | # Disable running gyp on bundled deps we don't use | ||||||
| Patch1: 0001-Disable-running-gyp-on-shared-deps.patch | Patch1: 0001-Disable-running-gyp-on-shared-deps.patch | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| # Patch to install both node and libnode.so, using the correct libdir |  | ||||||
| Patch2: 0002-Install-both-binaries-and-use-libdir.patch |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| # RHBZ#1915296 - yarn install crashes with nodejs:14 on aarch64  | # RHBZ#1915296 - yarn install crashes with nodejs:14 on aarch64  | ||||||
| Patch3: 0003-yarn-not-installable-on-aarch64.patch | # Patch3: 0003-yarn-not-installable-on-aarch64.patch | ||||||
| 
 |  | ||||||
| # CVE-2020-7774 |  | ||||||
| Patch4: 0004-CVE-2020-7774-nodejs-y18n-prototype-pollution-vulnerability.patch |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
| BuildRequires: make | BuildRequires: make | ||||||
| BuildRequires: python3-devel | BuildRequires: python3-devel | ||||||
| BuildRequires: zlib-devel | BuildRequires: zlib-devel | ||||||
| BuildRequires: brotli-devel | BuildRequires: brotli-devel | ||||||
| BuildRequires: gcc >= 6.3.0 | BuildRequires: gcc >= 8.3.0 | ||||||
| BuildRequires: gcc-c++ >= 6.3.0 | BuildRequires: gcc-c++ >= 8.3.0 | ||||||
| # needed to generate bundled provides for npm dependencies | # needed to generate bundled provides for npm dependencies | ||||||
| # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 | # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 | ||||||
| # https://pagure.io/nodejs-packaging/pull-request/10 | # https://pagure.io/nodejs-packaging/pull-request/10 | ||||||
| BuildRequires: nodejs-packaging | BuildRequires: nodejs-packaging | ||||||
| BuildRequires: chrpath | BuildRequires: chrpath | ||||||
| BuildRequires: libatomic | BuildRequires: libatomic | ||||||
|  | BuildRequires: systemtap-sdt-devel | ||||||
| 
 | 
 | ||||||
| %if %{with bootstrap} | %if %{with bootstrap} | ||||||
| Provides: bundled(libuv) = %{libuv_version} | Provides: bundled(libuv) = %{libuv_version} | ||||||
| Provides: bundled(nghttp2) = %{nghttp2_version} | Provides: bundled(nghttp2) = %{nghttp2_version} | ||||||
| %else | %else | ||||||
| BuildRequires: systemtap-sdt-devel |  | ||||||
| BuildRequires: libuv-devel >= 1:%{libuv_version} | BuildRequires: libuv-devel >= 1:%{libuv_version} | ||||||
| Requires: libuv >= 1:%{libuv_version} | Requires: libuv >= 1:%{libuv_version} | ||||||
| BuildRequires: libnghttp2-devel >= %{nghttp2_version} | BuildRequires: libnghttp2-devel >= %{nghttp2_version} | ||||||
| @ -199,6 +199,8 @@ Requires: libnghttp2 >= %{nghttp2_version} | |||||||
| # Temporarily bundle llhttp because the upstream doesn't | # Temporarily bundle llhttp because the upstream doesn't | ||||||
| # provide releases for it. | # provide releases for it. | ||||||
| Provides: bundled(llhttp) = %{llhttp_version} | Provides: bundled(llhttp) = %{llhttp_version} | ||||||
|  | Provides: bundled(nghttp3) = %{nghttp3_version} | ||||||
|  | Provides: bundled(ngtcp2) = %{ngtcp2_version} | ||||||
| 
 | 
 | ||||||
| BuildRequires: openssl-devel >= %{openssl_minimum} | BuildRequires: openssl-devel >= %{openssl_minimum} | ||||||
| Requires: openssl >= %{openssl_minimum} | Requires: openssl >= %{openssl_minimum} | ||||||
| @ -206,10 +208,6 @@ Requires: openssl >= %{openssl_minimum} | |||||||
| # we need the system certificate store | # we need the system certificate store | ||||||
| Requires: ca-certificates | Requires: ca-certificates | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| # Pull in the full-icu data by default | # Pull in the full-icu data by default | ||||||
| Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} | Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release} | ||||||
| 
 | 
 | ||||||
| @ -297,31 +295,6 @@ Requires: libuv-devel%{?_isa} | |||||||
| Development headers for the Node.js JavaScript runtime. | Development headers for the Node.js JavaScript runtime. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| %package libs |  | ||||||
| Summary: Node.js and v8 libraries |  | ||||||
| 
 |  | ||||||
| # Compatibility for obsolete v8 package |  | ||||||
| %if 0%{?__isa_bits} == 64 |  | ||||||
| Provides: libv8.so.%{v8_major}()(64bit) |  | ||||||
| Provides: libv8_libbase.so.%{v8_major}()(64bit) |  | ||||||
| Provides: libv8_libplatform.so.%{v8_major}()(64bit) |  | ||||||
| %else |  | ||||||
| # 32-bits |  | ||||||
| Provides: libv8.so.%{v8_major} |  | ||||||
| Provides: libv8_libbase.so.%{v8_major} |  | ||||||
| Provides: libv8_libplatform.so.%{v8_major} |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist} |  | ||||||
| Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist} |  | ||||||
| Obsoletes: v8 < 1:6.7.17-10 |  | ||||||
| 
 |  | ||||||
| %description libs |  | ||||||
| Libraries to support Node.js and provide stable v8 interfaces. |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| %package full-i18n | %package full-i18n | ||||||
| Summary: Non-English locale data for Node.js | Summary: Non-English locale data for Node.js | ||||||
| Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} | Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} | ||||||
| @ -331,19 +304,6 @@ Optional data files to provide full-icu support for Node.js. Remove this | |||||||
| package to save space if non-English locales are not needed. | package to save space if non-English locales are not needed. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| %package -n v8-devel |  | ||||||
| Summary: v8 - development headers |  | ||||||
| Epoch: %{v8_epoch} |  | ||||||
| Version: %{v8_version} |  | ||||||
| Release: %{v8_release}%{?dist} |  | ||||||
| Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist} |  | ||||||
| 
 |  | ||||||
| %description -n v8-devel |  | ||||||
| Development headers for the v8 runtime. |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| %package -n npm | %package -n npm | ||||||
| Summary: Node.js Package Manager | Summary: Node.js Package Manager | ||||||
| Epoch: %{npm_epoch} | Epoch: %{npm_epoch} | ||||||
| @ -433,39 +393,13 @@ export CXXFLAGS="$(echo ${CXXFLAGS} | tr '\n\\' '  ')" | |||||||
| 
 | 
 | ||||||
| export LDFLAGS="%{build_ldflags}" | export LDFLAGS="%{build_ldflags}" | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| %if %{with bootstrap} | %if %{with bootstrap} | ||||||
| %{__python3} configure.py --prefix=%{_prefix} \ | %{__python3} configure.py --prefix=%{_prefix} \ | ||||||
|            --shared \ |  | ||||||
|            --libdir=%{_lib} \ |  | ||||||
|            --shared-openssl \ |            --shared-openssl \ | ||||||
|            --shared-zlib \ |            --shared-zlib \ | ||||||
|            --shared-brotli \ |            --shared-brotli \ | ||||||
|            --without-dtrace \ |  | ||||||
|            --with-intl=small-icu \ |  | ||||||
|            --openssl-use-def-ca-store |  | ||||||
| %else |  | ||||||
| %{__python3} configure.py --prefix=%{_prefix} \ |  | ||||||
|            --shared \ |  | ||||||
|            --libdir=%{_lib} \ |  | ||||||
|            --shared-openssl \ |  | ||||||
|            --shared-zlib \ |  | ||||||
|            --shared-brotli \ |  | ||||||
|            --shared-libuv \ |  | ||||||
|            --shared-nghttp2 \ |  | ||||||
|            --with-dtrace \ |            --with-dtrace \ | ||||||
|            --with-intl=small-icu \ |            --with-intl=small-icu \ | ||||||
|            --with-icu-default-data-dir=%{icudatadir} \ |  | ||||||
|            --openssl-use-def-ca-store |  | ||||||
| %endif |  | ||||||
| %else |  | ||||||
| %if %{with bootstrap} |  | ||||||
| %{__python3} configure.py --prefix=%{_prefix} \ |  | ||||||
|            --shared-openssl \ |  | ||||||
|            --shared-zlib \ |  | ||||||
|            --shared-brotli \ |  | ||||||
|            --without-dtrace \ |  | ||||||
|            --with-intl=small-icu \ |  | ||||||
|            --openssl-use-def-ca-store |            --openssl-use-def-ca-store | ||||||
| %else | %else | ||||||
| %{__python3} configure.py --prefix=%{_prefix} \ | %{__python3} configure.py --prefix=%{_prefix} \ | ||||||
| @ -479,7 +413,6 @@ export LDFLAGS="%{build_ldflags}" | |||||||
|            --with-icu-default-data-dir=%{icudatadir} \ |            --with-icu-default-data-dir=%{icudatadir} \ | ||||||
|            --openssl-use-def-ca-store |            --openssl-use-def-ca-store | ||||||
| %endif | %endif | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %if %{?with_debug} == 1 | %if %{?with_debug} == 1 | ||||||
| # Setting BUILDTYPE=Debug builds both release and debug binaries | # Setting BUILDTYPE=Debug builds both release and debug binaries | ||||||
| @ -532,22 +465,6 @@ chrpath --delete %{buildroot}%{_bindir}/node | |||||||
| install -Dpm0755 out/Debug/node %{buildroot}/%{_bindir}/node_g | install -Dpm0755 out/Debug/node %{buildroot}/%{_bindir}/node_g | ||||||
| %endif | %endif | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| # Install library symlink |  | ||||||
| ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/libnode.so |  | ||||||
| 
 |  | ||||||
| # Install v8 compatibility symlinks |  | ||||||
| for header in %{buildroot}%{_includedir}/node/libplatform %{buildroot}%{_includedir}/node/v8*.h; do |  | ||||||
|     header=$(basename ${header}) |  | ||||||
|     ln -s %{_includedir}/node/${header} %{buildroot}%{_includedir}/${header} |  | ||||||
| done |  | ||||||
| ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc |  | ||||||
| for soname in libv8 libv8_libbase libv8_libplatform; do |  | ||||||
|     ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so |  | ||||||
|     ln -s %{_libdir}/libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major} |  | ||||||
| done |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| # own the sitelib directory | # own the sitelib directory | ||||||
| mkdir -p %{buildroot}%{_prefix}/lib/node_modules | mkdir -p %{buildroot}%{_prefix}/lib/node_modules | ||||||
| 
 | 
 | ||||||
| @ -602,7 +519,7 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ | |||||||
|     -exec chmod -x {} \; |     -exec chmod -x {} \; | ||||||
| 
 | 
 | ||||||
| # The above command is a little overzealous. Add a few permissions back. | # The above command is a little overzealous. Add a few permissions back. | ||||||
| chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp | chmod 0775 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp | ||||||
| chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js | chmod 0755 %{buildroot}%{_prefix}/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js | ||||||
| 
 | 
 | ||||||
| # Drop the NPM default configuration in place | # Drop the NPM default configuration in place | ||||||
| @ -619,18 +536,6 @@ install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/* | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %check | %check | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| # Fail the build if the versions don't match |  | ||||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" |  | ||||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')" |  | ||||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.ares.replace(/-DEV$/, ''), '%{c_ares_version}')" |  | ||||||
| 
 |  | ||||||
| # Ensure we have punycode and that the version matches |  | ||||||
| LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"punycode\").version, '%{punycode_version}')" |  | ||||||
| 
 |  | ||||||
| # Ensure we have npm and that the version matches |  | ||||||
| NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"npm\").version, '%{npm_version}')" |  | ||||||
| %else |  | ||||||
| # Fail the build if the versions don't match | # Fail the build if the versions don't match | ||||||
| %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" | %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.node, '%{nodejs_version}')" | ||||||
| %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')" | %{buildroot}/%{_bindir}/node -e "require('assert').equal(process.versions.v8.replace(/-node\.\d+$/, ''), '%{v8_version}')" | ||||||
| @ -641,7 +546,6 @@ NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/nod | |||||||
| 
 | 
 | ||||||
| # Ensure we have npm and that the version matches | # Ensure we have npm and that the version matches | ||||||
| NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"npm\").version, '%{npm_version}')" | NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"npm\").version, '%{npm_version}')" | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| # Make sure i18n support is working | # Make sure i18n support is working | ||||||
| NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} | NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node --icu-data-dir=%{buildroot}%{icudatadir} %{SOURCE2} | ||||||
| @ -711,26 +615,6 @@ if st and st.type == "directory" then | |||||||
| end | end | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| %pretrans -n v8-devel -p <lua> |  | ||||||
| -- Replace the v8 libplatform include directory with a symlink |  | ||||||
| -- Drop this scriptlet when F30 is EOL |  | ||||||
| path = "%{_includedir}/libplatform" |  | ||||||
| st = posix.stat(path) |  | ||||||
| if st and st.type == "directory" then |  | ||||||
|   status = os.rename(path, path .. ".rpmmoved") |  | ||||||
|   if not status then |  | ||||||
|     suffix = 0 |  | ||||||
|     while not status do |  | ||||||
|       suffix = suffix + 1 |  | ||||||
|       status = os.rename(path .. ".rpmmoved", path .. ".rpmmoved." .. suffix) |  | ||||||
|     end |  | ||||||
|     os.rename(path, path .. ".rpmmoved") |  | ||||||
|   end |  | ||||||
| end |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| %files | %files | ||||||
| %{_bindir}/node | %{_bindir}/node | ||||||
| %dir %{_prefix}/lib/node_modules | %dir %{_prefix}/lib/node_modules | ||||||
| @ -739,12 +623,8 @@ end | |||||||
| %dir %{_datadir}/systemtap/tapset | %dir %{_datadir}/systemtap/tapset | ||||||
| %{_datadir}/systemtap/tapset/node.stp | %{_datadir}/systemtap/tapset/node.stp | ||||||
| 
 | 
 | ||||||
| %if %{with bootstrap} |  | ||||||
| # no dtrace |  | ||||||
| %else |  | ||||||
| %dir %{_usr}/lib/dtrace | %dir %{_usr}/lib/dtrace | ||||||
| %{_usr}/lib/dtrace/node.d | %{_usr}/lib/dtrace/node.d | ||||||
| %endif |  | ||||||
| 
 | 
 | ||||||
| %{_rpmconfigdir}/fileattrs/nodejs_native.attr | %{_rpmconfigdir}/fileattrs/nodejs_native.attr | ||||||
| %{_rpmconfigdir}/nodejs_native.req | %{_rpmconfigdir}/nodejs_native.req | ||||||
| @ -758,9 +638,6 @@ end | |||||||
| %{_bindir}/node_g | %{_bindir}/node_g | ||||||
| %endif | %endif | ||||||
| %{_includedir}/node | %{_includedir}/node | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| %{_libdir}/libnode.so |  | ||||||
| %endif |  | ||||||
| %{_datadir}/node/common.gypi | %{_datadir}/node/common.gypi | ||||||
| %{_pkgdocdir}/gdbinit | %{_pkgdocdir}/gdbinit | ||||||
| 
 | 
 | ||||||
| @ -770,26 +647,6 @@ end | |||||||
| %{icudatadir}/icudt%{icu_major}*.dat | %{icudatadir}/icudt%{icu_major}*.dat | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %if %{?with_libs} == 1 |  | ||||||
| %files libs |  | ||||||
| %{_libdir}/libnode.so.%{nodejs_soversion} |  | ||||||
| %{_libdir}/libv8.so.%{v8_major} |  | ||||||
| %{_libdir}/libv8_libbase.so.%{v8_major} |  | ||||||
| %{_libdir}/libv8_libplatform.so.%{v8_major} |  | ||||||
| %dir %{nodejs_datadir}/ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| %files -n v8-devel |  | ||||||
| %{_includedir}/libplatform |  | ||||||
| %{_includedir}/v8*.h |  | ||||||
| %{_includedir}/cppgc |  | ||||||
| %{_libdir}/libv8.so |  | ||||||
| %{_libdir}/libv8_libbase.so |  | ||||||
| %{_libdir}/libv8_libplatform.so |  | ||||||
| %ghost %{_includedir}/libplatform.rpmmoved |  | ||||||
| %endif |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| %files -n npm | %files -n npm | ||||||
| %{_bindir}/npm | %{_bindir}/npm | ||||||
| %{_bindir}/npx | %{_bindir}/npx | ||||||
| @ -804,17 +661,15 @@ end | |||||||
| %doc %{_mandir}/man5/npmrc.5* | %doc %{_mandir}/man5/npmrc.5* | ||||||
| %doc %{_mandir}/man5/package-json.5* | %doc %{_mandir}/man5/package-json.5* | ||||||
| %doc %{_mandir}/man5/package-lock-json.5* | %doc %{_mandir}/man5/package-lock-json.5* | ||||||
| %doc %{_mandir}/man5/package-locks.5* | %doc %{_mandir}/man5/npm-shrinkwrap-json.5* | ||||||
| %doc %{_mandir}/man5/shrinkwrap-json.5* |  | ||||||
| %doc %{_mandir}/man7/config.7* | %doc %{_mandir}/man7/config.7* | ||||||
| %doc %{_mandir}/man7/developers.7* | %doc %{_mandir}/man7/developers.7* | ||||||
| %doc %{_mandir}/man7/disputes.7* |  | ||||||
| %doc %{_mandir}/man7/orgs.7* | %doc %{_mandir}/man7/orgs.7* | ||||||
| %doc %{_mandir}/man7/registry.7* | %doc %{_mandir}/man7/registry.7* | ||||||
| %doc %{_mandir}/man7/removal.7* | %doc %{_mandir}/man7/removal.7* | ||||||
| %doc %{_mandir}/man7/scope.7* | %doc %{_mandir}/man7/scope.7* | ||||||
| %doc %{_mandir}/man7/scripts.7* | %doc %{_mandir}/man7/scripts.7* | ||||||
| %doc %{_mandir}/man7/semver.7* | %doc %{_mandir}/man7/workspaces.7* | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %files docs | %files docs | ||||||
| @ -825,6 +680,14 @@ end | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue May 11 2021 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:16.1.0-1 | ||||||
|  | - Resolves: RHBZ#1953991 | ||||||
|  | - Rebase to v16.x | ||||||
|  | - Update version of gcc and gcc-c++ needed | ||||||
|  | - Remove libs conditionals | ||||||
|  | - Remove unused patches | ||||||
|  | - Bundle nghttp3 and ngtcp2 | ||||||
|  | 
 | ||||||
| * Mon Mar 01 2021 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:14.16.0-2 | * Mon Mar 01 2021 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:14.16.0-2 | ||||||
| - Resolves RHBZ#1930775 | - Resolves RHBZ#1930775 | ||||||
| - remove --debug-nghttp2 option | - remove --debug-nghttp2 option | ||||||
|  | |||||||
							
								
								
									
										4
									
								
								sources
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								sources
									
									
									
									
									
								
							| @ -1,2 +1,2 @@ | |||||||
| SHA512 (node-v14.16.0-stripped.tar.gz) = 57e761f5584f9239aaf6a77426578608fd8ab9a02ed6f676102dbf2aa7c914221800526e98839a5e4eaefe3e24810b24d70392caacb23c307e99208aa61b4663 | SHA512 (node-v16.1.0-stripped.tar.gz) = ab080a098b7c24866a9f7e39b026672d517efad5e8c17b44349c0e343a4121ca305bb470d89e28352e64a81ae88aa94de265c8c40c26db260c5053470ef6f610 | ||||||
| SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8 | SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user