Skip to content

feat: add trace_path module to get path between two components#185

Merged
Urist-McGit merged 7 commits intomainfrom
fm/backtrack
Mar 4, 2026
Merged

feat: add trace_path module to get path between two components#185
Urist-McGit merged 7 commits intomainfrom
fm/backtrack

Conversation

@fmoessbauer
Copy link
Member

When working with SBOMs a common task is to analyze dependency chains, e.g. to reason why a package was installed or whom to contact regarding a dependency subtree. For that, we implement the backtrack feature that computes paths between a component and the root component.

@fmoessbauer fmoessbauer requested a review from Urist-McGit March 3, 2026 13:05
@fmoessbauer fmoessbauer marked this pull request as draft March 3, 2026 15:00
@fmoessbauer fmoessbauer force-pushed the fm/backtrack branch 3 times, most recently from 1dab304 to e2e68d5 Compare March 3, 2026 16:03
@fmoessbauer
Copy link
Member Author

Depends on #186

The name is too generic. As a preparation to add more command specific
dependencies, we make the name more specific.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
When creating our internal package representation from an CycloneDX or
SPDX package, extract the maintainer as well. This information is useful
when providing the parsed information to the user.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
@fmoessbauer fmoessbauer marked this pull request as ready for review March 4, 2026 08:25
Copy link
Collaborator

@Urist-McGit Urist-McGit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not quite happy with the naming of the subcommand. The help for it says "trace path from component to root". Maybe trace would be a better name? Or backtrace even?

@fmoessbauer fmoessbauer force-pushed the fm/backtrack branch 2 times, most recently from 32bd239 to 0f10ace Compare March 4, 2026 10:00
@fmoessbauer
Copy link
Member Author

I am not quite happy with the naming of the subcommand. The help for it says "trace path from component to root". Maybe trace would be a better name? Or backtrace even?

As discussed offline, we decided to use trace-path as command name.

Copy link
Collaborator

@Urist-McGit Urist-McGit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In d99da6b you still use the backtrack term in the commit description. Please change it to trace-path.

Otherwise looks good.

@Urist-McGit
Copy link
Collaborator

You forgot to add the new subcommand in the README.

When working with SBOMs a common task is to analyze dependency chains,
e.g. to reason why a package was installed or whom to contact regarding
a dependency subtree. For that, we implement the tracepath feature that
computes paths between a component and the root component.

This command is only available if the optional networkx dependency is
also installed.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
@Urist-McGit Urist-McGit changed the title feat: add backtrack module to get path between two components feat: add trace_path module to get path between two components Mar 4, 2026
@Urist-McGit Urist-McGit merged commit a1858c2 into main Mar 4, 2026
14 checks passed
@Urist-McGit Urist-McGit deleted the fm/backtrack branch March 4, 2026 13:34
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

Successfully merging this pull request may close these issues.

2 participants