Issue & PR triage
Loading...
Showing 100 of 216 issues
| Issue | Title | Author | Age | Action | Impact ↓ | Actionability | Quick Win | Summary |
|---|---|---|---|---|---|---|---|---|
|
craft-parts pr #1757 |
perf(state): cache source outdated checks within planning | chris-bainbridge | 24d | keep open | 75 | 40 | 12 | Adds planning-scoped cache for source outdated checks in StateManager, keyed by part and pull-state serial, with defensive report copies. ~96% planning speedup on large SDK. CI failing lint/files and OSV-scanner; one unresolved review comment. |
|
craft-parts issue #1460 |
`organize` with mapping like `{app: app/app}` when `app` is a directory not... | javierdelapuente | 254d | keep open | 75 | 85 | 35 | Bug in `organize` mapping where moving a directory into itself (`app: app/app`) causes silent file deletion or crashes. A fix is being prepared and approved by maintainers. |
|
craft-parts issue #786 |
Python plugin. Python is broken in core24 classic snaps if snap is used on... | NucciTheBoss | 834d | keep open | 68 | 87 | 20 | Core24 classic snaps using the Python plugin fail on older Ubuntu LTS hosts because staged Python cannot find its stdlib; Snapcraft 8.3.2's fix proved incomplete, with follow-up in snapcraft#5144. |
|
craft-parts issue #1015 |
rust plugin does not cross-compile | lengau | 626d | keep open | 68 | 80 | 20 | Rust plugin remains unable to cross-compile and emits host-architecture binaries; target mapping and toolchain setup are identified, but linking and core implementation remain unresolved. |
|
craft-parts issue #538 |
Deduplicate files that already exist in base layer | cmatsuoka | 1154d | keep open | 66 | 62 | 15 | Overlay builds still prime copies of files already present in the base layer, increasing image size; the request remains open with only an autogenerated Jira-ticket comment. |
|
craft-parts issue #1763 |
Ensure proper /proc, /sys and /dev contents in build-slices chroot | tigarmo | 21d | keep open | 65 | 85 | 41 | Build-slices chroot lacks /proc, /sys, and /dev because mountpoints are absent; needs manual directory creation and test verification. Code already creates the dirs via _prepare_build_slices_root, but tests do not yet verify contents. |
|
craft-parts issue #777 |
Reduce the scope of the public API | lengau | 839d | keep open | 65 | 55 | 5 | Planned API cleanup remains open: internal modules are not consistently underscored, and eight __all__ declarations show the public surface is still being narrowed. |
|
craft-parts pr #1692 |
fix: refresh build snaps if already installed | cmatsuoka | 65d | needs review | 65 | 60 | 18 | Refreshes build snaps when already installed to reflect channel changes and triggers rebuilds. Approved by 2 reviewers with 4 unresolved comments and some flaky CI failures. |
|
craft-parts issue #933 |
pulling repository can hang execution indefinitely | dariuszd21 | 686d | keep open | 65 | 80 | 39 | Git sources still allow credential prompts during clone and fetch, so inaccessible private or nonexistent HTTPS repositories can leave pull blocked indefinitely. |
|
craft-parts pr #1652 |
fix(parts): run override build on working subdir | soumyaDghosh | 104d | needs review | 62 | 38 | 18 | Changes override-build to run in the configured source-subdir, but it remains unreviewed with unresolved compatibility concerns. Core tests pass; CLA and lint checks fail. |
|
craft-parts issue #851 |
Removed files from local sources remain in the part | lengau | 769d | keep open | 62 | 88 | 30 | Local-source updates leave deleted files in the part source tree; a maintainer-added regression test confirms the bug remains reproducible. |
|
craft-parts issue #1641 |
uv plugin fails on core26: dispatch script uses system Python instead of venv | zyga | 106d | needs triage | 62 | 72 | 19 | core26 has no Python in the base snap, so uv-built parts find no interpreter in the payload and fall back to the system python, leaving venv/bin/python pointing at a bare interpreter that lacks ops. Fix options undecided. |
|
craft-parts pr #1750 |
perf: stage collision and cleanup performance optimizations | chris-bainbridge | 28d | needs review | 60 | 65 | 12 | Nine perf optimizations for stage-collision checks and lifecycle-state cleanup; +1061/-82 across 12 files. Pending review; most CI green, OSV-scanner and ppc64el fast tests failing. |
|
craft-parts issue #1364 |
File source handler ignores changes to the file | dmitry-lyfar | 381d | keep open | 60 | 90 | 28 | Confirmed triaged bug: source-type: file lacks pull-step change detection, so touched or edited files are not recopied; dump and Python plugin cases are affected. |
|
craft-parts issue #1780 |
A part's install directory doesn't get cleaned if the prior build failed. | lengau | 7d | needs triage | 60 | 80 | 38 | Install directory not cleaned after failed build, causing subsequent builds to fail with unclear errors. New issue with no labels or maintainer response. |
|
craft-parts pr #1742 |
feat!: replace OsRelease with distro | lengau | 34d | keep open | 59 | 35 | 8 | Replaces the public OsRelease wrapper with distro across chroot checks, platform detection, Poetry, and tests. Open with lint/files and both minimum-dependency jobs failing; eight checks remain pending. |
|
craft-parts issue #1026 |
Part's source directory needs to be read-only | vpa1977 | 609d | needs triage | 58 | 58 | 9 | Request to protect part source directories from build-step mutations so subsequent builds produce consistent output; the reproducibility concern remains unassessed. |
|
craft-parts issue #1076 |
Give organize access to variables set during the build step #5241 | mr-cal | 556d | keep open | 58 | 67 | 14 | Enhancement to let organize reference variables populated during the build step, enabling paths known only at build time; triaged and still open with no implementation evidence. |
|
craft-parts issue #1369 |
Chisel slices always cut for the host architecture | lengau | 380d | keep open | 58 | 76 | 23 | Confirmed bug: Chisel cuts stage and build slices without the target architecture, causing cross-compiles to receive host-architecture payloads. The issue remains open and needs implementation. |
|
craft-parts pr #721 |
fix(part_handler): fetch correct target stage packages | dilyn-corner | 916d | close stale | 58 | 28 | 9 | Targets architecture for stage-package fetches, but omits architecture:all handling; approved once with an unresolved regression-review thread and no CI after 889 days. |
|
craft-parts issue #889 |
add "always run" plugin hook | flotter | 730d | needs triage | 58 | 57 | 10 | Requests an optional plugin hook that runs even when sources are unchanged, supporting build IDs and propagation of craft.yaml configuration; it remains untriaged. |
|
craft-parts issue #561 |
Meson Plugin with python or gjs based app | soumyaDghosh | 1119d | needs triage | 58 | 67 | 15 | Meson-built Python/GJS apps retain invalid build-time shebangs and fail to launch; a reproducer is linked, but the unlabelled issue has no maintainer triage or fix. |
|
craft-parts issue #822 |
[Python plugin]: Consider including a rust compiler by default | lengau | 800d | needs triage | 58 | 63 | 21 | Open, untriaged request to provision Rust by default for Python native-extension builds; the current Python v2 plugin requests neither build snaps nor build packages. |
|
craft-parts issue #675 |
Python plugin is not idempotent on iterative builds due to faulty `PATH` set up | NucciTheBoss | 972d | needs triage | 58 | 88 | 27 | Python plugin iterative rebuilds can resolve python3 from the prior install venv, causing ensurepip to fail; the current legacy plugin still prepends install/bin to PATH and needs triage. |
|
craft-parts issue #1122 |
craft-parts doesn't track primed files when using `override-prime` | mr-cal | 506d | needs triage | 58 | 91 | 34 | override-prime stores empty file metadata instead of tracking scriptlet-created content, breaking primed-stage-package manifests and related Snapcraft workflows. |
|
craft-parts issue #766 |
The prime step uses the install dir when creating a list of migrateable filesets | mr-cal | 849d | keep open | 58 | 70 | 10 | Prime can fail after stage exclusions because its fileset is computed from install rather than staged content; the proposed fix is blocked by undefined overlay-cleaning semantics. |
|
craft-parts issue #770 |
NPM Plugin: wrong node version is used to build the package | dimaqq | 847d | keep open | 58 | 72 | 19 | NPM node setup is skipped when override-build replaces built-in steps, so builds fall back to system Node 12.22.9; a manual-install workaround and future pre-build hook are proposed. |
|
craft-parts issue #1390 |
Warn on outward relative path sources | bepri | 359d | keep open | 58 | 80 | 27 | Warn when parsed part sources are absolute or resolve above Path.cwd(), since managed builds can misread paths or copy the root; triaged and still open. |
|
craft-parts issue #1174 |
Craft parts should rebuild all parts if the list of partitions changes | mr-cal | 471d | keep open | 58 | 89 | 30 | Partition-list changes are not tracked in lifecycle state, so stale builds can place files in incorrect stage or prime partitions; the bug remains open and triaged. |
|
craft-parts issue #817 |
Local file changes are not detected | mr-cal | 801d | keep open | 58 | 74 | 17 | Triaged enhancement to mark dump-plugin pull steps dirty when local sources change, including permission-only edits; a maintainer confirmed in 2026 that it remains unimplemented. |
|
craft-parts issue #974 |
Python plugins install wheels for the host architecture, not the target architecture. | lengau | 652d | needs triage | 58 | 76 | 14 | Cross-compiled Python plugin parts can succeed while installing host-architecture wheels, leaving binary dependencies such as cryptography unusable; the report remains open and untriaged. |
|
craft-parts issue #806 |
sources module unaware of the environment | upils | 811d | needs triage | 57 | 82 | 24 | Source pulls reportedly ignore the consuming application's environment, so snap-packaged consumers can miss snap PATH tools and invoke incompatible binaries; the issue remains untriaged. |
|
craft-parts issue #1001 |
npm plugin fails in the presence of `base-files` | tigarmo | 636d | keep open | 57 | 76 | 14 | Cross-part staging rejects directory-vs-symlink collisions such as npm's bin/lib and base-files' usrmerge links; the valid repro remains unresolved and affects more than the npm plugin. |
|
craft-parts issue #751 |
Silent failure on certain store issues | lengau | 874d | keep open | 56 | 92 | 37 | Transient snap-store HTTP 500s exhaust five retries in get_store_snap_info and return None, silently skipping required build-snaps; the triaged bug remains in current code. |
|
craft-parts pr #1773 |
Add FTP source download support | lokeshannapurreddy-jpg | 13d | needs review | 55 | 60 | 23 | Adds FTP source download support by implementing the previously NotImplementedError FTP handler in base.py; PR is open, CI passing, awaiting first review from maintainers. |
|
craft-parts issue #1291 |
BUILD step of a part organizing to the overlay should invalidate overlay... | upils | 413d | needs triage | 55 | 82 | 25 | A part BUILD that organizes files into the overlay can change lower overlay layers without invalidating dependent OVERLAY steps; the precise reproducer exists but the open issue remains untriaged |
|
craft-parts issue #1058 |
SCP formatted git source cause infinite loading when packing | alesancor1 | 575d | needs triage | 55 | 84 | 29 | SCP-style Git sources can wait indefinitely for SSH host-key input during pull instead of returning a clone failure; the issue remains open, unlabelled, and untriaged. |
|
craft-parts issue #1019 |
Allow platform-independent builds with the "all" architecture | lengau | 617d | keep open | 55 | 84 | 15 | Maintainer-scoped enhancement to let ProjectInfo accept arch "all", reject target-triplet expansion, and validate plugin output as platform-independent; still unimplemented. |
|
craft-parts issue #747 |
Python plugin. `pip install .` failing because of `pyproject.toml` file | javierdelapuente | 877d | keep open | 55 | 72 | 18 | Python plugin unconditionally runs `pip install .` when pyproject.toml exists, breaking sources like NetBox whose pyproject.toml is tool-only. cmatsuoka proposed a [project]/[build-system] heuristic; no fix merged yet. |
|
craft-parts pr #1782 |
fix(PartHandler): Clean the install directory on non-update runs | lengau | 7d | needs review | 55 | 35 | 14 | Adds cleanup of install and backstage directories before non-UPDATE build runs to prevent leftover files from failed builds. Open, CI has failures, awaiting review. |
|
craft-parts pr #1667 |
fix(sources): retry HTTP(S) downloads on transient failures | lengau | 78d | needs review | 55 | 78 | 19 | Maintainer-authored PR adding retry-with-backoff to HTTP(S) source downloads (addresses open issue #1666). AI-agent generated; after several model-review rounds includes temp-file, checksum, and symlink/TOCTOU hardening. CI green (0 failing), 0 human reviews yet. |
|
craft-parts pr #1632 |
fix: wait when retrying snap store; fail install loudly | james-garner-canonical | 113d | needs review | 55 | 40 | 16 | Fixes silent snap install failures when store queries timeout by removing the store-query gate and adding retries with sleep. Awaiting review; lint check failing, 2 unresolved review comments. |
|
craft-parts issue #1666 |
Source pull step doesn't retry on transient network failures | lengau | 78d | needs triage | 55 | 62 | 20 | SourceHandler.download() in craft_parts/sources/base.py and GitSource._run() issue single un-retried requests.get()/git clone, so transient network errors fail the whole pull step. Unlabelled, no maintainer comments. |
|
craft-parts issue #833 |
Allow plugins to add stage-packages. | lengau | 791d | keep open | 55 | 78 | 24 | Open maintainer-authored feature request for plugins to contribute stage packages or slices merged with part-provided inputs; custom package sources are explicitly deferred to a separate enhancement. |
|
craft-parts pr #1599 |
fix(sources): detect local file source changes | gcomneno | 158d | needs review | 55 | 74 | 29 | Adds mtime-based change detection for local file sources in FileSourceHandler (file:// counted as local), exposing outdated files and re-pulling on update. Fixes #1364. Approved by 2 reviewers; 1 open comment, OSV-scanner failing, slow test jobs still pending. |
|
craft-parts issue #674 |
Symlink fixing logic doesn't consider relative location changes when using organize | dilyn-corner | 975d | needs triage | 55 | 87 | 19 | Package normalization rewrites absolute symlinks before organize moves their link or target, leaving relative links dangling; a detailed reproducer exists, but the issue has not been maintainer-triaged. |
|
craft-parts pr #1785 |
fix: update script shebangs with pythonv2 plugin | bepri | 6d | needs review | 55 | 35 | 13 | Fixes script shebangs in the pythonv2 plugin. PR is under review with 1 unresolved comment and some failing CI tests (Java plugin tests, OSV scanner). |
|
craft-parts issue #1609 |
Unwanted source files copy in `build` | imatrisciano | 146d | keep open | 55 | 70 | 21 | nil/dump plugins copy the full source tree into build/, tripling disk use for large assets (100GB model → 300GB). Reproducer provided; maintainer proposed a new `static-assets` plugin but no implementation exists yet. |
|
craft-parts pr #938 |
cmake: use the cmake snap by default | soumyaDghosh | 684d | close not mergeable | 55 | 15 | 6 | Prolets the cmake plugin pull cmake from the cmake snap instead of the deb, adding an option to pick the cmake source; maintainers rejected the snap-by-default change as breaking, author silent since Dec 2024 |
|
craft-parts issue #962 |
CI: create test workflow to build application docs upon changing `docs/common` | lengau | 658d | needs triage | 55 | 72 | 14 | Open CI feature request to build all downstream application docs when a PR changes docs/common, preventing reusable-documentation integration failures before merge. |
|
craft-parts issue #413 |
Updating repositories does not trigger necessary actions | gboutry | 1305d | keep open | 55 | 78 | 21 | Repository changes leave stale PPA files and skip pull steps; ownership is split between craft-parts and craft-application, with implementation work still outstanding. |
|
craft-parts issue #1217 |
cargo-use: support Rust workspaces better | Saviq | 429d | needs triage | 55 | 72 | 16 | Feature request: cargo-use plugin only supports a single crate (reads [package] from one Cargo.toml) and breaks on workspace crates that inherit metadata; proposal is a CARGO_PACKAGES key plus `cargo package --no-verify` build-override. Untriaged, no maintainer response. |
|
craft-parts pr #1769 |
fix(organize): handle direct self-nesting as error | cmatsuoka | 16d | needs review | 55 | 35 | 11 | Fixes self-nesting in organize by raising FileOrganizeError instead of silently deleting subtrees. PR has changes_requested status with 3 unresolved review comments and some failing CI tests. |
|
craft-parts issue #1554 |
BuildPackageNotFound for valid packages when snap uses core24 on Ubuntu... | lengau | 190d | keep open | 54 | 64 | 12 | core24 snap builds on Ubuntu 26.04 falsely raise BuildPackageNotFound; regression coverage exists, but the claimed apt ABI/cache-format cause is disputed and no fix is merged. |
|
craft-parts issue #1175 |
FileSourceHandler is slow for large sources | enriqueesanchz | 475d | keep open | 52 | 64 | 11 | FileSourceHandler downloads/extracts large sources very slowly (requests+tarfile,1KB chunks, 3600s timeout): ~6h vs ~1.5h with wget on RISC-V. Triaged enhancement, root cause identified, optimizations (piped download+extract, threaded decompression) not yet implemented. |
|
craft-parts issue #1587 |
Add a Patches Directive to Allow Custom Patching on top of the Source Tree | bryanfraschetti | 162d | keep open | 52 | 47 | 11 | Feature request for a native `patches` part key applying local patches during pull. Maintainer steinbro backs the motivation but proposed a Git-native, override-pull-based design; linked PR #1588 still under review. |
|
craft-parts issue #813 |
java plugin should not link java under /bin | vpa1977 | 805d | keep open | 52 | 72 | 16 | Java plugin stages a /bin/java link that collides with runtime parts, blocking some rocks; maintainers recognize the issue, but the compatible API and default behavior remain unresolved. |
|
craft-parts issue #553 |
Organize does not raise error if source file does not exist | amandahla | 1140d | keep open | 52 | 88 | 31 | A missing exact-path organize source is still silently skipped: the current glob loop has no zero-match error, allowing rocks to build without required files. |
|
craft-parts issue #1495 |
Bug: stage-packages re-downloaded on every run due to python-apt _file_is_same() bug | EddyPronk | 230d | keep open | 52 | 80 | 24 | Valid, triaged performance bug: python-apt's _file_is_same() order-sensitive hash compare makes apt_cache.fetch_archives() re-download stage-packages despite a warm deb cache. Maintainer gcomneno drafted fix PR #1553 (open, unreviewed); not yet fixed in craft-parts main. |
|
craft-parts issue #566 |
Do not run apt update in a compulsive way | sergiusens | 1109d | keep open | 52 | 72 | 17 | Debian builds still refresh apt metadata implicitly when requested packages are missing, which can fail managed environments despite pre-updated images; the issue remains open. |
|
craft-parts issue #899 |
Craft parts should close stdin when cloning git projects | mr-cal | 721d | needs triage | 52 | 78 | 27 | Git source commands still inherit stdin, so private-repository prompts can hang or produce unhelpful failures in local and remote builds; this request remains open and untriaged. |
|
craft-parts pr #1556 |
fix: remove deleted files from local source on update | copilot-swe-agent | 190d | needs review | 52 | 62 | 12 | Adds a manifest so local-source updates remove upstream deletions without deleting destination-only artifacts; the concern is addressed, but three review threads and 13 CI matrix jobs remain unresolved |
|
craft-parts issue #311 |
Permission changes in files are not detected | facundobatista | 1466d | needs triage | 52 | 84 | 25 | Valid local-source change-detection bug: chmod-only updates are ignored because the pull outdated check considers timestamps but not permission modes. |
|
craft-parts pr #1776 |
fix(Source): Raise SourceNotFound for missing path-like sources | Harsh23Kashyap | 11d | needs review | 50 | 60 | 26 | Narrow fix to raise SourceNotFound instead of InvalidSourceType for missing path-like sources, with tests and changelog. Approved by 2 reviewers, CI has pending checks and a few failures. |
|
craft-parts issue #893 |
Java plugin should not copy all jar files | vpa1977 | 728d | keep open | 50 | 58 | 6 | Open design issue: Java plugins still hardlink every built JAR except those under .parts, allowing test artifacts into images; maintainers favor build-system-specific opt-in behavior. |
|
craft-parts issue #496 |
part `build-snaps` channel change doesn't work without a `clean` | jugmac00 | 1226d | keep open | 48 | 90 | 27 | Triaged bug: changing a build-snaps channel leaves the installed snap unchanged unless clean is run; open PR #1692 addresses snap refresh and rebuild invalidation. |
|
craft-parts issue #1255 |
Make tests platform-agnostic | bepri | 421d | keep open | 48 | 65 | 14 | Make craft-parts tests architecture-agnostic so they can run on arm64/s390x/ppc64el instead of hardcoded "amd64". QA workflow now already tests several arches; residual hardcoded arch assumptions and skips remain. |
|
craft-parts issue #1490 |
Fallback once to `snap download` if snap not found in global store | soumyaDghosh | 236d | needs triage | 48 | 64 | 14 | Private or dedicated-store build snaps are unsupported when absent from the global store; a one-time `snap download` fallback is requested. The issue has no labels, comments, or maintainer triage. |
|
craft-parts issue #540 |
Reprime detection | sergiusens | 1154d | keep open | 48 | 57 | 10 | Maintainer request for craft-parts to detect a rerouted prime directory and unprime before re-priming; still open, while snapcraft#4219 received a separate try-specific workaround. |
|
craft-parts issue #598 |
Add integration tests for namespaced partitions | mr-cal | 1063d | keep open | 48 | 82 | 24 | Namespaced-partition integration coverage remains missing after parsing, utility, and environment-variable work landed; the maintainer also identified the misuse-warning path as an untested TODO. |
|
craft-parts issue #772 |
Use `parallel_build_count` in plugins and document usage | mr-cal | 842d | needs triage | 48 | 76 | 21 | Parallel job limits are still absent from Rust and SCons build commands; auditing other plugins and documenting support remain open and untriaged. |
|
craft-parts issue #1447 |
snap build fails if go must download the version | adombeck | 266d | needs triage | 48 | 92 | 31 | Go plugin validation misreads a toolchain-download message from stderr as the compiler version, so the first clean snapcraft pack fails while retries succeed; it remains unfixed and untriaged. |
|
craft-parts pr #1351 |
feature(pro_sources): mount package sources | clay-lake | 391d | close stale | 47 | 5 | 1 | Adds package-source mountpoints for Rockcraft Pro and refactors mounts for bind/rbind/ramfs use; after 363 days it remains unreviewed with 30 failing CI checks. |
|
craft-parts pr #1712 |
feat: fpc plugin | lczyk | 52d | needs review | 47 | 66 | 14 | Adds a Free Pascal compiler plugin with registration, docs, changelog and tests. All test matrices pass, but lint / files fails and no maintainer review has started. |
|
craft-parts pr #1747 |
fix: reject overlay scripts in parts organizing to overlay | randyli | 31d | needs review | 46 | 68 | 18 | Adds validation rejecting overlay lifecycle scripts when output organizes to (overlay), with guidance, 17 regression cases, and changelog/docs; open with no failing CI but one unresolved review comment. |
|
craft-parts pr #1553 |
fix(deb): avoid re-downloading cached stage-packages | gcomneno | 191d | needs review | 45 | 45 | 9 | External-contributor PR adding a narrow monkey-patch of apt.package._file_is_same (binary mode, order-independent hash compare) around candidate.fetch_binary in AptCache.fetch_archives, so warm-cache .deb files count as cache hits. +90/-5, 2 files, no reviewers yet. |
|
craft-parts issue #995 |
Create a general migration how-to for the `uv` and `poetry` plugins | lengau | 638d | needs triage | 45 | 82 | 26 | Add a tabbed migration how-to for users moving from the python plugin to uv or poetry; it remains open, untriaged, and no guide is present in the how-to index. |
|
craft-parts pr #1494 |
feat(go): Add `enable-check` build attribute and `go-testtags` property to... | Copilot | 232d | keep open | 45 | 25 | 8 | Adds opt-in Go build-time tests and test-specific build tags, with docs and unit/integration coverage. Canonical CLA passes, but two reviewers requested changes and 26 comments remain unresolved. |
|
craft-parts issue #1781 |
`dump` plugin is not idempotent | lengau | 7d | keep open | 45 | 80 | 22 | dump plugin fails to rebuild after partial failure due to cp not overwriting files; maintainer indicates PR #1782 should resolve this by cleaning install directories on non-update runs. |
|
craft-parts issue #1735 |
Parts that organize to the overlay should not accept `overlay-script` or... | lengau | 37d | keep open | 45 | 85 | 27 | craft-parts accepts overlay-script/override-overlay on parts whose organize targets (overlay), silently doing the wrong thing. Triaged by lengau, assigned to randyli, and targeted by open PR #1747 adding PartSpec validation plus tests/docs. |
|
craft-parts pr #1699 |
feat: partitions always enabled | cmatsuoka | 60d | needs review | 45 | 52 | 7 | Maintainer refactor merging the enabled/disabled partition code paths so partitions are always active with a default-only fallback. +699/-603 across 43 files; rebased 11 days ago, unreviewed, no approvals, one CI job failing. |
|
craft-parts issue #237 |
Allow disabling common-directory removal code in tar source | zyga | 1591d | needs triage | 45 | 68 | 21 | Tar sources still unconditionally strip their detected common top-level directory. The opt-out request remains open, unlabeled, and awaiting maintainer triage; only an automated CRAFT-2968 Jira-sync comment exists. |
|
craft-parts issue #1330 |
Improve Pydantic schema for parts | bepri | 401d | keep open | 45 | 84 | 16 | Triaged enhancement to model source, override, build/stage package, and snap properties directly in the Pydantic part schema; the raw-dictionary workaround remains in the codebase. |
|
craft-parts issue #936 |
Add an option to use `uv venv` and `uv pip` in the `python` and `poetry` plugins | lengau | 686d | keep open | 45 | 75 | 15 | Feature request by a maintainer to add python-package-manager/poetry-package-manager options so python and poetry plugins can use `uv venv` and `uv pip`. Unimplemented; a standalone uv plugin (#930) exists but does not fulfill this. |
|
craft-parts issue #1315 |
Add the ability for plugins to mark their build step as clean or dirty | lengau | 407d | keep open | 45 | 78 | 15 | Triaged enhancement to let plugins classify an otherwise-current build as clean or dirty, enabling UPDATE instead of unconditional SKIP; no implementation is present in the current codebase. |
|
craft-parts issue #716 |
Errors while installing build-snaps don't give good information | lengau | 919d | keep open | 45 | 82 | 27 | Maintainer-filed request to surface `snap install` stderr in the error details when build-snaps fail; still unfixed at HEAD (snaps.py install() uses stdout/stderr=DEVNULL, SnapInstallError has no details). |
|
craft-parts issue #1513 |
Make Java plugins work on Ubuntu 26.04 | lengau | 220d | close resolved | 45 | 80 | 22 | Triaged: make Java plugin version-sensitive tests pass on Ubuntu 26.04 (Resolute, default OpenJDK 25). Tracked as CRAFT-5065 and fixed by merged PR #1530 (commit da6b596e), which enabled the Java plugin tests on resolute. |
|
craft-parts pr #1604 |
feat: handle snap components in stage-snaps | bepri | 149d | keep open | 45 | 25 | 5 | Adds snap component support to stage-snaps (unpacking component trees, SNAP_COMPONENTS). Marked draft by mr-cal pending snapd UX decisions; 3 unresolved review threads and 5 CI jobs still failing. |
|
craft-parts issue #1754 |
Revert pkgconfig_fixup during prime stage | jonathan-conder | 28d | needs triage | 45 | 68 | 18 | Feature request to have _builtin_prime strip the /root/stage prefix that pkgconfig_fixup adds to .pc files during stage, so primed pkg-config files suit end consumers (e.g. Mir SDK). Brand new, no labels or maintainer response. |
|
craft-parts issue #1660 |
Python plugin fails on core26: base snap does not include Python interpreter | agherzan | 80d | keep open | 45 | 80 | 25 | core26 lacks a Python runtime, so Python-plugin builds fail unless Python is staged. Documentation covers the workaround, and maintainers are pursuing clearer warning guidance. |
|
craft-parts issue #812 |
maven plugin should install maven build-package | vpa1977 | 805d | keep open | 45 | 75 | 19 | Maven plugin still adds no build packages, so basic Maven parts fail unless users provide Maven/JDK or a maven-deps part; maintainers agreed system Maven should be the default. |
|
craft-parts issue #975 |
Add CLI option to select the target architecture | lengau | 652d | keep open | 45 | 78 | 25 | Add a target-architecture option to the python -m craft_parts CLI. The enhancement is triaged and remains open; LifecycleManager already accepts arch, but the CLI parser exposes no target-architecture argument. |
|
craft-parts issue #1041 |
Plugin integration tests should test for re-entrancy | mr-cal | 595d | keep open | 45 | 84 | 17 | Triaged enhancement to make plugin integration tests repeat lifecycle runs and verify source changes are not ignored; coverage is still absent. |
|
craft-parts pr #1581 |
feat: deprecate OsRelease in favor of distro | lengau | 170d | needs review | 45 | 35 | 6 | Deprecates os_utils.OsRelease in favor of the distro PyPI package across 18 files (+179/-132). Approved by 1 reviewer, but 3 unresolved review comments and 19 failing checks; no author activity for 128 days. |
|
craft-parts pr #1691 |
fix(validator): use stdout for command output | gcomneno | 66d | needs review | 45 | 60 | 20 | One-line fix so PluginEnvironmentValidator._execute() returns stdout instead of stderr, fixing Go plugin validation when Go emits 'downloading toolchain' on stderr. Adds a regression test; CI partly pending, unrelated jlink/docs-lint flakes reported. |
|
craft-parts issue #647 |
apt package cache marks packages that don't exist | mr-cal | 1000d | close resolved | 45 | 76 | 23 | Apt stage-package marking could falsely report a valid architecture-qualified package as missing. Fixes from PRs #1446 and #1468 are now in the codebase. |
|
craft-parts pr #1682 |
feat(package/apt): validate all stage packages | cmatsuoka | 69d | keep open | 43 | 48 | 13 | APT stage-package validation now aggregates every invalid entry before failing; tests pass and 3 reviewers approve, but lint fails, 2 comments remain unresolved, and merge conflicts need resolution. |
|
craft-parts issue #1051 |
Rename overlay+partition specific env vars | upils | 587d | needs triage | 42 | 84 | 22 | Partition overlay variables still use CRAFT_[namespace_]partition_OVERLAY; the requested consistent CRAFT_[namespace_]partition_PART_OVERLAY rename remains unimplemented and needs triage. |
|
craft-parts pr #1588 |
Add Patches Directive | bryanfraschetti | 162d | needs review | 42 | 28 | 6 | Adds a `patches` part property to apply patch files over the source tree during pull. Approved once, but 6 unresolved comments, 13 failing checks (all test-common suites), and maintainer wants the hardcoded -p1 design revisited. |
|
craft-parts issue #1703 |
Handle ELOOP while copying symlink metadata on virtiofs | gcomneno | 59d | keep open | 42 | 85 | 25 | file_utils.copy() raises ELOOP on virtiofs because shutil._copyxattr does not suppress it when llistxattr fails on symlinks; narrow fix proposed with tests, contributor ready to PR. Charmcraft-side workaround merged. |