Skip to content

workaround(vamp-plugin-sdk): fix dependency race in Makefile with a patch overlay#16234

Open
binujp wants to merge 1 commit intotomls/base/mainfrom
bphilip/vamp-no-lto
Open

workaround(vamp-plugin-sdk): fix dependency race in Makefile with a patch overlay#16234
binujp wants to merge 1 commit intotomls/base/mainfrom
bphilip/vamp-no-lto

Conversation

@binujp
Copy link
Contributor

@binujp binujp commented Mar 19, 2026

Investigating build logs of failed vamp-plugin-sdk builds showed a possible race in multiple targets which work on static version of vamp* libaries. The fix is to fix the recipes to force correct dependencies. A local build and more than one koji build with the changes succeeded.

https://52.249.25.247/koji/taskinfo?taskID=656595

There is a bug in azldev patch which prevents a numbered patch being added when bare "patch" tag is present. As a workaround the new patch is added via a regexp replace overlay.

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

What does the PR accomplish, why was it needed?

Change Log
  • Change
  • Change
  • Change
Does this affect the toolchain?

YES/NO

Associated issues
  • #xxxx
Links to CVEs
Test Methodology
  • Pipeline build id: xxxx

Copilot AI review requested due to automatic review settings March 19, 2026 05:48
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

This PR adds an Azure Linux component override for vamp-plugin-sdk to apply a Makefile fix that prevents a parallel-make dependency race when building static archives, delivered via a patch added to the component’s sources and referenced from the spec via a spec-search-replace workaround.

Changes:

  • Add a new vamp-plugin-sdk.comp.toml with overlays to inject a new patch reference into the spec and add the patch file to sources.
  • Add makefile-libvamp-sdk-race-fix.patch to move ranlib steps into the archive-producing targets to avoid link-time races under make -j.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
base/comps/vamp-plugin-sdk/vamp-plugin-sdk.comp.toml Introduces overlays to reference and ship a new patch (using spec-search-replace + file-add).
base/comps/vamp-plugin-sdk/makefile-libvamp-sdk-race-fix.patch Patch adjusting Makefile.in recipes to eliminate ranlib/archive race in parallel builds.

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

You can also share your feedback on Copilot code review. Take the survey.

Copy link
Contributor

@ddstreetmicrosoft ddstreetmicrosoft left a comment

Choose a reason for hiding this comment

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

issue: when available, always use the actual upstream commit as generated from git format-patch

suggestion: please replace this patch file with vamp-plugins/vamp-plugin-sdk@da2d66f

…ch from upstream

Investigating build logs of failed vamp-plugin-sdk builds showed a possible race
in multiple targets which work on static version of vamp* libaries. The fix is to
fix the recipes to force correct dependencies. A local build and more than one
koji build with the changes succeeded.

There is a bug in azldev patch which prevents a numbered patch being added when
bare "patch" tag is present. As a workaround the new patch is added via a regexp
replace overlay.
@binujp binujp force-pushed the bphilip/vamp-no-lto branch from e816c92 to 56e15f6 Compare March 19, 2026 19:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants