Add optional support for testing build dependencies #10

Closed
opened 2026-03-09 15:49:05 +00:00 by adamwill · 2 comments
Owner

Per discussion in #8 , @lbalhar would find it useful for rmdepcheck to have the ability to check build dependencies - that is, report when the tested package set would break the build dependencies of another package.

The design needs to be carefully considered here as we likely do not want to report this as a 'failure', and possibly not even run it, on Bodhi updates. It's envisaged to be mainly of use for running on pull requests, not so much as a "test" but more as information to the maintainer. As a first thought, we probably want to:

  • Make it configurable whether this check runs at all
  • Clearly separate its results from the run-time dependency results
  • Make it configurable whether this check 'failing' results in a non-zero exit code
Per discussion in https://forge.fedoraproject.org/quality/rmdepcheck/issues/8 , @lbalhar would find it useful for rmdepcheck to have the ability to check build dependencies - that is, report when the tested package set would break the build dependencies of another package. The design needs to be carefully considered here as we likely do not want to report this as a 'failure', and possibly not even run it, on Bodhi updates. It's envisaged to be mainly of use for running on pull requests, not so much as a "test" but more as information to the maintainer. As a first thought, we probably want to: * Make it configurable whether this check runs at all * Clearly separate its results from the run-time dependency results * Make it configurable whether this check 'failing' results in a non-zero exit code
Contributor

Thanks for this. I'd really like to see both runtime and buildtime deps check in PRs. From my point of view, making another package FTBFS is not as bad as making it FTI, but it's also an unpleasant surprise for other maintainers I'd like to avoid and this tool can help me achieve this.

Thanks for this. I'd really like to see both runtime and buildtime deps check in PRs. From my point of view, making another package FTBFS is not as bad as making it FTI, but it's also an unpleasant surprise for other maintainers I'd like to avoid and this tool can help me achieve this.
Author
Owner

So, #12 is kinda all we need on the rmdepcheck side for this, I think. Anything else turns out to be on the test harness side. To detect build dependency failures, just include the appropriate source repository as one of the baserepos.

If you don't want to detect build dep failures, just don't do that. If you want to detect them but not fail on them, I guess you can run twice - once for binary-only, once for binary+src - and only fail if the binary-only run fails (treat the binary+src run as informational). Or you can use the JSON output and parse it a bit - you can just read the package names and check whether they have ".src" in them. If all the errors have ".src" in their package names, you only have build dependency failures...

So, https://forge.fedoraproject.org/quality/rmdepcheck/pulls/12 is kinda all we need on the rmdepcheck side for this, I think. Anything else turns out to be on the test harness side. To detect build dependency failures, just include the appropriate source repository as one of the baserepos. If you don't want to detect build dep failures, just don't do that. If you want to detect them but not fail on them, I guess you can run twice - once for binary-only, once for binary+src - and only fail if the binary-only run fails (treat the binary+src run as informational). Or you can use the JSON output and parse it a bit - you can just read the package names and check whether they have ".src" in them. If all the errors have ".src" in their package names, you only have build dependency failures...
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
quality/rmdepcheck#10
No description provided.