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

Buildstream should identify if an element moves from build-depend to depend, and not recompile. #1405

Open
Cynical-Optimist opened this issue Oct 14, 2020 · 2 comments

Comments

@Cynical-Optimist
Copy link

See original issue on GitLab
In GitLab by [Gitlab user @tcanabrava] on Oct 13, 2020, 15:22

when we have a library that is incorrectly configured, and we need to move an element from build-depend to depend there is no need to recompile.
If this library is down on the stack, it get's worse as everything that depends on it will also be recompiled, but the result library is the same.

@Cynical-Optimist
Copy link
Author

In GitLab by [Gitlab user @tristanvb] on Oct 13, 2020, 15:36

Seems like this should produce the same cache key for the element itself, but not for any reverse dependencies which have a build dependency on the element which changed.

  • When you move a dependency from build-depends to depends, you are making a statement that this dependency is required at runtime.
  • A reverse dependency which build depends on this element, requires this element to run at the time the reverse dependency builds, thus, the new runtime dependency is necessarily a new build time dependency for any reverse build dependencies.

Is this essentially the behavior you are observing ? Or is the element itself also rebuilt as a result of this, not only its reverse dependencies ?

@Cynical-Optimist
Copy link
Author

In GitLab by [Gitlab user @tcanabrava] on Oct 13, 2020, 18:46

you are completely right, I misunderstood the issue.

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

No branches or pull requests

1 participant