Compare commits

...

31 Commits
f36 ... rawhide

Author SHA1 Message Date
Stephen Gallagher
8d3e75401d
Update to 18.10.0
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.10.0

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-10-04 16:29:31 -04:00
Stephen Gallagher
4c37e579db
Fix incorrect version number
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-23 16:03:16 -04:00
Stephen Gallagher
f924bef5fc
Update to 18.9.1
https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.9.1

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-23 15:32:42 -04:00
Stephen Gallagher
d4511c9b8c
Simplify manpage packaging
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-15 09:21:36 -04:00
Stephen Gallagher
d9254b5d97
Add f37 to package.cfg
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-14 16:37:43 -04:00
Stephen Gallagher
fa95cc99d9
Update to Node.js 18.9.0
- https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.9.0
- https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#18.8.0

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-09-14 16:36:15 -04:00
Stephen Gallagher
45296320d1
Update to 18.7.0
Add bcond to disable building the included npm.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-27 15:00:23 -04:00
Stephen Gallagher
47e1398ee2
Drop mass-rebuild changelog entry
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-26 08:24:50 -04:00
Stephen Gallagher
6a2838d655
Bump release version
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-25 16:58:42 -04:00
Stephen Gallagher
e40d5eddc8
Fix incorrect release bump
Resolves: rhbz#2110750

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-25 16:34:14 -04:00
Fedora Release Engineering
5afd356aa4 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:39:19 +00:00
Stephen Gallagher
6ad3fc8fda
Update to 18.6.0
Switch to ninja for faster builds

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-14 19:57:13 -04:00
Stephen Gallagher
e0e64a6d19
Update to 18.5.0
Add %autorelease support

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-07-11 09:42:57 -04:00
Stephen Gallagher
690f39ef06
Re-enable LTO builds
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-27 17:03:42 -04:00
Stephen Gallagher
f015d07840
Switch to %autochangelog
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-27 17:02:42 -04:00
Stephen Gallagher
90c93808a1
Merge branch 'rawhide' into 18 2022-06-17 09:13:44 -04:00
Stephen Gallagher
50d0647ce7
Update to Node.js 18.4.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.4.0
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-17 09:11:38 -04:00
Stephen Gallagher
da3f7c98fb
Fix conflict between x86_64 and i686 installs of nodejs-devel
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-09 12:45:46 -04:00
Stephen Gallagher
e011b119ef
Merge branch 'rawhide' into 18 2022-06-07 14:15:55 -04:00
Stephen Gallagher
003fbcb1e2
Build 18.x for F37
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-07 14:13:18 -04:00
Stephen Gallagher
40ffbd5092
Update to Node.js 18.3.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.3.0
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-06-07 13:24:16 -04:00
Jan Staněk
cfd6873493
Patch node.gyp in place of leaving OpenSSL bits in place 2022-05-31 13:30:35 +02:00
Stephen Gallagher
cec740c48c
Update to Node.js 18.2.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.2.0
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-05-17 16:15:56 -04:00
Stephen Gallagher
17860dee0a
source-script: Install missing packages
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-05-17 14:13:17 -04:00
Stephen Gallagher
9a9cbc53e1
source-script: Install missing packages
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-05-17 14:12:32 -04:00
Stephen Gallagher
bb35fed7e2
Fix incorrect epoch in v8-devel dependency
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-05-06 09:24:02 -04:00
Stephen Gallagher
475401441a
Update to Node.js 18.1.0
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.1.0
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-05-05 15:54:17 -04:00
Stephen Gallagher
b4aea5cfc6
-devel packages should explicitly depend on -libs
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-04-29 10:20:43 -04:00
Stephen Gallagher
003ed11512
Fix reversed conditional for OpenSSL
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-04-29 09:32:23 -04:00
Stephen Gallagher
6a5af18121
First release of 18.0.0
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-04-28 14:48:05 -04:00
Stephen Gallagher
a898383268
nodejs-sources.sh: Fix ICU version detection
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2022-04-28 11:23:17 -04:00
7 changed files with 162 additions and 326 deletions

View File

