## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 6; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # This is an empty "metapackage". It is used solely as a handle for selecting # one of the other nodejsXY "stream" packages, and does not contain any files itself. # Which "stream" packages gets selected is controlled by the version field/macro. Name: nodejs Epoch: 3 Version: 22 Release: %{autorelease} Summary: Node.js JavaScript runtime meta-package License: MIT URL: https://nodejs.org/ BuildArch: noarch # The %%{version}, %%{release}, etc. macros are only set # *after* the corresponding field (Version:, Release:, …) is parsed! %global nodejs_evr %{epoch}:%{version}-%{release} # This required for dynamic manpages detection and symlinking BuildRequires: nodejs%{version}-npm BuildRequires: nodejs%{version}-bin Requires: nodejs%{version} Recommends: nodejs-bin Recommends: nodejs-npm = %{nodejs_evr} %description This is a meta-package that installs the recommended version of Node.js JavaScript runtime. It relies on nodejs%{version} to provide all necessary dependencies. %package npm Summary: Node.js Package Manager meta-package Requires: nodejs = %{nodejs_evr} Requires: nodejs%{version}-npm Recommends: nodejs-npm-bin Provides: npm %description npm Meta-package that installs the nodejs%{version}-npm package, which contains the appropriate version of Node.js Package Manager. # These contain the -bin symlinks and are provided for consistency with other streams %package bin Summary: Node.js JavaScript runtime meta-package – unversioned symlinks Requires: nodejs = %{nodejs_evr} Provides: alternative-for(nodejs-bin) = %{nodejs_evr} Conflicts: alternative-for(nodejs-bin) %description bin Binary symlinks for the rolling meta-package. %package npm-bin Summary: Node.js Package Manager meta-package – binary symlinks Requires: nodejs-npm = %{nodejs_evr} Provides: alternative-for(nodejs-npm-bin) = %{nodejs_evr} Conflicts: alternative-for(nodejs-npm-bin) %description npm-bin Binary symlinks for the rolling meta-package (npm parts). %prep # No source to prepare %build # Nothing to build %install # Create symlinks to versioned binaries mkdir -p "${RPM_BUILD_ROOT}%{_bindir}" pushd "${RPM_BUILD_ROOT}%{_bindir}" for binname in node npm npx; do ln -srfL "${binname}-%{version}" "${binname}" done popd # Create unversioned man page symlinks for -bin packages # Iterate through existing man pages, recreating structure in standard location SYSTEM_VERSIONED_MANDIR="%{_datadir}/node-%{version}/man" # find all the sections, recreate them in %{_mandir} find "${SYSTEM_VERSIONED_MANDIR}" -type d -name 'man[123456789]' -printf "${RPM_BUILD_ROOT}%{_mandir}/%%P\0" | xargs -0 mkdir -p # link all the individual manpages find "${SYSTEM_VERSIONED_MANDIR}" -type f -name '*.[123456789]*' -printf '%%P\n' | while read -r man_stem; do ln -srfL "${SYSTEM_VERSIONED_MANDIR}/${man_stem}" "${RPM_BUILD_ROOT}%{_mandir}/${man_stem}" done %files %files npm %files bin %{_bindir}/node %{_mandir}/man1/node.1* %files npm-bin %{_bindir}/npm %{_bindir}/npx %{_mandir}/ %exclude %{_mandir}/man1/node.1* %changelog ## START: Generated by rpmautospec * Thu Jan 22 2026 Jan Staněk - 3:22-6 - Do not generate -devel rpm * Tue Jan 20 2026 Jan Staněk - 3:22-5 - Import the metapackage * Thu Jan 19 2023 Fedora Release Engineering - 1:18.12.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Mon Dec 12 2022 Jan Staněk - 1:18.12.1-3 - Check bundled WASM sources for version mismatch * Mon Dec 12 2022 Jan Staněk - 1:18.12.1-2 - Include sources for WASM blobs * Mon Nov 07 2022 Stephen Gallagher - 1:18.12.1-1 - Update to security release 18.12.1 * Tue Nov 01 2022 Stephen Gallagher - 1:18.11.0-4 - Update python3_fixup * Thu Oct 20 2022 Stephen Gallagher - 1:18.11.0-3 - Move native module autorequires to nodejs-packaging * Thu Oct 20 2022 Stephen Gallagher - 1:18.11.0-2 - Fix symlinks * Wed Oct 19 2022 Stephen Gallagher - 1:18.11.0-1 - Update to 18.11.0 * Tue Oct 04 2022 Stephen Gallagher - 1:18.10.0-1 - Update to 18.10.0 * Fri Sep 23 2022 Stephen Gallagher - 1:18.9.1-1 - Fix incorrect version number * Fri Sep 23 2022 Stephen Gallagher - 1:18.9.0-4 - Update to 18.9.1 * Thu Sep 15 2022 Stephen Gallagher - 1:18.9.0-3 - Simplify manpage packaging * Wed Sep 14 2022 Stephen Gallagher - 1:18.9.0-2 - Add f37 to package.cfg * Wed Sep 14 2022 Stephen Gallagher - 1:18.9.0-1 - 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 * Wed Jul 27 2022 Stephen Gallagher - 1:18.7.0-1 - Update to 18.7.0 * Tue Jul 26 2022 Stephen Gallagher - 1:18.6.0-5 - Drop mass-rebuild changelog entry * Mon Jul 25 2022 Stephen Gallagher - 1:18.6.0-4 - Bump release version * Mon Jul 25 2022 Stephen Gallagher - 1:18.6.0-3 - Fix incorrect release bump * Fri Jul 22 2022 Fedora Release Engineering - 1:18.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Thu Jul 14 2022 Stephen Gallagher - 1:18.6.0-1 - Update to 18.6.0 * Mon Jul 11 2022 Stephen Gallagher - 1:18.5.0-1 - Update to 18.5.0 * Mon Jun 27 2022 Stephen Gallagher - 1:18.4.0-4 - Re-enable LTO builds ## END: Generated by rpmautospec