← Back to issue list

Need a way to disable parallel building per part

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1608994
Type
issue
State
closed
Author
~blake-rouse
Labels
—
Created
Updated
Closed

Current evaluation

Per-part parallel-build control was added by merged PR #698 (commit b7fc3eb66), which introduced the disable-parallel plugin property; the autotools plugin later gained it (commit 634d72466), documented in the 8.13 release notes.

Resolution: closed resolved

Reason: The issue was closed pointing at snapcore/snapcraft PR #698, which was merged as commit b7fc3eb66 "Add option disable-parallel for all plugins." The feature lives on as the disable-parallel plugin property (now supported by the autotools plugin per commit 634d72466 and the 8.13 release notes).

Evaluated by: mr-cal-bot

No scores available.

Issue body

MAAS needs to have a part for isc-dhcp-server. That project uses autotools and it does not support building in parallel. So "make -jX" will not work and cause the project to fail to build. Using just "make" the project builds just fine. MAAS also depends on other parts, example being tgtd. This project does support parallel building and performing "make -jX" works just fine. Also the MAAS snap will need to be build on launchpad as it needs to run on all architectures. The usage of --no-parallel-build at the build level of snapcraft will not be possible when using launchpad, I believe. Adding the ability to change this behavior per part will allow different parts to use parallel building when it is supported.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Per-part parallel-build control was added by merged PR #698 (commit b7fc3eb66), which introduced the disable-parallel plugin property; the autotools plugin later gained it (commit 634d72466), documented in the 8.13 release notes.
stealth/space-bunny-alpha — closed resolved Per-part build control was added by merged PR canonical/snapcraft#698, allowing parts to disable parallel builds while others remain parallel.
stealth/space-bunny-alpha — closed resolved Per-part parallel-build control was added by merged PR #698, allowing isc-dhcp-server to build serially while other parts remain parallel.
qwen/qwen3.6-35b-a3b — — Closed without comments or resolution. The feature request was abandoned. No fix, merge, or alternative resolution was implemented.
qwen/qwen3.6-35b-a3b — — Closed without resolution. The request to disable parallel building per part remains unimplemented.
qwen/qwen3.6-35b-a3b — — Requesting per-part parallel build control in Snapcraft was closed without resolution. With zero comments and no linked pull requests, the feature remains abandoned. No implementation or workaround was provided.
qwen3.6-35b-a3b-mtp-q6 — — Closed and abandoned. The request to disable parallel building per part was not implemented or addressed.

Update history

Date Change
created

Related work

  • Likely Fixed By: snapcraft#698 (confidence 95%)

    Merged PR cited in the closing comment; commit b7fc3eb66 added disable-parallel to BasePlugin so parts can opt out of parallel builds.

  • Related To: snapcraft#2377 (confidence 55%)

    Commit f6ed44e2c (#2377) removed the global --disable-parallel-build CLI flag, leaving per-part control as the only mechanism.

  • Related To: snapcraft#5618 (confidence 30%)

    Unrelated sign-build fix listed in the same 8.13 release notes entry that documents disable-parallel support for autotools.

Related issues

Issue Project State Summary Similarity
#698 Add option disable-parallel for all plugins. snapcraft merged Merged PR #698 added a per-part disable-parallel option to BasePlugin, allowing all plugins to opt out of parallel builds; merged as b7fc3eb66.
80%
#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.
78%
#1167 feat: add parallel parameter to autotools plugin craft-parts merged Merged #1167 as commit 7dfd1bf7, adding disable_parallel to the Autotools plugin so builds can omit make -j and addressing #1069.
76%
#357 Support parallel builds (enabled by default). snapcraft merged Merged PR #357 (commit 35cd5ca2c, merge 1a62686da) adding parallel build support, enabled by default in autotools/cmake/make plugins, plus a --no-parallel-build option. Resolves LP: #1551417.
75%
#1551417 Support parallel builds snapcraft (launchpad) closed Parallel autotools, CMake, and make builds were enabled by default with a --no-parallel-build opt-out via merged PR #357 (commit 35cd5ca2c).
73%
#1631 docs: document autotools disable-parallel key craft-parts open Docs-only PR adding the autotools `disable-parallel` key and a parallel-build note plus a changelog entry to the Autotools plugin reference. Approved by one reviewer but 2 unresolved comments remain; author agreed to revert the "How it works" line and awaits maintainer guidance; 3 CI checks failing.
73%
#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).
71%
#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.
71%
#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.
71%
#1251 scons plugin: Support `disable-parallel` parameter craft-parts 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.
70%