← Back to issue list

scons plugin: Support `disable-parallel` parameter

View original Github issue

Metadata

Project
craft-parts
Number
#1251
Type
issue
State
open
Author
lengau
Labels
Type: Enhancement Status: Needs information
Created
Updated
Closed
—

Current evaluation

Maintainer-filed enhancement (lengau) asking the scons plugin to honour the disable-parallel part property, like autotools; explicitly deferred as "extremely low priority" pending a real-world use case. Labeled Needs information, no comments.

Suggested action: keep open

Reason: The issue is a valid, maintainer-owned enhancement (author lengau) already categorised with Type: Enhancement and Status: Needs information, and it is still open — but the body itself says it is "extremely low priority until someone shows us a real-world use case" that can be tested against, so it should stay open awaiting that input. Value is limited: craft_parts/plugins/scons_plugin.py get_build_commands() emits plain `scons`/`scons install` with no `-j` flag, and SCons is serial by default, so disable_parallel would mostly be a no-op unless a user passes -j via scons-parameters. Implementation would mirror the tiny existing pattern in autotools_plugin.py (`"make" if options.disable_parallel else f"make -j{self._part_info.parallel_build_count}"`), so the only blocker is the missing use case, not technical difficulty.

Evaluated by: mr-cal-bot

Impact: 20 Quick Win: 6 Complexity: 20 Confidence: 84 Actionability: 40

Issue body

### What needs to get done Support the [disable-parallel](https://canonical-craft-parts.readthedocs-hosted.com/latest/common/craft-parts/reference/part_properties/#disable-parallel) part property in the scons plugin. ### Why it needs to get done All of our plugins should theoretically support this. In practice though, this is extremely low priority until someone shows us a real-world use case for it. If someone can bring us a real-world use case that we can test against (especially a case of "this application simply does not build with parallel"), that would be ideal. The [autotools plugin](https://github.com/canonical/craft-parts/pull/1167) required this for OpenJDK builds, for example.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 20
Quick Win: 6
Complexity: 20
Confidence: 84
Actionability: 40
keep open Maintainer-filed enhancement (lengau) asking the scons plugin to honour the disable-parallel part property, like autotools; explicitly deferred as "extremely low priority" pending a real-world use case. Labeled Needs information, no comments.
qwen/qwen3.6-35b-a3b
Impact: 15
Quick Win: 2
Complexity: 30
Confidence: 75
Actionability: 20
keep open Enhancement to add disable-parallel support to the scons plugin. Open 384 days, labeled Needs information, awaiting a real-world use case with zero comments.
qwen/qwen3.8-27b
Impact: 15
Quick Win: 13
Staleness: 75
Complexity: 15
Confidence: 75
Support Request: 5
close stale Request to add the disable-parallel part property to the scons plugin. Labeled 'Needs information' by the maintainer, who called it extremely low priority until a real-world use case is provided; no use case or activity in ~12 months.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 25
Confidence: 75
Support Request: 5
close stale Enhancement to add disable-parallel support to the scons plugin. Labeled needs information, inactive for over 10 months, awaiting a real-world use case from the author.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 15
Confidence: 80
Support Request: 0
close stale Request to add disable-parallel support to the scons plugin. Labeled needs information, inactive for 10 months with no use case provided or maintainer follow-up.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#1234 (confidence 90%)

    Sibling issue from the same batch (cmake plugin disable-parallel); also open, labeled Enhancement/Needs information, awaiting the same real-world use case.

  • Related To: craft-parts#1245 (confidence 88%)

    Sibling meson plugin disable-parallel issue; the whole family (#1232, #1234, #1237, #1238, #1242, #1245, #1246, #1250) is deferred together pending one concrete use case.

  • Related To: canonical/craft-parts#1167 (confidence 80%)

    Cited in the issue body as the autotools plugin change that added disable-parallel support for OpenJDK builds — the reference implementation pattern.

Related issues

Issue Project State Summary Similarity
#1242 make plugin: Support `disable-parallel` parameter craft-parts open Enhancement: make plugin should honor the disable-parallel part property (currently always emits make -j"N"). Filed by a maintainer, labeled Triaged/Enhancement, and explicitly deferred as "extremely low priority" until a real-world non-parallel-build use case is supplied; autotools already has it via PR #1167.
81%
#1235 dotnet plugin: Support `disable-parallel` parameter craft-parts open Maintainer-filed enhancement: dotnet plugin does not honor the existing `disable-parallel` part property. Labeled Needs information and explicitly deferred as "extremely low priority" pending a real-world use case; no comments in 395 days.
79%
#1249 qmake plugin: Support `disable-parallel` parameter craft-parts open Enhancement: add disable-parallel support to the qmake plugin. Maintainer-filed, labeled Needs information; explicitly deferred as low priority pending a real-world use case. One of six sibling per-plugin issues (cmake, meson, make, go, rust).
79%
#1245 meson plugin: Support `disable-parallel` parameter craft-parts open Enhancement request to add `disable-parallel` support to the meson plugin. Open, labelled Enhancement/Needs information by maintainer lengau; explicitly deprioritized until someone provides a real-world use case to test against.
79%
#1234 cmake plugin: Support `disable-parallel` parameter craft-parts open Enhancement: make the cmake plugin honour the `disable-parallel` part property. Still unimplemented at HEAD (cmake_plugin.py always emits `-j{parallel_build_count}`). Maintainer-filed, labelled Enhancement/Needs information; explicitly deprioritised pending a real-world use case.
78%
#1241 jlink plugin: Support `disable-parallel` parameter craft-parts open Maintainer-filed, triaged enhancement to honour the disable-parallel part property in the jlink plugin. Labeled Needs information; jlink never uses parallel_build_count, so the property would likely be a no-op. Open 395 days, no comments.
77%
#1244 maven-use plugin: Support `disable-parallel` parameter craft-parts open Maintainer-filed request to add the disable-parallel part property to the maven-use plugin. Marked Enhancement/Needs information; maintainer states it is extremely low priority pending a real-world use case, none supplied in ~395 days.
76%
#1237 go plugin: Support `disable-parallel` parameter craft-parts open Adding disable-parallel support to the Go plugin remains open and low priority, pending a concrete real-world use case or application that fails with parallel builds.
75%
#1232 ant plugin: Support `disable-parallel` parameter craft-parts open Ant plugin support for disable-parallel is unimplemented; the request remains open as Needs information, with maintainers requesting a real-world case that fails under parallel builds.
75%
#1250 rust plugin: Support `disable-parallel` parameter craft-parts open Request to honor the documented `disable-parallel` part property in the rust plugin. Maintainer-opened, labeled Needs information, explicitly deprioritized pending a real-world use case; rust_plugin.py still builds with cargo defaults.
74%