Compare commits

...

9 Commits

Author SHA1 Message Date
Stephen Gallagher
639c9da780
Merge branch '16' into epel7 2022-09-15 09:48:56 -04:00
Stephen Gallagher
e7dbef9608
Drop epel7 from package.cfg
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-15 09:48:36 -04:00
Stephen Gallagher
b4978d0279
Simplify manpage packaging
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-15 09:15:01 -04:00
Stephen Gallagher
da21b9cec2
Update to Node.js 16.17.0
- https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V16.md#16.17.0

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-14 16:22:06 -04:00
Stephen Gallagher
71864f36b0
epel7: include %dist
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-15 11:04:48 -04:00
Stephen Gallagher
f1a11b6233
epel7: don't use rpmautospec
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-15 11:02:08 -04:00
Stephen Gallagher
11b453fe23
Update to 16.16.0
Enable %autorelease support

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-15 10:23:11 -04:00
Stephen Gallagher
2d95ee0da3
Backport nodejs-sources.sh from 18
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-11 10:33:52 -04:00
Stephen Gallagher
13f0076734
Update to Node.js 16.15.1
Convert to %autochangelog

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-27 16:49:37 -04:00
8 changed files with 294 additions and 313 deletions

View File

@ -1,4 +1,4 @@
From dd952f69bcbf0a9947a0629e44c49003dcb9f77f Mon Sep 17 00:00:00 2001
From 01f2f06e24586259b185f44d11c950ca0db6b972 Mon Sep 17 00:00:00 2001
From: Zuzana Svetlikova <zsvetlik@redhat.com>
Date: Fri, 17 Apr 2020 12:59:44 +0200
Subject: [PATCH 1/2] Disable running gyp on shared deps
@ -8,12 +8,10 @@ Subject: [PATCH 1/2] Disable running gyp on shared deps
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb71ae34bf1 100644
index dc6f08b6f0280f3d21b4c57fed0ef580218a033c..c865e723b4b27a28a51d2f797082a9707a7fb9c9 100644
--- a/Makefile
+++ b/Makefile
@@ -145,11 +145,11 @@ endif
.PHONY: test-code-cache
with-code-cache test-code-cache:
@@ -147,7 +147,7 @@ with-code-cache test-code-cache:
$(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \
@ -22,8 +20,6 @@ index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb7
tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \
tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
$(PYTHON) tools/gyp_node.py -f make
# node_version.h is listed because the N-API version is taken from there
--
2.34.1
2.37.3

View File

@ -1,91 +0,0 @@
From a1c35106e7e9ab3d4a01779079cf9788a2fe777a 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>
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
---
configure.py | 7 +++++++
tools/install.py | 21 +++++++++------------
2 files changed, 16 insertions(+), 12 deletions(-)
diff --git a/configure.py b/configure.py
index 47137d8912dd1439962127a3c1f417eb78572021..c59037a39fcefdfe173d16a7aa9622a32a3c29e7 100755
--- a/configure.py
+++ b/configure.py
@@ -731,10 +731,16 @@ parser.add_argument('--shared',
dest='shared',
default=None,
help='compile shared library for embedding node in another project. ' +
'(This mode is not officially supported for regular applications)')
+parser.add_argument('--libdir',
+ action='store',
+ dest='libdir',
+ default='lib',
+ help='a directory to install the shared library into')
+
parser.add_argument('--without-v8-platform',
action='store_true',
dest='without_v8_platform',
default=False,
help='do not initialize v8 platform during node.js startup. ' +
@@ -1332,10 +1338,11 @@ def configure_node(o):
o['variables']['debug_nghttp2'] = 'false'
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':
shlib_suffix = 'so'
elif sys.platform == 'darwin':
diff --git a/tools/install.py b/tools/install.py
index eafcb19bf8b29f87c39b0fe7d3c3fd2d175a7b7b..71b5371578711fcc9a1b80069850f0b61bdfebe2 100755
--- a/tools/install.py
+++ b/tools/install.py
@@ -128,26 +128,23 @@ def subdir_files(path, dest, action):
for subdir, files_in_path in ret.items():
action(files_in_path, subdir + '/')
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')
+ output_bin = 'node'
+ output_lib = 'libnode.' + variables.get('shlib_suffix')
- 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')
# behave similarly for systemtap
--
2.34.1

View File

@ -0,0 +1,69 @@
From f2994693ae8c81c033f366a6a7853fe1db6b91f9 Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Sun, 28 Aug 2022 04:12:42 -0400
Subject: [PATCH 2/2] build: add --libdir flag to configure
This will allow distribution packages to select an alternative
location for the unofficial libnode.so. For example, on Fedora it
will install into /usr/lib64 on 64-bit systems.
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/44361
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
---
configure.py | 9 +++++++++
tools/install.py | 4 ++--
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/configure.py b/configure.py
index 1a7023dece588631b8281c67b223204c1ebb5ee7..67d0cc695e67077f5c74f04ccf761807dd7fb3ef 100755
--- a/configure.py
+++ b/configure.py
@@ -739,6 +739,14 @@ parser.add_argument('--shared',
help='compile shared library for embedding node in another project. ' +
'(This mode is not officially supported for regular applications)')
+parser.add_argument('--libdir',
+ action='store',
+ dest='libdir',
+ default='lib',
+ help='a directory to install the shared library into relative to the '
+ 'prefix. This is a no-op if --shared is not specified. ' +
+ '(This mode is not officially supported for regular applications)')
+
parser.add_argument('--without-v8-platform',
action='store_true',
dest='without_v8_platform',
@@ -1368,6 +1376,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 a6d1f8b3caa8e24148b1930ea109508f8e612735..f9f4b3c6c0f4297a5b44c44bc1cccc7bfe3ef2b0 100755
--- a/tools/install.py
+++ b/tools/install.py
@@ -169,14 +169,14 @@ def files(action):
# install libnode.version.so
so_name = 'libnode.' + re.sub(r'\.x$', '.so', variables.get('shlib_suffix'))
- action([output_prefix + so_name], 'lib/' + so_name)
+ action([output_prefix + so_name], variables.get('libdir') + '/' + so_name)
# create symlink of libnode.so -> libnode.version.so (C++ addons compat)
link_path = abspath(install_path, 'lib/libnode.so')
try_symlink(so_name, link_path)
else:
output_lib = 'libnode.' + variables.get('shlib_suffix')
- action([output_prefix + output_lib], 'lib/' + output_lib)
+ action([output_prefix + output_lib], variables.get('libdir') + '/' + output_lib)
if 'true' == variables.get('node_use_dtrace'):
action(['out/Release/node.d'], 'lib/dtrace/node.d')
--
2.37.3

159
changelog Normal file
View File

@ -0,0 +1,159 @@
* Mon Jun 13 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.1-1
- Update to Node.js 16.15.1
- Re-enable LTO build
* Fri May 06 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.0-3
- Fix incorrect epoch in v8-devel dependency
* Fri Apr 29 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.0-2
- Fix file conflicts.
- Make dependency on nodejs-libs more strict.
* Wed Apr 27 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.0-1
- Update to Node.js 16.15.0
- Stop carrying full ICU sources now that the binary data is available
- Properly version the v8 virtual Provides
- Bundle nghttp2
* Mon Apr 04 2022 Jan Staněk <jstanek@redhat.com> - 16.14.1-2
- Unify configure.py calls into single command
- Refactor bootstrap-related parts
- Decouple dependency bundling from bootstrapping
* Thu Mar 17 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.14.1-1
- Update to Node.js 16.14.1
- Drop corepack
* Thu Mar 03 2022 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:16.14.0-3
- Build without corepack
* Wed Feb 09 2022 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:16.14.0-2
- Replace explicit version of npm in %%check with variable and make build fail
if it doesn't match
* Tue Feb 08 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.14.0-1
- Update to Node.js 16.14.0
* Thu Feb 03 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-8
- Update npm to 8.3.1 (CVE-2021-43616)
* Wed Feb 02 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-7
- Fix incorrect version Provides: for npm (bz#2049873)
* Mon Jan 31 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-6
- Rebuild for more architectures
* Mon Jan 31 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-5
- Tweak some dependencies on EPEL 7 (bz2048589)
- Add Provides: bundled(zlib)
* Wed Jan 19 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-3
- Bundle zlib on EPEL 7
* Mon Jan 17 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-2
- Add support for building on EPEL 7
* Tue Jan 11 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-1
- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)
- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)
- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)
- Prototype pollution via `console.table` properties (Low)(CVE-2022-21824)
* Thu Dec 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.1-2
- Enable building for EPEL 8 modules
* Thu Dec 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.1-1
- Update to 16.13.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.13.1
* Thu Nov 25 2021 Honza Horak <hhorak@redhat.com> - 1:16.13.0-3
- Make sure binary node-gyp is executable
Resolves: #2026615
* Mon Nov 01 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.0-1
- Update to 16.13.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.13.0
- Add support for epel8
* Mon Oct 25 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.12.0-1
- Update to 16.12.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.12.0
* Wed Oct 13 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.11.1-1
- Update to 16.11.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.11.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.11.1
* Thu Sep 23 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.10.0-1
- Update to 16.10.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.10.0
* Tue Sep 14 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.9.1-4
- Correct the bad merge of corepack fix
* Tue Sep 14 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.9.1-3
- Drop auto-dependency on PowerShell introduced by corepack
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1:16.9.1-2
- Rebuilt with OpenSSL 3.0.0
* Mon Sep 13 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.9.1-1
- Update to 16.9.1
- Add experimental 'corepack' tool
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.9.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.9.1
* Tue Aug 31 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.8.0-1
- Update to 16.8.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.8.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.7.0
* Wed Aug 11 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.6.2-1
- Update to 16.6.2
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.6.2
* Tue Aug 03 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.6.1-1
- Update to 16.6.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.6.1
- Fixes v8 regression introduced in 16.6.0
* Mon Aug 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.6.0-1
- Update to 16.6.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.6.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:16.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 20 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.5.0-1
- Update to 16.5.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.5.0
* Fri Jul 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.4.1-2
- Re-add support for v8 development headers
* Thu Jul 01 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.4.1-1
- Update to 16.4.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.4.1
* Wed Jun 23 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.4.0-1
- Update to 16.4.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.4.0
* Fri Jun 04 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.3.0-1
- Update to 16.3.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.3.0
* Wed May 19 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.2.0-1
- Update to 16.2.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.2.0
- Fix changelog version numbers
* Tue May 04 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.1.0-1
- Update to 16.1.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.1.0
- Drop upstreamed patch
* Thu Apr 29 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.0.0-1
- First release of Node.js 16.x

View File

@ -100,6 +100,12 @@ assign_positional_args 1 "${_positionals[@]}"
### END OF CODE GENERATED BY Argbash (sortof) ### ])
# [ <-- needed because of Argbash
packages=("jq" "wget" "tar" "fedpkg" "grep" "sed")
rpm -q ${packages[@]} >/dev/null
if [ $? -ne 0 ]; then
sudo dnf -y install ${packages[@]}
fi
set -e
@ -119,6 +125,9 @@ wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \
http://nodejs.org/dist/v${version}/SHASUMS256.txt
sha256sum -c SHASUMS256.txt --ignore-missing
tar -zxf node-v${version}.tar.gz
# Remove bundled OpenSSL
# We will link to the system version
rm -rf node-v${version}/deps/openssl
tar -zcf node-v${version}-stripped.tar.gz node-v${version}

View File

@ -29,9 +29,11 @@
%endif
# LTO is currently broken on Node.js builds
# Node.js has its own flag to enable LTO and it conflicts
# with Fedora's approach.
%define _lto_cflags %{nil}
# Heavy-handed approach to avoiding issues with python
# bytecompiling files in the node_modules/ directory
%global __python %{__python3}
@ -40,7 +42,7 @@
# This is used by both the nodejs package and the npm subpackage that
# has a separate version - the name is special so that rpmdev-bumpspec
# will bump this rather than adding .1 to the end.
%global baserelease 3
%global baserelease 1%{?dist}
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -51,7 +53,7 @@
# than a Fedora release lifecycle.
%global nodejs_epoch 1
%global nodejs_major 16
%global nodejs_minor 15
%global nodejs_minor 17
%global nodejs_patch 0
%global nodejs_abi %{nodejs_major}.%{nodejs_minor}
# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h
@ -68,7 +70,7 @@
%global v8_major 9
%global v8_minor 4
%global v8_build 146
%global v8_patch 24
%global v8_patch 26
%global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch}
%global v8_release %{nodejs_epoch}.%{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release}
@ -80,7 +82,7 @@
%global c_ares_version 1.18.1
# llhttp - from deps/llhttp/include/llhttp.h
%global llhttp_version 6.0.4
%global llhttp_version 6.0.7
# libuv - from deps/uv/include/uv/version.h
%global libuv_version 1.43.0
@ -89,7 +91,7 @@
%global nghttp2_version 1.47.0
# ICU - from tools/icu/current_ver.dep
%global icu_major 70
%global icu_major 71
%global icu_minor 1
%global icu_version %{icu_major}.%{icu_minor}
@ -108,7 +110,7 @@
# npm - from deps/npm/package.json
%global npm_epoch 1
%global npm_version 8.5.5
%global npm_version 8.15.0
# 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
@ -125,7 +127,7 @@
Name: nodejs
Epoch: %{nodejs_epoch}
Version: %{nodejs_version}
Release: %{nodejs_release}%{?dist}
Release: %{nodejs_release}
Summary: JavaScript runtime
License: MIT and ASL 2.0 and ISC and BSD
Group: Development/Languages
@ -153,9 +155,8 @@ Source7: nodejs_native.attr
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-build-add-libdir-flag-to-configure.patch
BuildRequires: make
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: python%{python3_pkgversion}-jinja2
@ -182,6 +183,7 @@ BuildRequires: jq
# https://pagure.io/nodejs-packaging/pull-request/10
BuildRequires: nodejs-packaging
BuildRequires: chrpath
BuildRequires: ninja-build
BuildRequires: libatomic
BuildRequires: systemtap-sdt-devel
BuildRequires: unzip
@ -275,9 +277,9 @@ Requires: (nodejs-packaging if rpm-build)
# Make sure we keep NPM up to date when we update Node.js
%if 0%{?fedora} || 0%{?rhel} >= 8
Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist}
Recommends: npm >= %{npm_epoch}:%{npm_version}-%{npm_release}
%endif
Conflicts: npm < %{npm_epoch}:%{npm_version}-%{npm_release}%{?dist}
Conflicts: npm < %{npm_epoch}:%{npm_version}-%{npm_release}
%description
@ -291,8 +293,8 @@ real-time applications that run across distributed devices.
%package devel
Summary: JavaScript runtime - development headers
Group: Development/Languages
Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Requires: %{name}%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}
Requires: %{name}-libs%{?_isa} = %{epoch}:%{nodejs_version}-%{nodejs_release}
Requires: openssl-devel%{?_isa}
%if !%{with bundled_zlib}
Requires: zlib-devel%{?_isa}
@ -326,8 +328,8 @@ Provides: libv8_libbase.so.%{v8_major} = %{v8_epoch}:%{v8_version}
Provides: libv8_libplatform.so.%{v8_major} = %{v8_epoch}:%{v8_version}
%endif
Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist}
Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release}%{?dist}
Provides: v8 = %{v8_epoch}:%{v8_version}-%{nodejs_release}
Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release}
Obsoletes: v8 < 1:6.7.17-10
%description libs
@ -336,7 +338,7 @@ 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}
Requires: %{name}%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
%description full-i18n
Optional data files to provide full-icu support for Node.js. Remove this
@ -347,9 +349,9 @@ package to save space if non-English locales are not needed.
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}
Requires: %{name}-libs%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Release: %{v8_release}
Requires: %{name}-devel%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
Requires: %{name}-libs%{?_isa} = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
Conflicts: v8-314-devel
%description -n v8-devel
@ -360,15 +362,15 @@ Development headers for the v8 runtime.
Summary: Node.js Package Manager
Epoch: %{npm_epoch}
Version: %{npm_version}
Release: %{npm_release}%{?dist}
Release: %{npm_release}
# We used to ship npm separately, but it is so tightly integrated with Node.js
# (and expected to be present on all Node.js systems) that we ship it bundled
# now.
Obsoletes: npm < 0:3.5.4-6
Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Requires: nodejs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
%if 0%{?fedora} || 0%{?rhel} >= 8
Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Recommends: nodejs-docs = %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
%endif
# Do not add epoch to the virtual NPM provides or it will break
@ -388,8 +390,8 @@ BuildArch: noarch
# We don't require that the main package be installed to
# use the docs, but if it is installed, make sure the
# version always matches
Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}%{?dist}
Conflicts: %{name} > %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
Conflicts: %{name} < %{nodejs_epoch}:%{nodejs_version}-%{nodejs_release}
%description docs
The API documentation for the Node.js JavaScript runtime.
@ -425,17 +427,9 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} \;
. /opt/rh/devtoolset-11/enable
%endif
# When compiled on armv7hl this package generates an out of range
# reference to the literal pool. This is most likely a GCC issue.
%ifarch armv7hl
%define _lto_cflags %{nil}
%endif
%ifarch s390 s390x %{arm} %ix86
# Decrease debuginfo verbosity to reduce memory consumption during final
# library linking
%global optflags %(echo %{optflags} | sed 's/-g /-g1 /')
%endif
export CC='%{__cc}'
export CXX='%{__cxx}'
@ -446,16 +440,24 @@ export NODE_GYP_FORCE_PYTHON=%{__python3}
# build with debugging symbols and add defines from libuv (#892601)
# Node's v8 breaks with GCC 6 because of incorrect usage of methods on
# NULL objects. We need to pass -fno-delete-null-pointer-checks
# 2022-07-14: There's a bug in either torque or gcc that causes a
# segmentation fault on ppc64le and s390x if compiled with -O2. Things
# run fine on -O1 and -O3, so we'll just go with -O3 (like upstream)
# while this gets sorted out.
extra_cflags=(
-D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64
-DZLIB_CONST
-fno-delete-null-pointer-checks
-O3
)
export CFLAGS="%{optflags} ${extra_cflags[*]}" CXXFLAGS="%{optflags} ${extra_cflags[*]}"
export LDFLAGS="%{build_ldflags}"
%{__python3} configure.py --prefix=%{_prefix} \
%{__python3} configure.py \
--ninja \
--enable-lto \
--prefix=%{_prefix} \
--shared \
--libdir=%{_lib} \
%{ssl_configure} \
@ -468,12 +470,15 @@ export LDFLAGS="%{build_ldflags}"
--without-corepack \
--openssl-use-def-ca-store
%make_build BUILDTYPE=Release
%ninja_build -C out/Release
%install
rm -rf %{buildroot}
# The ninja build does not put the shared library in the expected location, so
# we will move it.
mv out/Release/lib/libnode.so.%{nodejs_soversion} out/Release/
./tools/install.py install %{buildroot} %{_prefix}
# Set the binary permissions properly
@ -515,6 +520,10 @@ rm -f %{buildroot}%{_pkgdocdir}/html/nodejs.1
mkdir -p %{buildroot}%{_datadir}/node
cp -p common.gypi %{buildroot}%{_datadir}/node
# The config.gypi file is platform-dependent, so rename it to not conflict
mv %{buildroot}%{_includedir}/node/config.gypi \
%{buildroot}%{_includedir}/node/config-%{_arch}.gypi
# Install the GDB init tool into the documentation directory
mv %{buildroot}/%{_datadir}/doc/node/gdbinit %{buildroot}/%{_pkgdocdir}/gdbinit
@ -524,13 +533,13 @@ mkdir -p %{buildroot}%{_mandir} \
cp -pr deps/npm/man/* %{buildroot}%{_mandir}/
rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/man
ln -sf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man
ln -srf %{_mandir} %{buildroot}%{_prefix}/lib/node_modules/npm/man
# Install Gatsby HTML documentation to %%{_pkgdocdir}
cp -pr deps/npm/docs %{buildroot}%{_pkgdocdir}/npm/
rm -rf %{buildroot}%{_prefix}/lib/node_modules/npm/docs
ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
ln -srf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
# Node tries to install some python files into a documentation directory
# (and not the proper one). Remove them for now until we figure out what to
@ -557,7 +566,7 @@ cp %{SOURCE1} %{buildroot}%{_sysconfdir}/npmrc
# NPM upstream expects it to be in /usr/etc/npmrc, so we'll put a symlink here
# This is done in the interests of keeping /usr read-only.
mkdir -p %{buildroot}%{_prefix}/etc
ln -s %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
ln -rs %{_sysconfdir}/npmrc %{buildroot}%{_prefix}/etc/npmrc
# Install the full-icu data files
mkdir -p %{buildroot}%{icudatadir}
@ -656,23 +665,8 @@ end
%config(noreplace) %{_sysconfdir}/npmrc
%{_prefix}/etc/npmrc
%ghost %{_sysconfdir}/npmignore
%doc %{_mandir}/man1/npm*.1*
%doc %{_mandir}/man1/npx.1*
%doc %{_mandir}/man5/folders.5*
%doc %{_mandir}/man5/install.5*
%doc %{_mandir}/man5/npmrc.5*
%doc %{_mandir}/man5/npm-shrinkwrap-json.5*
%doc %{_mandir}/man5/package-json.5*
%doc %{_mandir}/man5/package-lock-json.5*
%doc %{_mandir}/man7/config.7*
%doc %{_mandir}/man7/developers.7*
%doc %{_mandir}/man7/orgs.7*
%doc %{_mandir}/man7/logging.7*
%doc %{_mandir}/man7/registry.7*
%doc %{_mandir}/man7/removal.7*
%doc %{_mandir}/man7/scope.7*
%doc %{_mandir}/man7/scripts.7*
%doc %{_mandir}/man7/workspaces.7*
%doc %{_mandir}/man*/
%exclude %doc %{_mandir}/man1/node.1*
%files docs
@ -683,158 +677,3 @@ end
%changelog
* Fri May 06 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.0-3
- Fix incorrect epoch in v8-devel dependency
* Fri Apr 29 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.0-2
- Fix file conflicts.
- Make dependency on nodejs-libs more strict.
* Wed Apr 27 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.15.0-1
- Update to Node.js 16.15.0
- Stop carrying full ICU sources now that the binary data is available
- Properly version the v8 virtual Provides
- Bundle nghttp2
* Mon Apr 04 2022 Jan Staněk <jstanek@redhat.com> - 16.14.1-2
- Unify configure.py calls into single command
- Refactor bootstrap-related parts
- Decouple dependency bundling from bootstrapping
* Thu Mar 17 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.14.1-1
- Update to Node.js 16.14.1
- Drop corepack
* Thu Mar 03 2022 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:16.14.0-3
- Build without corepack
* Wed Feb 09 2022 Zuzana Svetlikova <zsvetlik@redhat.com> - 1:16.14.0-2
- Replace explicit version of npm in %%check with variable and make build fail
if it doesn't match
* Tue Feb 08 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.14.0-1
- Update to Node.js 16.14.0
* Thu Feb 03 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-8
- Update npm to 8.3.1 (CVE-2021-43616)
* Wed Feb 02 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-7
- Fix incorrect version Provides: for npm (bz#2049873)
* Mon Jan 31 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-6
- Rebuild for more architectures
* Mon Jan 31 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-5
- Tweak some dependencies on EPEL 7 (bz2048589)
- Add Provides: bundled(zlib)
* Wed Jan 19 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-3
- Bundle zlib on EPEL 7
* Mon Jan 17 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-2
- Add support for building on EPEL 7
* Tue Jan 11 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.2-1
- Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)
- Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)
- Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)
- Prototype pollution via `console.table` properties (Low)(CVE-2022-21824)
* Thu Dec 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.1-2
- Enable building for EPEL 8 modules
* Thu Dec 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.1-1
- Update to 16.13.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.13.1
* Thu Nov 25 2021 Honza Horak <hhorak@redhat.com> - 1:16.13.0-3
- Make sure binary node-gyp is executable
Resolves: #2026615
* Mon Nov 01 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.13.0-1
- Update to 16.13.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.13.0
- Add support for epel8
* Mon Oct 25 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.12.0-1
- Update to 16.12.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.12.0
* Wed Oct 13 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.11.1-1
- Update to 16.11.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.11.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.11.1
* Thu Sep 23 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.10.0-1
- Update to 16.10.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.10.0
* Tue Sep 14 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.9.1-4
- Correct the bad merge of corepack fix
* Tue Sep 14 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.9.1-3
- Drop auto-dependency on PowerShell introduced by corepack
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1:16.9.1-2
- Rebuilt with OpenSSL 3.0.0
* Mon Sep 13 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.9.1-1
- Update to 16.9.1
- Add experimental 'corepack' tool
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.9.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.9.1
* Tue Aug 31 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.8.0-1
- Update to 16.8.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.8.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.7.0
* Wed Aug 11 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.6.2-1
- Update to 16.6.2
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.6.2
* Tue Aug 03 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.6.1-1
- Update to 16.6.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.6.1
- Fixes v8 regression introduced in 16.6.0
* Mon Aug 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.6.0-1
- Update to 16.6.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.6.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:16.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 20 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.5.0-1
- Update to 16.5.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.5.0
* Fri Jul 02 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.4.1-2
- Re-add support for v8 development headers
* Thu Jul 01 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.4.1-1
- Update to 16.4.1
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.4.1
* Wed Jun 23 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.4.0-1
- Update to 16.4.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.4.0
* Fri Jun 04 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.3.0-1
- Update to 16.3.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.3.0
* Wed May 19 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.2.0-1
- Update to 16.2.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.2.0
- Fix changelog version numbers
* Tue May 04 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.1.0-1
- Update to 16.1.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.1.0
- Drop upstreamed patch
* Thu Apr 29 2021 Stephen Gallagher <sgallagh@redhat.com> - 1:16.0.0-1
- First release of Node.js 16.x

View File

@ -1,2 +1,2 @@
[koji]
targets = rawhide f36 f35 epel7
targets = f36 f35

View File

@ -1,3 +1,3 @@
SHA512 (node-v16.15.0-stripped.tar.gz) = 0621c917d5144b6cfa845654019981c093b8f79e7695ee233474c37ab524bceaa50fb7e82afd8f6337db505a55e6ba407e2984a91e84ff42380366022e1f059c
SHA512 (icu4c-70_1-data-bin-b.zip) = eff9b41f1df4fe74e13bc216c62a8eab735622e3aa4e0b9c925b61f55294a002238a0022e1579197170d0345de6e877220b04b62d2010796f4ef1fbb2c17ea92
SHA512 (icu4c-70_1-data-bin-l.zip) = 041ff3480566330d043d9ddcd31e8851e875183d158ea3ce625583b4a9d96166497a9eedc0e72e2f7a3abc3a9110a0372546151b264ff4d1623215aab33552f5
SHA512 (node-v16.17.0-stripped.tar.gz) = 58801adff3e9ddd36e8d2cff3cb52dfe13fc9b7b2b529c220d156eeecbfcc2f9386d2f0191bb73961ac0056ff3853bec61bd90a1062aaef788d169cccb1ba093
SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd
SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e