fix(plugins): use part_build_subdir for charm source copy
Metadata
Current evaluation
Merged as charmcraft#2835 (4dd1ae35), fixing #2839 by using part_build_subdir for charm source and library copying in the Python, Poetry, and uv plugins.
Resolution: closed resolved
Reason: PR #2835 merged with commit 4dd1ae35 and explicitly fixed #2839. The fix was documented as resolved in Charmcraft 4.5.
Evaluated by: mr-cal-bot
No scores available.
Issue body
## Description
**Part of Stack:**
1. #2840 (`test(store): replace deleted mysql charmlib with operator-libs-linux.apt in store integration tests`)
2. **#2835 (this PR: `fix(plugins): use part_build_subdir for charm source copy`)**
3. #2842 (`chore(deps): update craft-application to ~=7.2 and fix docs build`)
4. #2836 (`feat: opt into git-driven build root via CHARMCRAFT_EXPERIMENTAL_MONOREPO`)
---
Fixes charm source and library copying for `poetry`, `python`, and `uv` plugins when `source-subdir` or a build subdirectory is used.
### Changes:
- In `charmcraft/parts/plugins/_poetry.py`, `_python.py`, and `_uv.py`, pass `self._part_info.part_build_subdir` instead of `self._part_info.part_build_dir` to `utils.get_charm_copy_commands()`.
- Add unit tests in `tests/unit/parts/plugins/test_poetry.py`, `test_python.py`, and `test_uv.py`.
- Add unit tests for `get_charm_copy_commands` in `tests/unit/utils/test_parts.py`.
- Add integration tests for `source-subdir` across `python`, `poetry`, and `uv` plugins in `tests/integration/parts/plugins/`.
- Update `docs/release-notes/charmcraft-4.5.rst` under Fixed bugs and issues referencing #2839.
Fixes #2839
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged as charmcraft#2835 (4dd1ae35), fixing #2839 by using part_build_subdir for charm source and library copying in the Python, Poetry, and uv plugins. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #2835 (4dd1ae35), fixing #2839 by using part_build_subdir for charm source copying in the Python, Poetry, and uv plugins, with tests and Charmcraft 4.5 release notes. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged fix resolving #2839. Updates poetry, python, and uv plugins to use part_build_subdir for charm source copying when source-subdir is configured. Approved by reviewers with passing CI. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
25
Confidence:
90
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when source-subdir is used. Includes unit and integration tests. Approved by 2 reviewers, CI passing, ready to merge. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when source-subdir is used. Includes unit and integration tests. Approved by 2 reviewers, CI pending, 1 unresolved comment. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
40
Confidence:
90
|
needs review | Fixes charm source and library copying for python, poetry, and uv plugins when using source-subdir. Currently approved with passing CI, pending minor checks, ready for maintainer review and merge. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
25
Confidence:
90
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when source-subdir is used. Includes unit and integration tests. Approved by two reviewers, CI passing, ready for landing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when source-subdir is used. Adds tests and docs. Currently approved by one reviewer, CI passing, with two unresolved comments awaiting resolution. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Fixes charm source/library copying for poetry, python, and uv plugins when using source-subdir. Approved by 1 reviewer, 2 unresolved comments, CI passing, pending store tests. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when using source-subdir. Currently pending maintainer review with passing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Fixes charm source and library copying in poetry, python, and uv plugins when using source-subdir. Adds unit and integration tests. Currently pending maintainer review with passing CI checks. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Fixes charm source and library copying in poetry, python, and uv plugins when source-subdir is used. Adds unit and integration tests. Currently pending maintainer review with CI tests running. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
90
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when using source-subdir. Includes unit and integration tests. Currently awaiting maintainer review with CI tests pending. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when source-subdir is used. Includes unit and integration tests. Currently awaiting maintainer review with CI checks pending. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Fixes charm source and library copying for python, poetry, and uv plugins when source-subdir is used. Includes unit and integration tests. Currently pending maintainer review with all CI checks passing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
30
Confidence:
85
|
needs review | Fixes charm source and library copying for poetry, python, and uv plugins when source-subdir is used. Includes unit and integration tests. Currently awaiting maintainer review with CI checks pending. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
20
Confidence:
85
|
needs review | Fixes charm source copy when using source-subdir by passing part_build_subdir to utils.get_charm_copy_commands in poetry, python, and uv plugins. Includes tests and release notes. Awaiting maintainer review with CI checks pending. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
30
Confidence:
80
|
needs review | Fixes charm source and library copying in poetry, python, and uv plugins when source-subdir is used. Includes unit and integration tests. Currently pending maintainer review with some slow CI checks failing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
20
Confidence:
90
|
needs review | Fixes charm source copy in poetry, python, and uv plugins to correctly handle source-subdir by using part_build_subdir. Currently pending maintainer review with CI checks passing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
40
Confidence:
85
|
needs review | Fixes charm source copy in poetry, python, and uv plugins by using part_build_subdir when source-subdir is configured. Currently awaiting maintainer review with mixed CI results. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
35
Confidence:
85
|
needs review | Fixes charm source copy in poetry, python, and uv plugins to correctly use part_build_subdir when source-subdir is configured. Includes unit and integration tests. Currently awaiting maintainer review with some CI checks failing. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
5
Complexity:
15
Confidence:
80
|
needs review | Updates poetry, python, and uv plugins to use part_build_subdir for charm source copying, fixing missing src/lib directories when source-subdir is configured. Currently awaiting maintainer review with minor CI failures. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| updated | |
| created |
Related work
-
Related To:
charmcraft#2839
(confidence 100%)
The source-subdir copying failure was explicitly fixed by this PR and recorded in the 4.5 release notes.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2839 Charm plugins fail to copy source and lib when source-subdir is used | charmcraft | closed | Fixed by merged PR #2835 (commit 4dd1ae35): Python, Poetry, and uv plugins now copy source and libraries from part_build_subdir. | |
| #453 build: spin off charm builder as a separate tool (CRAFT-373) | charmcraft | merged | Merged #453 in commit 3e5eed05, extracting charm-building routines into a standalone CharmBuilder invoked by build; venv and pip enhancements were deferred. | |
| #1873 Create charmcraft-specific versions of the upstream `python` and `poetry` plugins | charmcraft | closed | Charmcraft-specific Python and Poetry plugins were added by merged PR #1899 (commit 8b748f3e), replacing the experimental work in #1840. |