Skip to content

Adding SRPM duplicates check.#13315

Merged
christopherco merged 6 commits intomainfrom
pawelwi/fix_srpm_names_2.0
Apr 14, 2025
Merged

Adding SRPM duplicates check.#13315
christopherco merged 6 commits intomainfrom
pawelwi/fix_srpm_names_2.0

Conversation

@PawelWMS
Copy link
Copy Markdown
Contributor

@PawelWMS PawelWMS commented Apr 9, 2025

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 (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/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

Related to #13314

In 3.0 we've recently noticed that some of our specs generate SRPMs with identical names. This was causing the following issues:

  • In monthly production builds we'd end up publishing only one of the SRPMs out of all specs generating the same SRPM.
  • In fast-track builds we'd fail the build during the (S)RPM signing phase as it detects duplicate RPM files.

This issue is not present in 2.0, so this change only backport the duplicate SRPMs PR check.

NOTE
Two specs may have the same Name tag but still generate different SRPMs due to differences in versions. These are expected and are not considered to be duplicates. Examples:

  • golang.spec and golang-1.23.spec
  • the two rdma-core.spec - one in SPECS and one in SPECS-EXTENDED. In this case, even if the versions matched, the specs wouldn't build duplicates, because their packages are published to different PMC repositories.
Does this affect the toolchain?

No.

Test Methodology
  • PR check for this PR.

@PawelWMS PawelWMS requested a review from a team as a code owner April 9, 2025 04:47
@microsoft-github-policy-service microsoft-github-policy-service Bot added Tools main PR Destined for main labels Apr 9, 2025
@christopherco christopherco requested a review from Copilot April 11, 2025 06:59
Copy link
Copy Markdown
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.

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

Comment thread toolkit/scripts/check_srpm_duplicates.py Outdated
@christopherco christopherco merged commit 7e6c444 into main Apr 14, 2025
13 checks passed
@christopherco christopherco deleted the pawelwi/fix_srpm_names_2.0 branch April 14, 2025 04:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

main PR Destined for main Tools

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants