diff --git a/nodejs-tarball.sh b/nodejs-tarball.sh index f5b042b..f59d5c2 100755 --- a/nodejs-tarball.sh +++ b/nodejs-tarball.sh @@ -128,7 +128,7 @@ echo "$ICUMD5 $ICUTARBALL" > icu.md5 md5sum -c icu.md5 rm -f icu.md5 SHASUMS256.txt -fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz +#fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz rm -f node-v${version}.tar.gz @@ -171,6 +171,14 @@ echo "nghttp2" echo "=========================" grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h 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 "=========================" grep "url" node-v${version}/tools/icu/current_ver.dep diff --git a/nodejs.spec b/nodejs.spec index 959ccb7..2fd15cb 100644 --- a/nodejs.spec +++ b/nodejs.spec @@ -9,7 +9,7 @@ # 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 # will bump this rather than adding .1 to the end. -%global baserelease 5 +%global baserelease 1 %{?!_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} @@ -19,12 +19,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 14 -%global nodejs_minor 16 +%global nodejs_major 16 +%global nodejs_minor 2 %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 83 +%global nodejs_soversion 93 %global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} %global nodejs_release %{baserelease} @@ -34,10 +34,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 8 -%global v8_minor 4 -%global v8_build 371 -%global v8_patch 19 +%global v8_major 9 +%global v8_minor 0 +%global v8_build 257 +%global v8_patch 25 # V8 presently breaks ABI at least every x.y release while never bumping SONAME %global v8_abi %{v8_major}.%{v8_minor} %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} @@ -46,14 +46,14 @@ # c-ares - from deps/cares/include/ares_version.h # https://github.com/nodejs/node/pull/9332 %global c_ares_major 1 -%global c_ares_minor 16 +%global c_ares_minor 17 %global c_ares_patch 1 %global c_ares_version %{c_ares_major}.%{c_ares_minor}.%{c_ares_patch} # llhttp - from deps/llhttp/include/llhttp.h -%global llhttp_major 2 -%global llhttp_minor 1 -%global llhttp_patch 3 +%global llhttp_major 6 +%global llhttp_minor 0 +%global llhttp_patch 1 %global llhttp_version %{llhttp_major}.%{llhttp_minor}.%{llhttp_patch} # libuv - from deps/uv/include/uv/version.h @@ -68,8 +68,20 @@ %global nghttp2_patch 0 %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 -%global icu_major 67 +%global icu_major 69 %global icu_minor 1 %global icu_version %{icu_major}.%{icu_minor} @@ -77,6 +89,15 @@ %{!?little_endian: %global little_endian %(%{__python3} -c "import sys;print (0 if sys.byteorder=='big' else 1)")} # " this line just fixes syntax highlighting for vim that is confused by the above and continues literal +%global sys_icu_version %(/usr/bin/icu-config --version) + +%if "%{sys_icu_version}" >= "%{icu_version}" +%global bundled_icu 0 +%global icu_flag system-icu +%else +%global bundled_icu 1 +%global icu_flag full-icu +%endif # OpenSSL minimum version %global openssl_minimum 1:1.1.1 @@ -91,9 +112,9 @@ # npm - from deps/npm/package.json %global npm_epoch 1 -%global npm_major 6 -%global npm_minor 14 -%global npm_patch 11 +%global npm_major 7 +%global npm_minor 13 +%global npm_patch 0 %global npm_version %{npm_major}.%{npm_minor}.%{npm_patch} # uvwasi - from deps/uvwasi/include/uvwasi.h @@ -151,8 +172,8 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: zlib-devel BuildRequires: brotli-devel -BuildRequires: gcc >= 6.3.0 -BuildRequires: gcc-c++ >= 6.3.0 +BuildRequires: gcc >= 8.3.0 +BuildRequires: gcc-c++ >= 8.3.0 # needed to generate bundled provides for npm dependencies # https://src.fedoraproject.org/rpms/nodejs/pull-request/2 # https://pagure.io/nodejs-packaging/pull-request/10 @@ -174,6 +195,8 @@ Requires: libnghttp2 >= %{nghttp2_version} # Temporarily bundle llhttp because the upstream doesn't # provide releases for it. Provides: bundled(llhttp) = %{llhttp_version} +Provides: bundled(nghttp3) = %{nghttp3_version} +Provides: bundled(ngtcp2) = %{ngtcp2_version} BuildRequires: openssl-devel >= %{openssl_minimum} Requires: openssl >= %{openssl_minimum} @@ -412,7 +435,7 @@ export LDFLAGS="%{build_ldflags}" --shared-openssl \ --shared-zlib \ --shared-brotli \ - --without-dtrace \ + --with-dtrace \ --with-intl=small-icu \ --openssl-use-def-ca-store %else @@ -539,7 +562,7 @@ find %{buildroot}%{_prefix}/lib/node_modules/npm \ -exec chmod -x {} \; # 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 # Drop the NPM default configuration in place @@ -597,12 +620,8 @@ end %dir %{_datadir}/systemtap/tapset %{_datadir}/systemtap/tapset/node.stp -%if %{with bootstrap} -# no dtrace -%else %dir %{_usr}/lib/dtrace %{_usr}/lib/dtrace/node.d -%endif %{_rpmconfigdir}/fileattrs/nodejs_native.attr %{_rpmconfigdir}/nodejs_native.req @@ -654,17 +673,15 @@ end %doc %{_mandir}/man5/npmrc.5* %doc %{_mandir}/man5/package-json.5* %doc %{_mandir}/man5/package-lock-json.5* -%doc %{_mandir}/man5/package-locks.5* -%doc %{_mandir}/man5/shrinkwrap-json.5* +%doc %{_mandir}/man5/npm-shrinkwrap-json.5* %doc %{_mandir}/man7/config.7* %doc %{_mandir}/man7/developers.7* -%doc %{_mandir}/man7/disputes.7* %doc %{_mandir}/man7/orgs.7* %doc %{_mandir}/man7/registry.7* %doc %{_mandir}/man7/removal.7* %doc %{_mandir}/man7/scope.7* %doc %{_mandir}/man7/scripts.7* -%doc %{_mandir}/man7/semver.7* +%doc %{_mandir}/man7/workspaces.7* %files docs @@ -675,6 +692,17 @@ end %changelog +* Thu May 20 2021 zsvetlik@redhat.com - 1:16.2.0-1 +- Resolves: RHBZ#1953491 +- Rebase to 16.2.0 + +* Wed May 19 2021 Zuzana Svetlikova - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 @@ -686,9 +714,6 @@ end - remove --debug-nghttp2 (#1930775) - always build with systemtap -* Mon Jan 04 2021 Stephen Gallagher - 1:14.16.0-1 -- Update to 14.16.0 - * Tue Jan 26 2021 Fedora Release Engineering - 1:14.15.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index b355517..29e181c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (node-v14.16.0-stripped.tar.gz) = 817683b85eb47aa976f90b26e6e4a582ad67e7a2f48841be7ca378af46e87434d55fbc894e262889d07283775946348cb3fad152c488ce0c2199eba742018094 -SHA512 (icu4c-67_1-src.tgz) = 4779f1ce1ca7976f6fad6768853ea8c540da54d11509e3b6cfd864a04b5f2db1c3d4b546387f91ad02fb90804525bc37d2543173f0d705d6ca11dc6f2b7640a8 +SHA512 (node-v16.2.0-stripped.tar.gz) = 94d7c416370643ed32d998f0164d03b79261ec0ccc2df7375341171f693cccfac95cd56fba1e1eef3b3a33044a08755379c150ab180fffd2f7bfce4bbc9aad32 +SHA512 (icu4c-69_1-src.tgz) = d4aeb781715144ea6e3c6b98df5bbe0490bfa3175221a1d667f3e6851b7bd4a638fa4a37d4a921ccb31f02b5d15a6dded9464d98051964a86f7b1cde0ff0aab7