@ -1,19 +1,19 @@
From dd952f69bcbf0a9947a0629e44c49003dcb9f77f Mon Sep 17 00:00:00 2001
From c30f7d6e470a9ef8eafb10b2997889231180754e 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
Signed-off-by: rpm-build <rpm-build>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Makefile | 2 +-
node.gyp | 17 -----------------
2 files changed, 1 insertion(+), 18 deletions(-)
diff --git a/Makefile b/Makefile
index 688ebc550e9d6677f468bb791b5d06d5507d3ab5..b34b49db53a4b0cb4a3867921f5c6fb71ae34bf1 100644
index 9c01f8f244ee1904f223d01e31ecfeffc03ea191..133a3d0fcbd22c2dde85a092f84708ddabf8b5f3 100644
--- a/Makefile
+++ b/Makefile
@@ -145,11 +145,11 @@ endif
.PHONY: test-code-cache
with-code-cache test-code-cache:
@@ -148,7 +148,7 @@ with-code-cache test-code-cache:
$(warning '$@' target is a noop)
out/Makefile: config.gypi common.gypi node.gyp \
@ -22,8 +22,34 @@ 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
diff --git a/node.gyp b/node.gyp
index 347d82d2e1e100227e750934532dce29775f1fdf..2419dc739ea0b1d7efaf5096f86383def4162e3c 100644
--- a/node.gyp
+++ b/node.gyp
@@ -429,23 +429,6 @@
],
},
],
- }, {
- 'variables': {
- 'opensslconfig_internal': '<(obj_dir)/deps/openssl/openssl.cnf',
- 'opensslconfig': './deps/openssl/nodejs-openssl.cnf',
- },
- 'actions': [
- {
- 'action_name': 'reset_openssl_cnf',
- 'inputs': [ '<(opensslconfig)', ],
- 'outputs': [ '<(opensslconfig_internal)', ],
- 'action': [
- 'python', 'tools/copyfile.py',
- '<(opensslconfig)',
- '<(opensslconfig_internal)',
- ],
- },
- ],
}],
],
}, # node_core_target_name
--
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

25
changelog Normal file
View File

@ -0,0 +1,25 @@
* Fri Jun 17 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.4.0-1
- Update to Node.js 18.4.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.4.0
* Thu Jun 09 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.3.0-2
- Fix conflict between x86_64 and i686 installs of nodejs-devel
* Tue Jun 07 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.3.0-1
- Update to Node.js 18.3.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.3.0
* Tue May 17 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.2.0-1
- Update to Node.js 18.2.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.2.0
* Fri May 06 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.1.0-2
- Fix incorrect epoch in v8-devel dependency
* Thu May 05 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.1.0-1
- Update to Node.js 18.1.0
- https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V18.md#18.1.0
* Thu Apr 28 2022 Stephen Gallagher <sgallagh@redhat.com> - 1:18.0.0-1
- First release of Node.js 18.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
@ -118,7 +124,11 @@ rm -rf node-v${version}.tar.gz \
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
rm -f SHASUMS256.txt
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

@ -28,6 +28,7 @@
%bcond_with bundled_zlib
%endif
%bcond npm 1
# LTO is currently broken on Node.js builds
%define _lto_cflags %{nil}
@ -40,7 +41,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 %autorelease
%{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
@ -50,12 +51,12 @@
# feature releases that are only supported for nine months, which is shorter
# than a Fedora release lifecycle.
%global nodejs_epoch 1
%global nodejs_major 16
%global nodejs_minor 15
%global nodejs_major 18
%global nodejs_minor 10
%global nodejs_patch 0
%global nodejs_abi %{nodejs_major}.%{nodejs_minor}
# nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h
%global nodejs_soversion 93
%global nodejs_soversion 108
%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}
%global nodejs_release %{baserelease}
@ -65,10 +66,10 @@
# v8 - from deps/v8/include/v8-version.h
# Epoch is set to ensure clean upgrades from the old v8 package
%global v8_epoch 2
%global v8_major 9
%global v8_minor 4
%global v8_build 146
%global v8_patch 24
%global v8_major 10
%global v8_minor 2
%global v8_build 154
%global v8_patch 15
%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 +81,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.10
# libuv - from deps/uv/include/uv/version.h
%global libuv_version 1.43.0
@ -89,7 +90,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}
@ -99,7 +100,8 @@
# OpenSSL minimum version
%global openssl_minimum 1:1.1.1
%global openssl11_minimum 1:1.1.1
%global openssl30_minimum 1:3.0.2
# punycode - from lib/punycode.js
# Note: this was merged into the mainline since 0.6.x
@ -108,7 +110,7 @@
# npm - from deps/npm/package.json
%global npm_epoch 1
%global npm_version 8.5.5
%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
@ -117,7 +119,7 @@
%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
@ -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
@ -152,9 +154,6 @@ Source7: nodejs_native.attr
# 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
BuildRequires: make
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-setuptools
@ -183,6 +182,7 @@ BuildRequires: jq
BuildRequires: nodejs-packaging
BuildRequires: chrpath
BuildRequires: libatomic
BuildRequires: ninja-build
BuildRequires: systemtap-sdt-devel
BuildRequires: unzip
@ -201,14 +201,24 @@ Provides: bundled(nghttp2) = %{nghttp2_version}
# provide releases for it.
Provides: bundled(llhttp) = %{llhttp_version}
%if 0%{?rhel} && 0%{?rhel} < 8
BuildRequires: openssl11-devel >= %{openssl_minimum}
Requires: openssl11 >= %{openssl_minimum}
BuildRequires: openssl11-devel >= %{openssl11_minimum}
Requires: openssl11 >= %{openssl11_minimum}
%global ssl_configure --shared-openssl --shared-openssl-includes=%{_includedir}/openssl11 --shared-openssl-libpath=%{_libdir}/openssl11
%else
BuildRequires: openssl-devel >= %{openssl_minimum}
Requires: openssl >= %{openssl_minimum}
%global ssl_configure --shared-openssl
%if 0%{?fedora} >= 36
BuildRequires: openssl >= %{openssl30_minimum}
BuildRequires: openssl-devel >= %{openssl30_minimum}
%global openssl_fips_configure --openssl-is-fips
%else
Requires: openssl >= %{openssl11_minimum}
BuildRequires: openssl-devel >= %{openssl11_minimum}
%global openssl_fips_configure %{nil}
%endif
%global ssl_configure --shared-openssl %{openssl_fips_configure}
%endif
# we need the system certificate store
@ -275,9 +285,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 +301,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}
@ -304,9 +314,6 @@ Requires: nodejs-packaging
Requires: libuv-devel%{?_isa}
%endif
# Make it conflict with any other version of nodejs-devel
Conflicts: %{name}-devel
%description devel
Development headers for the Node.js JavaScript runtime.
@ -326,8 +333,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 +343,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,28 +354,28 @@ 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
Development headers for the v8 runtime.
%if %{with npm}
%package -n npm
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
@ -378,6 +385,7 @@ Provides: npm(npm) = %{npm_version}
%description -n npm
npm is a package manager for node.js. You can use it to install and publish
your node programs. It manages dependencies and does other cool stuff.
%endif
%package docs
@ -388,8 +396,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.
@ -431,11 +439,9 @@ find . -type f -exec sed -i "s~python -c~python3 -c~" {} \;
%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 +452,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} \
@ -466,14 +480,18 @@ export LDFLAGS="%{build_ldflags}"
--with-intl=small-icu \
--with-icu-default-data-dir=%{icudatadir} \
--without-corepack \
%{!?with_npm:--without-npm} \
--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,22 +533,30 @@ 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
%if %{with npm}
# install NPM docs to mandir
mkdir -p %{buildroot}%{_mandir} \
%{buildroot}%{_pkgdocdir}/npm
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
%endif
# 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
@ -538,6 +564,8 @@ ln -sf %{_pkgdocdir}/npm %{buildroot}%{_prefix}/lib/node_modules/npm/docs
rm -f %{buildroot}/%{_defaultdocdir}/node/lldb_commands.py \
%{buildroot}/%{_defaultdocdir}/node/lldbinit
%if %{with npm}
# Some NPM bundled deps are executable but should not be. This causes
# unnecessary automatic dependencies to be added. Make them not executable.
# Skip the npm bin directory or the npm binary will not work.
@ -557,7 +585,8 @@ 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
%endif
# Install the full-icu data files
mkdir -p %{buildroot}%{icudatadir}
@ -577,8 +606,10 @@ LD_LIBRARY_PATH=%{buildroot}%{_libdir} %{buildroot}/%{_bindir}/node -e "require(
# 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}')"
%if %{with npm}
# 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}"'
%endif
# 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}
@ -649,6 +680,7 @@ end
%{_libdir}/libv8_libplatform.so
%if %{with npm}
%files -n npm
%{_bindir}/npm
%{_bindir}/npx
@ -656,185 +688,19 @@ 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*
%endif
%files docs
%doc doc
%dir %{_pkgdocdir}
%{_pkgdocdir}/html
%if %{with npm}
%{_pkgdocdir}/npm/docs
%endif
%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
%autochangelog

View File

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

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-v18.10.0-stripped.tar.gz) = c62f19be6c2db35e657af6700b818624860bc802a814f850bde8027046c8046ef7446f5523fa9b7f9c053326cfedc713473088fd423721a515c1750aa3455138
SHA512 (icu4c-71_1-data-bin-b.zip) = 2bee9b93699c40a53c2e768d4678309fbd49e052e197a80fb76842b4001ee65e548459654ef7e7d154b6289f915fccbcb5b3109edcd61e74f0db289f2bec61fd
SHA512 (icu4c-71_1-data-bin-l.zip) = 07a299b1cd37cd7b07c5e1a7c6871c0dbbeabb2dec6e11c89237f41e56fd29e1a65725be102b4e4ab722183c02810a5df3ed47c3b9b4a7c14bc4c72ab127a27e