Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drop "dependencies" table for all packages #262

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

bcressey
Copy link
Contributor

Issue number:
N/A

Description of changes:
buildsys is only capable of modeling build-time dependencies, and only for dependencies that fall within the current workspace - not anything that comes from a kit.

Using the "dependencies" table to track the runtime dependencies of the generated RPMs is superfluous, and likely to be incorrect even for packages that reside in the same workspace. Meanwhile, it cannot work properly for runtime dependencies that come from kits, since the metadata for those packages is not available.

Historically, listing these packages as a dependency caused them to be built before the dependent package was used. The "release" package in particular depended on most packages in the workspace, which meant that they would be built even if none of the variants included them as an explicit dependency.

Now all the packages in the workspace are expected to be dependencies of the kit that includes them, so this workaround is not necessary.

Testing done:
Built locally.

Terms of contribution:

By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.

`buildsys` is only capable of modeling build-time dependencies, and
only for dependencies that fall within the current workspace - not
anything that comes from a kit.

Using the "dependencies" table to track the runtime dependencies of
the generated RPMs is superfluous, and likely to be incorrect even
for packages that reside in the same workspace. Meanwhile, it cannot
work properly for runtime dependencies that come from kits, since the
metadata for those packages is not available.

Historically, listing these packages as a dependency caused them to
be built before the dependent package was used. The "release" package
in particular depended on most packages in the workspace, which meant
that they would be built even if none of the variants included them
as an explicit dependency.

Now all the packages in the workspace are expected to be dependencies
of the kit that includes them, so this workaround is not necessary.

Signed-off-by: Ben Cressey <bcressey@amazon.com>
@@ -9,47 +9,3 @@ build = "../build.rs"

[lib]
path = "../packages.rs"

Copy link
Contributor

Choose a reason for hiding this comment

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

Neat!

@bcressey bcressey merged commit 2a75982 into bottlerocket-os:develop Nov 19, 2024
2 checks passed
@bcressey bcressey deleted the drop-deps-table branch November 19, 2024 05:11
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.

4 participants