← Back to issue list

`subprocess.run` emitting wrapper

View original Github issue

Metadata

Project
craft-parts
Number
#1023
Type
issue
State
open
Author
mattculler
Labels
—
Created
Updated
Closed
—

Current evaluation

Feature request for a general subprocess.run-style wrapper that logs the command and prefixes each output line with ':: '; existing os_utils.process_run is a starting point. Awaiting maintainer direction on placement; volunteer asked in July 2026.

Suggested action: needs triage

Reason: The issue has no labels, no assignee, and no maintainer reply: the only comment is @karkra911 (2026-07-20) asking "could you point me to the preferred location for implementing the subprocess wrapper and any existing code that should be reused?" — still unanswered 74 days later. The scope is also ambiguous since the request is to "upstream somewhere in a more general way" rather than land in craft-parts, and the referenced imagecraft discussion (PR #94) is not inspectable here. A concrete starting point does exist (craft_parts/utils/os_utils.py:339 `process_run`, which already prefixes ':: ' but does not log the command, with 7+ call sites in deb.py/dnf.py/yum.py/chisel.py/sources/base.py), so the request is valid but unprioritized and blocked on maintainer scoping.

Evaluated by: mr-cal-bot

Impact: 40 Quick Win: 8 Complexity: 50 Confidence: 74 Actionability: 42

Issue body

> This might be nice to have upstreamed somewhere in a more general way. [craft-parts](https://github.com/canonical/craft-parts/blob/37cafc6cfd8c12afb89847fe36c409a20975e1ed/craft_parts/utils/os_utils.py#L327-L345) does a version of this prepending `":: "` to each line of output in a log (but doesn't log the command itself) that could probably be merged into this in some way, and it would be better to have some version of this for all the other places we use subprocess in our apps. _Originally posted by @lengau in https://github.com/canonical/imagecraft/pull/94#discussion_r1965726929_ The private repo that I maintain has a similar `subprocess.run` wrapping function that could make use of this as well.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 40
Quick Win: 8
Complexity: 50
Confidence: 74
Actionability: 42
needs triage Feature request for a general subprocess.run-style wrapper that logs the command and prefixes each output line with ':: '; existing os_utils.process_run is a starting point. Awaiting maintainer direction on placement; volunteer asked in July 2026.
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 13
Complexity: 30
Confidence: 60
Actionability: 60
keep open Feature request to create a subprocess.run wrapper that prefixes output lines with ':: ', similar to craft-parts implementation. A contributor has expressed interest in implementing it.
qwen/qwen3.8-27b
Impact: 25
Quick Win: 14
Staleness: 45
Complexity: 45
Confidence: 75
Support Request: 10
needs triage Feature request for a general subprocess wrapper that logs the command and prefixes output lines with ':: ', consolidating craft-parts' process_run; unlabelled, a contributor asked for implementation guidance 42 days ago with no maintainer response.
qwen/qwen3.6-35b-a3b
Staleness: 50
Complexity: 25
Confidence: 85
Support Request: 10
needs triage Feature request to create a reusable subprocess.run wrapper for consistent logging across the codebase. Open for over a year with a contributor recently requesting guidance to implement it.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 30
Confidence: 75
Support Request: 10
needs triage Suggestion to create a reusable wrapper for subprocess.run to improve logging and output handling. Unlabelled, inactive for over a year, with no maintainer response or triage.

Update history

Date Change
updated

Related work

  • Related To: canonical/imagecraft#94 (confidence 92%)

    Issue body quotes lengau's review comment at https://github.com/canonical/imagecraft/pull/94#discussion_r1965726929, where this wrapper was originally proposed; that PR is merged.

  • Related To: craft-parts#832 (confidence 80%)

    Merged PR adding unit tests for the existing os_utils.process_run function (commit 5b9dffb3), the natural base this wrapper would build on.

Related issues

No related issues found above the similarity threshold.