Generate only versioned rpms
Resolves: RHEL-67814
This commit is contained in:
parent
d3f89711aa
commit
b57548da40
@ -2,10 +2,6 @@
|
|||||||
# The default version will own /usr/bin/node and friends
|
# The default version will own /usr/bin/node and friends
|
||||||
%global nodejs_pkg_major 22
|
%global nodejs_pkg_major 22
|
||||||
|
|
||||||
%if 0%{?fedora} == 41 || 0%{?fedora} == 42 || 0%{?rhel} == 10
|
|
||||||
%global nodejs_default %{nodejs_pkg_major}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%global nodejs_default_sitelib %{_prefix}/lib/node_modules
|
%global nodejs_default_sitelib %{_prefix}/lib/node_modules
|
||||||
%global nodejs_private_sitelib %{nodejs_default_sitelib}_%{nodejs_pkg_major}
|
%global nodejs_private_sitelib %{nodejs_default_sitelib}_%{nodejs_pkg_major}
|
||||||
|
|
||||||
@ -220,20 +216,15 @@ BuildRequires: pkgconfig(sqlite3) >= 3.45.0
|
|||||||
|
|
||||||
%if 0%{?nodejs_default}
|
%if 0%{?nodejs_default}
|
||||||
Provides: nodejs = %{nodejs_envr}
|
Provides: nodejs = %{nodejs_envr}
|
||||||
# To keep the upgrade path clean, we Obsolete nodejsXX from the nodejs
|
|
||||||
# package and nodejsXX-foo from individual subpackages.
|
|
||||||
# Note that using Obsoletes without package version is not standard practice.
|
|
||||||
# Here we assert that *any* version of the system's default interpreter is
|
|
||||||
# preferable to an "extra" interpreter. For example, nodejs-20.5.0 will
|
|
||||||
# replace nodejs20-20.6.0.
|
|
||||||
%define unversioned_obsoletes_of_nodejsXX_if_default() %{expand:\
|
|
||||||
Obsoletes: nodejs%{nodejs_pkg_major}%{?1:-%{1}} < %{nodejs_envr}\
|
|
||||||
Provides: nodejs%{nodejs_pkg_major}%{?1:-%{1}} = %{nodejs_envr}\
|
|
||||||
}
|
|
||||||
%else
|
|
||||||
%define unversioned_obsoletes_of_nodejsXX_if_default() %{nil}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# RHEL-10: obsolete packages with the unversioned names;
|
||||||
|
# we do not want a default stream at all.
|
||||||
|
# The default version is set to the last version shipped in default stream
|
||||||
|
%define obsolete_default_stream_package() %{expand:\
|
||||||
|
Obsoletes: nodejs%{?1:-%{1}} < %{?2}%{!?2:22.13.1-2}
|
||||||
|
}
|
||||||
|
|
||||||
%if %{with bundled}
|
%if %{with bundled}
|
||||||
Provides: bundled(libuv) = %{libuv_version}
|
Provides: bundled(libuv) = %{libuv_version}
|
||||||
%else
|
%else
|
||||||
@ -357,7 +348,7 @@ Requires: nodejs-undici
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%unversioned_obsoletes_of_nodejsXX_if_default
|
%obsolete_default_stream_package
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -368,16 +359,6 @@ makes it lightweight and efficient, perfect for data-intensive \
|
|||||||
real-time applications that run across distributed devices.}
|
real-time applications that run across distributed devices.}
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?nodejs_default}
|
|
||||||
%description -n %{pkgname}
|
|
||||||
Node.js is a platform built on Chrome's JavaScript runtime \
|
|
||||||
for easily building fast, scalable network applications. \
|
|
||||||
Node.js uses an event-driven, non-blocking I/O model that \
|
|
||||||
makes it lightweight and efficient, perfect for data-intensive \
|
|
||||||
real-time applications that run across distributed devices.}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%package -n %{pkgname}-devel
|
%package -n %{pkgname}-devel
|
||||||
Summary: JavaScript runtime - development headers
|
Summary: JavaScript runtime - development headers
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
@ -397,7 +378,7 @@ Requires: libuv-devel%{?_isa}
|
|||||||
%if 0%{?nodejs_default}
|
%if 0%{?nodejs_default}
|
||||||
Provides: nodejs-devel = %{nodejs_envr}
|
Provides: nodejs-devel = %{nodejs_envr}
|
||||||
%endif
|
%endif
|
||||||
%unversioned_obsoletes_of_nodejsXX_if_default devel
|
%obsolete_default_stream_package devel
|
||||||
|
|
||||||
Provides: nodejs-devel-pkg = %{nodejs_envr}
|
Provides: nodejs-devel-pkg = %{nodejs_envr}
|
||||||
Conflicts: nodejs-devel-pkg
|
Conflicts: nodejs-devel-pkg
|
||||||
@ -427,7 +408,7 @@ Provides: v8%{?_isa} = %{v8_epoch}:%{v8_version}-%{nodejs_release}
|
|||||||
Obsoletes: v8 < 1:6.7.17-10
|
Obsoletes: v8 < 1:6.7.17-10
|
||||||
|
|
||||||
Provides: nodejs-libs = %{nodejs_envr}
|
Provides: nodejs-libs = %{nodejs_envr}
|
||||||
%unversioned_obsoletes_of_nodejsXX_if_default libs
|
%obsolete_default_stream_package libs
|
||||||
|
|
||||||
%description -n %{pkgname}-libs
|
%description -n %{pkgname}-libs
|
||||||
Libraries to support Node.js and provide stable v8 interfaces.
|
Libraries to support Node.js and provide stable v8 interfaces.
|
||||||
@ -437,7 +418,7 @@ Libraries to support Node.js and provide stable v8 interfaces.
|
|||||||
Summary: Non-English locale data for Node.js
|
Summary: Non-English locale data for Node.js
|
||||||
Requires: %{pkgname}%{?_isa} = %{nodejs_envr}
|
Requires: %{pkgname}%{?_isa} = %{nodejs_envr}
|
||||||
|
|
||||||
%unversioned_obsoletes_of_nodejsXX_if_default full-i18n
|
%obsolete_default_stream_package full-i18n
|
||||||
|
|
||||||
|
|
||||||
%description -n %{pkgname}-full-i18n
|
%description -n %{pkgname}-full-i18n
|
||||||
@ -486,13 +467,11 @@ Provides: npm = %{npm_envr}
|
|||||||
|
|
||||||
# Obsolete the old 'npm' package
|
# Obsolete the old 'npm' package
|
||||||
Obsoletes: npm < 1:9
|
Obsoletes: npm < 1:9
|
||||||
|
|
||||||
# Obsolete others. We can't use %%unversioned_obsoletes_of_nodejsXX_if_default
|
|
||||||
# here because the Provides: needs its own version
|
|
||||||
Obsoletes: nodejs%{nodejs_pkg_major}-npm < %{npm_envr}
|
|
||||||
Provides: nodejs%{nodejs_pkg_major}-npm = %{npm_envr}
|
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# Obsolete latest version of default stream package.
|
||||||
|
%obsolete_default_stream_package npm 10.9.2-1.22.13.1.2
|
||||||
|
|
||||||
|
|
||||||
%description -n %{pkgname}-npm
|
%description -n %{pkgname}-npm
|
||||||
npm is a package manager for node.js. You can use it to install and publish
|
npm is a package manager for node.js. You can use it to install and publish
|
||||||
@ -506,7 +485,7 @@ BuildArch: noarch
|
|||||||
Requires(meta): %{pkgname} = %{nodejs_envr}
|
Requires(meta): %{pkgname} = %{nodejs_envr}
|
||||||
|
|
||||||
Provides: nodejs-docs = %{nodejs_envr}
|
Provides: nodejs-docs = %{nodejs_envr}
|
||||||
%unversioned_obsoletes_of_nodejsXX_if_default docs
|
%obsolete_default_stream_package docs
|
||||||
|
|
||||||
|
|
||||||
%description -n %{pkgname}-docs
|
%description -n %{pkgname}-docs
|
||||||
|
Loading…
Reference in New Issue
Block a user