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

Add rmw_fastrtps_dynamic_cpp to the explicit group deps #177

Merged
merged 1 commit into from
Feb 11, 2021

Conversation

cottsay
Copy link
Member

@cottsay cottsay commented Feb 5, 2021

The rmw_fastrtps_dynamic_cpp package, which is in the same repository as rmw_fastrtps_cpp, declares itself as a member of the rmw_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 after rmw_implementation, which then removed rmw_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 the rmw_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.

This package, which is in the same repository as rmw_fastrtps_cpp,
declares itself as a member of the rmw_implementation_packages group.
Fore completeness, and also because it is necessary for preresolved
groups to be comprehensive for RPM packaging purposes, the explicit
group list should contain this package.

Signed-off-by: Scott K Logan <logans@cottsay.net>
@cottsay cottsay added the bug Something isn't working label Feb 5, 2021
@cottsay cottsay self-assigned this Feb 5, 2021
@cottsay cottsay merged commit a92e3e2 into master Feb 11, 2021
@delete-merged-branch delete-merged-branch bot deleted the cottsay/fastrtps_dynamic branch February 11, 2021 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants