Add os, arch, and distros support#405
Merged
jericop merged 3 commits intopaketo-buildpacks:mainfrom Jul 17, 2025
Merged
Conversation
Add Arch, OS, and Distros support in buildpack.toml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This change adds support for os, arch, and distros to buildpack dependency metatadata. This makes it possible to create buildpacks with the required metadata to support multiple architectures. In order to make this change the version of syft and docker had to be updated as well. Both had breaking changes that required code and unit/integration tests updates. Additional fields have been added to existing tests to verify os, arch, and distros support. Lastly, numerous updates were needed to fix listing errors. The commit history shows the actual changes, unit tests updates, and then changes needed to fix linting errors. Many of the errors were caused by deferred function calls that did not check the error return value. I updated the function calls to allow errors to bubble up whenever possible.
The output of the sbom json data generated by syft has changed slightly, but it does not appear to be significant. The bomFormat and specVersion have not changed, but the json schema was updated from 2.0.2 to 16.0.34. This change appears to add additional fields and one or more type changes (string to list for
idLike).pre-requisite PRs that have already been merged and released:
buildpacks/imgutil#291
buildpacks/pack#2406
resolves paketo-buildpacks/packit#650
Use Cases
Checklist