Add rmw_fastrtps_dynamic_cpp to the explicit group deps #177
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.
The
rmw_fastrtps_dynamic_cpp
package, which is in the same repository asrmw_fastrtps_cpp
, declares itself as a member of thermw_implementation_packages
group. For completeness, and also because it is necessary for pre-resolved groups to be comprehensive for RPM packaging purposes, the explicit group list should contain this package.The longer explanation of the motivation for this change stems from the lack of support for what RPM calls "boolean dependencies" in RHEL 7. We currently use this sort of mechanism in patching our debians to express a group relationship on "one or more group members". To achieve the same behavior in the RPM spec files, the group members declare that they provide a virtual package for the group, and the downstream package declares a dependency on that virtual package, which could then be satisfied by any of the group members providing it. This has the side effect that when an upstream package is built, it invalidates all downstream packages in the repository that depend on it. Since this package was missing from the list here, the buildfarm's dependency tree was unaware of the dependency and built
rmw_fastrtps_dynamic_cpp
afterrmw_implementation
, which then removedrmw_implementation
from the repository when its build finished and it was added.I'm not sure exactly why
rmw_implementation
needs the RMW packages present at build time, or why the absence of this particular RMW package isn't causing any problems for the debians. It's possible that the real dependency is on RMWs that use static typesupport, and that we've been "piggybacking" on thermw_implementation_packages
group as being "close enough" to express that dependency. If that's the case, we should add a new group to satisfy the use case. For now, this is needed to unblock the RPM builds.