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

only build the packages needed for the current variant #1361

Closed
webern opened this issue Mar 1, 2021 · 2 comments · Fixed by #1408
Closed

only build the packages needed for the current variant #1361

webern opened this issue Mar 1, 2021 · 2 comments · Fixed by #1408
Assignees
Labels
type/enhancement New feature or request
Milestone

Comments

@webern
Copy link
Contributor

webern commented Mar 1, 2021

What I'd like:

We have a build-packages phase that builds all packages, even those that aren't needed for the variant currently being built. See if we can build only the packages that we need for the current variant.

Any alternatives you've considered:

Leaving it the way it is... but this becomes more problematic as we have more large packages (multiple kubernetes versions, or kernels, for example).

@webern webern self-assigned this Mar 1, 2021
@jhaynes jhaynes changed the title build: only build the packages needed for the current variany build: only build the packages needed for the current variant Mar 1, 2021
@jhaynes jhaynes added priority/p2 type/enhancement New feature or request labels Mar 1, 2021
@webern webern changed the title build: only build the packages needed for the current variant only build the packages needed for the current variant Mar 2, 2021
@bcressey
Copy link
Contributor

bcressey commented Mar 2, 2021

One difficulty here is that the "packages" we include in a variant definition can be sub-packages at the RPM spec level. For example, the k8s variants now include "static-pods" which is a sub-package of packages/os/os.spec.

This property is useful at image construction time, since we can easily create a list of specific RPM packages to install. However, for the purposes of limiting the build to just the packages that we need, it implies a need to expand our spec file parsing to account for potential package outputs.

@webern
Copy link
Contributor Author

webern commented Mar 3, 2021

Yeah, and I think the other problem is release.spec which expects all of it's RPMs to be exist? For a proof of concept I'm thinking of hacking Cargo.toml[dependencies] to invoke cargo build on all prerequisites before arriving at the 'cumulative' specs.

@jhaynes jhaynes added this to the next milestone Mar 24, 2021
@gregdek gregdek added the status/in-progress This issue is currently being worked on label Mar 24, 2021
@jhaynes jhaynes linked a pull request Apr 1, 2021 that will close this issue
@jhaynes jhaynes modified the milestones: next, next+1 Apr 5, 2021
@bcressey bcressey removed the status/in-progress This issue is currently being worked on label Nov 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants