diff --git a/nodejs20.spec b/nodejs20.spec index 5e48b9d93894108b3a81dce68f5b425dfdc5a70f..ed511da0491b6c3b007655505d77ca50df18a98f 100644 --- a/nodejs20.spec +++ b/nodejs20.spec @@ -2,19 +2,14 @@ %global nodejs_major 20 %global nodejs_minor 20 %global nodejs_patch 0 -%global nodejs_rel 3 -%global dist_rel 0 -%if %{dist_rel} == 0 -%global nodejs_pkg_release %{nodejs_rel}%{?dist} -%else -%global nodejs_pkg_release %{nodejs_rel}%{?dist}.%{dist_rel} -%endif +%global nodejs_rel 4 # nodejs_soversion - from NODE_MODULE_VERSION in src/node_version.h %global nodejs_soversion 115 %global nodejs_abi %{nodejs_soversion} -%global nodejs_ver %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} -%global nodejs_envr %{nodejs_ver}-%{nodejs_pkg_release} +%global nodejs_version %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch} +%global nodejs_ver %{nodejs_version} %global nodejs_datadir %{_datarootdir}/node-%{nodejs_major} +%global pkgname nodejs%{nodejs_major} # == Bundled Dependency Versions == # v8 - from deps/v8/include/v8-version.h @@ -23,7 +18,6 @@ %global v8_build 244 %global v8_patch 8 %global v8_version %{v8_major}.%{v8_minor}.%{v8_build}.%{v8_patch} -%global v8_release %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_pkg_release} # zlib - from deps/zlib/zlib.h %global zlib_version 1.3.1 @@ -58,7 +52,8 @@ %global simdutf_version 6.4.2 # OpenSSL minimum version -%global openssl_minimum 3.0.2 +%global openssl11_minimum 1.1.1 +%global openssl30_minimum 3.0.2 # punycode - from lib/punycode.js # Note: this was merged into the mainline since 0.6.x @@ -67,8 +62,6 @@ # npm - from deps/npm/package.json %global npm_version 10.8.2 -%global npm_release %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_pkg_release} -%global npm_envr %{npm_version}-%{npm_release} # uvwasi - from deps/uvwasi/include/uvwasi.h %global uvwasi_version 0.0.21 @@ -106,9 +99,14 @@ Summary: JavaScript runtime -Name: nodejs%{nodejs_major} -Version: %{nodejs_ver} -Release: %{nodejs_pkg_release} +Name: %{pkgname} +Version: %{nodejs_version} +Release: %{nodejs_rel}%{?dist} +%global nodejs_release %{release} +%global nodejs_envr %{nodejs_version}-%{nodejs_release} +%global npm_release %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} +%global npm_envr %{npm_version}-%{npm_release} +%global v8_release %{nodejs_major}.%{nodejs_minor}.%{nodejs_patch}.%{nodejs_release} License: Apache-2.0 AND Artistic-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BlueOak-1.0.0 AND CC-BY-3.0 AND CC0-1.0 AND ISC AND MIT Group: Development/Languages URL: http://nodejs.org/ @@ -134,9 +132,9 @@ Patch0003: 0001-missing-cstdint-fix.patch ExclusiveArch: %{nodejs_arches} BuildRequires: make -BuildRequires: python3-devel -BuildRequires: python3-setuptools -BuildRequires: python3-jinja2 +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +BuildRequires: python%{python3_pkgversion}-jinja2 BuildRequires: brotli-devel BuildRequires: gcc >= 8.3.0 BuildRequires: gcc-c++ >= 8.3.0 @@ -147,17 +145,17 @@ BuildRequires: chrpath BuildRequires: libatomic BuildRequires: ninja-build BuildRequires: unzip -BuildRequires: openssl >= %{openssl_minimum} -BuildRequires: openssl-devel >= %{openssl_minimum} +BuildRequires: openssl >= %{openssl30_minimum} +BuildRequires: openssl-devel >= %{openssl30_minimum} BuildRequires: libuv-devel >= %{libuv_version} Requires: ca-certificates Requires: libuv >= %{libuv_version} -Requires: nodejs%{nodejs_major}-libs = %{nodejs_envr} +Requires: %{pkgname}-libs = %{nodejs_envr} -Recommends: nodejs%{nodejs_major}-docs = %{nodejs_envr} -Recommends: nodejs%{nodejs_major}-full-i18n = %{nodejs_envr} -Recommends: nodejs%{nodejs_major}-npm >= %{npm_envr} +Recommends: %{pkgname}-docs = %{nodejs_envr} +Recommends: %{pkgname}-full-i18n = %{nodejs_envr} +Recommends: %{pkgname}-npm >= %{npm_envr} Provides: nodejs(abi) = %{nodejs_abi} Provides: nodejs(abi%{nodejs_major}) = %{nodejs_abi} @@ -204,11 +202,11 @@ makes it lightweight and efficient, perfect for data-intensive \ real-time applications that run across distributed devices.} -%package -n nodejs%{nodejs_major}-devel +%package -n %{pkgname}-devel Summary: JavaScript runtime - development headers Group: Development/Languages -Requires: nodejs%{nodejs_major} = %{nodejs_envr} -Requires: nodejs%{nodejs_major}-libs = %{nodejs_envr} +Requires: %{pkgname} = %{nodejs_envr} +Requires: %{pkgname}-libs = %{nodejs_envr} Requires: openssl-devel %if !%{with bundled_zlib} Requires: zlib-devel @@ -220,52 +218,52 @@ Requires: nodejs-packaging Requires: libuv-devel %endif -%description -n nodejs%{nodejs_major}-devel +%description -n %{pkgname}-devel Development headers for the Node.js JavaScript runtime. -%package -n nodejs%{nodejs_major}-libs +%package -n %{pkgname}-libs Summary: Node.js and v8 libraries -%description -n nodejs%{nodejs_major}-libs +%description -n %{pkgname}-libs Libraries to support Node.js and provide stable v8 interfaces. -%package -n nodejs%{nodejs_major}-full-i18n +%package -n %{pkgname}-full-i18n Summary: Non-English locale data for Node.js -Requires: nodejs%{nodejs_major} = %{nodejs_envr} +Requires: %{pkgname} = %{nodejs_envr} -%description -n nodejs%{nodejs_major}-full-i18n +%description -n %{pkgname}-full-i18n 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 nodejs%{nodejs_major}-docs +%package -n %{pkgname}-docs Summary: Node.js API documentation Group: Documentation BuildArch: noarch -Requires: nodejs%{nodejs_major} = %{nodejs_envr} +Requires: %{pkgname} = %{nodejs_envr} -%description -n nodejs%{nodejs_major}-docs +%description -n %{pkgname}-docs The API documentation for the Node.js JavaScript runtime. %package -n v8-%{v8_major}.%{v8_minor}-devel Summary: v8 - development headers Version: %{v8_version} Release: %{v8_release} -Requires: nodejs%{nodejs_major}-devel = %{nodejs_envr} -Requires: nodejs%{nodejs_major}-libs = %{nodejs_envr} +Requires: %{pkgname}-devel = %{nodejs_envr} +Requires: %{pkgname}-libs = %{nodejs_envr} %description -n v8-%{v8_major}.%{v8_minor}-devel Development headers for the v8 runtime. -%package -n nodejs%{nodejs_major}-npm +%package -n %{pkgname}-npm Summary: Node.js Package Manager Version: %{npm_version} Release: %{npm_release} -Requires: nodejs%{nodejs_major} = %{nodejs_envr} -Recommends: nodejs%{nodejs_major}-docs = %{nodejs_envr} +Requires: %{pkgname} = %{nodejs_envr} +Recommends: %{pkgname}-docs = %{nodejs_envr} -%description -n nodejs%{nodejs_major}-npm +%description -n %{pkgname}-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. @@ -563,6 +561,9 @@ end %changelog +* Mon Mar 30 2026 Zhao Zhen - 20.20.0-4 +- fixed install error + * Mon Mar 30 2026 Zhao Zhen - 20.20.0-3 - fixed install error via modifing release number definition