Rebase + CVEs
This commit is contained in:
parent
ff9422b100
commit
eaec3dd901
@ -0,0 +1,31 @@
|
||||
From 9872b897d6a9a39e3392c39bca70cfd9dd084558 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Mon, 26 Sep 2022 16:02:39 +0200
|
||||
Subject: [PATCH] install: keep installing dtrace and systemtap files
|
||||
|
||||
Partly reverts commit e27e709d3ca93b3e7036ddc4f4d28dfde228bfb6.
|
||||
|
||||
Signed-off-by: rpm-build <rpm-build>
|
||||
---
|
||||
tools/install.py | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/tools/install.py b/tools/install.py
|
||||
index 4b01d67..dc16797 100755
|
||||
--- a/tools/install.py
|
||||
+++ b/tools/install.py
|
||||
@@ -178,6 +178,11 @@ def files(action):
|
||||
output_lib = 'libnode.' + variables.get('shlib_suffix')
|
||||
action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib)
|
||||
|
||||
+ if 'true' == variables.get('node_use_dtrace'):
|
||||
+ action(['out/Release/node.d'], variables.get('libdir') + '/dtrace/node.d')
|
||||
+
|
||||
+ action(['src/node.stp'], 'share/systemtap/tapset/')
|
||||
+
|
||||
action(['deps/v8/tools/gdbinit'], 'share/doc/node/')
|
||||
action(['deps/v8/tools/lldb_commands.py'], 'share/doc/node/')
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
116
nodejs.spec
116
nodejs.spec
@ -41,7 +41,7 @@
|
||||
# than a Fedora release lifecycle.
|
||||
%global nodejs_epoch 1
|
||||
%global nodejs_major 16
|
||||
%global nodejs_minor 17
|
||||
%global nodejs_minor 18
|
||||
%global nodejs_patch 1
|
||||
%global nodejs_abi %{nodejs_major}.%{nodejs_minor}
|
||||
# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h
|
||||
@ -69,7 +69,7 @@
|
||||
%global c_ares_version 1.18.1
|
||||
|
||||
# llhttp - from deps/llhttp/include/llhttp.h
|
||||
%global llhttp_version 6.0.9
|
||||
%global llhttp_version 6.0.10
|
||||
|
||||
# libuv - from deps/uv/include/uv/version.h
|
||||
%global libuv_version 1.43.0
|
||||
@ -79,14 +79,14 @@
|
||||
|
||||
# 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_minor 7
|
||||
%global nghttp3_patch 0
|
||||
%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_minor 8
|
||||
%global ngtcp2_patch 1
|
||||
%global ngtcp2_version %{ngtcp2_major}.%{ngtcp2_minor}.%{ngtcp2_patch}
|
||||
|
||||
# ICU - from tools/icu/current_ver.dep
|
||||
@ -118,7 +118,7 @@
|
||||
|
||||
# npm - from deps/npm/package.json
|
||||
%global npm_epoch 1
|
||||
%global npm_version 8.15.0
|
||||
%global npm_version 8.19.2
|
||||
|
||||
# In order to avoid needing to keep incrementing the release version for the
|
||||
# main package forever, we will just construct one for npm that is guaranteed
|
||||
@ -127,10 +127,10 @@
|
||||
%global npm_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
|
||||
|
||||
# uvwasi - from deps/uvwasi/include/uvwasi.h
|
||||
%global uvwasi_version 0.0.12
|
||||
%global uvwasi_version 0.0.13
|
||||
|
||||
# histogram_c - assumed from timestamps
|
||||
%global histogram_version 0.9.7
|
||||
%global histogram_version 0.11.2
|
||||
|
||||
Name: nodejs
|
||||
Epoch: %{nodejs_epoch}
|
||||
@ -172,16 +172,14 @@ Source102: https://github.com/WebAssembly/wasi-sdk/archive/wasi-sdk-11/wasi-sdk-
|
||||
# Version: jq '.version' deps/undici/src/package.json
|
||||
# Original: https://github.com/nodejs/undici/archive/refs/tags/v5.8.0.tar.gz
|
||||
# Adjustments: rm -f undici-5.8.0/lib/llhttp/llhttp*.wasm*
|
||||
Source111: undici-5.8.0.tar.gz
|
||||
Source111: undici-5.9.1.tar.gz
|
||||
# The WASM blob was made using wasi-sdk v14; compiler libraries are linked in.
|
||||
# Version source: build/Dockerfile
|
||||
Source112: https://github.com/WebAssembly/wasi-sdk/archive/wasi-sdk-14/wasi-sdk-wasi-sdk-14.tar.gz
|
||||
|
||||
# Disable running gyp on bundled deps we don't use
|
||||
Patch1: 0001-Disable-running-gyp-on-shared-deps.patch
|
||||
|
||||
# Patch to install both node and libnode.so, using the correct libdir
|
||||
Patch2: 0002-Install-both-binaries-and-use-libdir.patch
|
||||
Patch2: 0002-install-keep-installing-dtrace-and-systemtap-files.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: python3-devel
|
||||
@ -229,8 +227,6 @@ Requires: openssl >= %{openssl_minimum}
|
||||
# we need the system certificate store
|
||||
Requires: ca-certificates
|
||||
|
||||
Requires: nodejs-libs%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
|
||||
|
||||
# Pull in the full-icu data by default
|
||||
Recommends: nodejs-full-i18n%{?_isa} = %{nodejs_epoch}:%{version}-%{release}
|
||||
|
||||
@ -316,29 +312,6 @@ Requires: libuv-devel%{?_isa}
|
||||
Development headers for the Node.js JavaScript runtime.
|
||||
|
||||
|
||||
%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.
|
||||
|
||||
|
||||
%package full-i18n
|
||||
Summary: Non-English locale data for Node.js
|
||||
Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
|
||||
@ -348,17 +321,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 -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.
|
||||
|
||||
|
||||
%package -n npm
|
||||
Summary: Node.js Package Manager
|
||||
Epoch: %{npm_epoch}
|
||||
@ -446,14 +408,12 @@ export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cfl
|
||||
export LDFLAGS="%{build_ldflags}"
|
||||
|
||||
%{__python3} configure.py --prefix=%{_prefix} \
|
||||
--shared \
|
||||
--libdir=%{_lib} \
|
||||
--shared-openssl \
|
||||
--shared-zlib \
|
||||
--shared-brotli \
|
||||
%{!?with_bundled:--shared-libuv} \
|
||||
%{!?with_bundled:--shared-nghttp2} \
|
||||
--with-dtrace \
|
||||
%{?with_bundled:--without-dtrace}%{!?with_bundled:--with-dtrace} \
|
||||
--with-intl=small-icu \
|
||||
--with-icu-default-data-dir=%{icudatadir} \
|
||||
--without-corepack \
|
||||
@ -501,20 +461,6 @@ rm -rf %{buildroot}
|
||||
chmod 0755 %{buildroot}/%{_bindir}/node
|
||||
chrpath --delete %{buildroot}%{_bindir}/node
|
||||
|
||||
# Install library symlink
|
||||
ln -s 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 ./node/${header} %{buildroot}%{_includedir}/${header}
|
||||
done
|
||||
ln -s ./node/cppgc %{buildroot}%{_includedir}/cppgc
|
||||
for soname in libv8 libv8_libbase libv8_libplatform; do
|
||||
ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so
|
||||
ln -s libnode.so.%{nodejs_soversion} %{buildroot}%{_libdir}/${soname}.so.%{v8_major}
|
||||
done
|
||||
|
||||
# own the sitelib directory
|
||||
mkdir -p %{buildroot}%{_prefix}/lib/node_modules
|
||||
|
||||
@ -587,15 +533,15 @@ install -Dpm0644 -t %{buildroot}%{icudatadir} deps/icu/source/converted/*
|
||||
|
||||
%check
|
||||
# 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}')"
|
||||
%{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.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}')"
|
||||
%{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(require(\"punycode\").version, '%{punycode_version}')"
|
||||
|
||||
# Ensure we have npm and that the version matches
|
||||
LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}%{_bindir}/node %{buildroot}%{_bindir}/npm version --json |jq -e '.npm == "%{npm_version}"'
|
||||
NODE_PATH=%{buildroot}%{_prefix}/lib/node_modules:%{buildroot}%{_prefix}/lib/node_modules/npm/node_modules %{buildroot}/%{_bindir}/node -e "require(\"assert\").equal(JSON.parse(require(\"fs\").readFileSync(\"%{buildroot}%{_prefix}/lib/node_modules/npm/package.json\")).version, '%{npm_version}')"
|
||||
|
||||
# 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}
|
||||
@ -627,18 +573,20 @@ end
|
||||
%dir %{_datadir}/systemtap/tapset
|
||||
%{_datadir}/systemtap/tapset/node.stp
|
||||
|
||||
%if %{without bundled}
|
||||
%dir %{_usr}/lib/dtrace
|
||||
%{_usr}/lib/dtrace/node.d
|
||||
%endif
|
||||
|
||||
%{_rpmconfigdir}/fileattrs/nodejs_native.attr
|
||||
%{_rpmconfigdir}/nodejs_native.req
|
||||
%license LICENSE
|
||||
%doc AUTHORS CHANGELOG.md onboarding.md GOVERNANCE.md README.md
|
||||
%doc %{_mandir}/man1/node.1*
|
||||
|
||||
|
||||
%files devel
|
||||
%{_includedir}/node
|
||||
%{_libdir}/libnode.so
|
||||
%{_datadir}/node/common.gypi
|
||||
%{_pkgdocdir}/gdbinit
|
||||
|
||||
@ -648,24 +596,6 @@ end
|
||||
%{icudatadir}/icudt%{icu_major}*.dat
|
||||
|
||||
|
||||
%files libs
|
||||
%license LICENSE
|
||||
%{_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
|
||||
|
||||
|
||||
%files -n npm
|
||||
%{_bindir}/npm
|
||||
%{_bindir}/npx
|
||||
@ -682,6 +612,7 @@ end
|
||||
%doc %{_mandir}/man5/package-lock-json.5*
|
||||
%doc %{_mandir}/man5/npm-shrinkwrap-json.5*
|
||||
%doc %{_mandir}/man7/config.7*
|
||||
%doc %{_mandir}/man7/dependency-selectors.7*
|
||||
%doc %{_mandir}/man7/developers.7*
|
||||
%doc %{_mandir}/man7/logging.7*
|
||||
%doc %{_mandir}/man7/orgs.7*
|
||||
@ -701,6 +632,11 @@ end
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Nov 16 2022 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:16.18.1-1
|
||||
- Rebase + CVEs
|
||||
- Resolves: #2142808
|
||||
- Resolves: #2142826, #2131745, #2142855
|
||||
|
||||
* Tue Sep 27 2022 Jan Staněk <jstanek@redhat.com> - 16.17.1-1
|
||||
- Rebase to version 16.17.1
|
||||
Resolves: CVE-2022-35255 CVE-2022-35256
|
||||
|
6
sources
6
sources
@ -1,6 +1,6 @@
|
||||
SHA512 (node-v16.17.1-stripped.tar.gz) = f7b18b02c23ddb32abb01bc4473fadfe860d8009ab14437951a44fea424312d59d2812f59570fa7dd78a5b53fc7dc892da237ea9f80498da3ffb3d4edd185ba7
|
||||
SHA512 (node-v16.18.1-stripped.tar.gz) = 6c13f04aaceffccb75f609faa407197d47b0fff3aab82d85a10bc209e74ab7a045075afb9839e2eb71934a025375427c83426292509f6c72ef6375090a6fb5c4
|
||||
SHA512 (icu4c-71_1-src.tgz) = 1fd2a20aef48369d1f06e2bb74584877b8ad0eb529320b976264ec2db87420bae242715795f372dbc513ea80047bc49077a064e78205cd5e8b33d746fd2a2912
|
||||
SHA512 (cjs-module-lexer-1.2.2.tar.gz) = e2134c4541efec2f32d5fa5fd5151511a599ecd08e85fbfc8d56cbd0f3b2a404a9b1c072a601e4237e229ed12859abf6f52201ee0f55fcd0e43f49d0017e7cd1
|
||||
SHA512 (cjs-module-lexer-1.2.2.tar.gz) = 2c8e9caf2231ca7d61e71936305389774859aca9b5c86c63489c9a62a81f4736f99477c3f0cbb41077bb7924fdd23e0f24b7bce858e42fb0f87e7c0ffc87afeb
|
||||
SHA512 (undici-5.9.1.tar.gz) = fcadac58e368b1f90975a609b24900794c6b234733755cc35bc81f20fda977e8eecfedb6b43b91a25fd6900dbf4c5b133847f65c00d97144d39b5995d0b65568
|
||||
SHA512 (wasi-sdk-wasi-sdk-11.tar.gz) = cb37f357b09431a3efad26141d83dce63232a35b536d9a7bd341d4d9627a0a3d4bd4d57504b6e3dab421942d2c168a96da2a6be889aab3f9a2852fc5a3200d3c
|
||||
SHA512 (undici-5.8.0.tar.gz) = 635756eb22e64c67dead202db4768e1e21ea25cda6c2598c619845fad063a600d98a3c9b510b12453ceeb2ac2cbb4949a1dddfebc5c1940c55781a28eb0cced5
|
||||
SHA512 (wasi-sdk-wasi-sdk-14.tar.gz) = 4fecb3d9c04b91eb2388a9e51d49fbff6f22b81f9945a07ecdbfe479c96dad1e3b673b8bee24842b0dae5294129a9cb35dcf8e5ecf45437a6d01fb6e0fd13645
|
||||
|
Loading…
Reference in New Issue
Block a user