Skip to content

Conversation

@sandeepkarambelkar
Copy link
Contributor

@sandeepkarambelkar sandeepkarambelkar commented Feb 10, 2026

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

Fix npm coexistence with respective nodejs versions
The npm version constraint causing conflict due to nodejs24 addition.
Made changes to mark npm24 distinct from previous npm and added conflict between the two.

Change Log
  • nodejs
  • nodejs24
  • npm
  • npm24
Does this affect the toolchain?

NO

Test Methodology

@sandeepkarambelkar sandeepkarambelkar requested a review from a team as a code owner February 10, 2026 07:51
@microsoft-github-policy-service microsoft-github-policy-service bot added Packaging fasttrack/3.0 PRs Destined for Azure Linux 3.0 labels Feb 10, 2026
@sandeepkarambelkar
Copy link
Contributor Author

sandeepkarambelkar commented Feb 10, 2026

Verified the RPMs installation and confirmed that after recent changes npm routes to nodejs-npm version 20.14.0-13.azl3 whereas if we need 24 version, we need to use npm24.

sandeep@marinerDevVM [ ~/nodejs24/RPMS ]$ sudo tdnf install npm
Loaded plugin: tdnfrepogpgcheck
[using capability match for 'npm']
[using capability match for 'npm']

Installing:
c-ares x86_64 1.30.0-1.azl3 azurelinux-official-base 195.46k 105.38k
nodejs x86_64 20.14.0-13.azl3 localnodejs24repo 50.45M 15.62M
nodejs-npm x86_64 20.14.0-13.azl3 localnodejs24repo 10.53M 2.30M

Total installed size: 61.17M
Total download size: 18.02M
Is this ok [y/N]: N
Error(1032) : Operation aborted.
sandeep@marinerDevVM [ ~/nodejs24/RPMS ]$ sudo tdnf install npm24
Loaded plugin: tdnfrepogpgcheck
[using capability match for 'npm24']
[using capability match for 'npm24']

Installing:
c-ares x86_64 1.30.0-1.azl3 azurelinux-official-base 195.46k 105.38k
nodejs24 x86_64 24.13.0-2.azl3 localnodejs24repo 64.67M 20.96M
nodejs24-npm24 x86_64 24.13.0-2.azl3 localnodejs24repo 12.18M 2.49M

Total installed size: 77.04M
Total download size: 23.56M
Is this ok [y/N]: N
Error(1032) : Operation aborted.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Node.js 24 spec to avoid clashes with the existing npm packaging model by splitting/renaming the npm subpackage and adding conflict metadata.

Changes:

  • Bump nodejs24 release to -2.
  • Rename the nodejs24 npm subpackage from npm to npm24, and add Conflicts: npm.
  • Use %{_smp_build_ncpus} for the JOBS build setting instead of a hardcoded value.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Group: System Environment/Base
Requires: %{name} = %{version}-%{release}
Provides: npm = %{npm_version}.%{version}-%{release}
Provides: npm24 = %{npm_version}.%{version}-%{release}
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Renaming the subpackage from %package npm to %package npm24 changes the generated RPM name from nodejs24-npm to nodejs24-npm24. Without an explicit migration (e.g., Obsoletes:/Provides: for the old nodejs24-npm name), upgrades from 24.13.0-1 can leave users with the old nodejs24-npm installed (which requires nodejs24 = 24.13.0-1) and block updating nodejs24 to release -2, or cause nodejs24-npm to be removed without pulling in the replacement. Add the appropriate Obsoletes/Provides so dnf upgrade transitions cleanly to the new subpackage name.

Suggested change
Provides: npm24 = %{npm_version}.%{version}-%{release}
Provides: npm24 = %{npm_version}.%{version}-%{release}
Provides: nodejs24-npm = %{version}-%{release}
Obsoletes: nodejs24-npm < %{version}-%{release}

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jslobodzian , Do you think we will need this? If we are going to remove older nodejs24-npm version from pmc, we will not need this.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it hurts. While I removed the older nodejs24 package I cannot say who else used it during the time it was present.

Copy link
Contributor

@Kanishk-Bansal Kanishk-Bansal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes LGTM and RPM is verified as well, Before merging kindly check https://github.com/microsoft/azurelinux/pull/15777/changes#r2792082422

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fasttrack/3.0 PRs Destined for Azure Linux 3.0 Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants