← Back to issue list

`fetch-lib` should work from anywhere

View original Github issue

Metadata

Project
charmcraft
Number
#1788
Type
issue
State
open
Author
PietroPasotti
Labels
—
Created
Updated
Closed
—

Current evaluation

`fetch-lib` regressed in Charmcraft 3.1.1 by requiring charmcraft.yaml outside projects; a minimal reproducer was provided, and a maintainer explicitly kept the compatibility request open.

Suggested action: keep open

Reason: The report gives a precise reproducer in an empty directory and expected behavior, while @lengau explicitly said, "I'm going to keep this open." The current codebase still defines `FetchLibCommand`, so the affected functionality has not been removed or made demonstrably obsolete; restoring project-independent execution likely requires bypassing project discovery for this command without breaking its output paths and services.

Evaluated by: mr-cal-bot

Impact: 42 Quick Win: 20 Complexity: 43 Confidence: 89 Actionability: 84

Issue body

### Bug Description `charmcraft fetch-lib` used to work from any directory, now it complains there's no charmcraft.yaml ### To Reproduce mkdir foo cd foo charmcraft fetch-lib charms.data_platform_libs.v0.s3 ### Environment tracking: latest/stable refresh-date: 3 days ago, at 16:11 CEST installed: 3.1.1 (4264) Linux 6.5.0-41-generic #41~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun 3 11:32:55 UTC 2 x86_64 x86_64 x86_64 GNU/Linux ### charmcraft.yaml ```shell n/a ``` ### Relevant log output ```shell Project file 'charmcraft.yaml' not found in 'REDACTED'. Recommended resolution: Ensure the project file exists. ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 42
Quick Win: 20
Complexity: 43
Confidence: 89
Actionability: 84
keep open `fetch-lib` regressed in Charmcraft 3.1.1 by requiring charmcraft.yaml outside projects; a minimal reproducer was provided, and a maintainer explicitly kept the compatibility request open.
~deepseek/deepseek-pro-latest
Impact: 30
Quick Win: 13
Complexity: 35
Confidence: 75
Actionability: 65
keep open fetch-lib now requires charmcraft.yaml, breaking workflows that fetch charm libraries outside a charm project; maintainer acknowledged and kept open
qwen/qwen3.6-35b-a3b
Impact: 30
Quick Win: 15
Complexity: 30
Confidence: 70
Actionability: 70
keep open fetch-lib requires charmcraft.yaml to run, breaking workflows where users fetch libs outside a project. Maintainer acknowledged and kept open.
qwen/qwen3.8-27b
Impact: 20
Quick Win: 12
Staleness: 60
Complexity: 40
Confidence: 75
Support Request: 10
keep open charmcraft fetch-lib (3.1.1+) requires a charmcraft.yaml and fails outside a charm project, breaking workflows that fetch libs for inspection. Maintainer acknowledged Sep 2024, explicitly kept it open but deferred past that pulse; charmlibs commands are now deprecated in favor of Python packages.
qwen/qwen3.6-35b-a3b
Staleness: 80
Complexity: 20
Confidence: 85
Support Request: 10
keep open Regression where charmcraft fetch-lib now requires a charmcraft.yaml file instead of working from any directory. Maintainer acknowledged the report and explicitly kept it open for future consideration.
qwen3.6-35b-a3b-mtp-q6
Staleness: 70
Complexity: 20
Confidence: 75
Support Request: 15
keep open charmcraft fetch-lib regression requiring a charmcraft.yaml file when run outside a project directory. Acknowledged by maintainer but deferred and inactive for ~10 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 20
Confidence: 75
Support Request: 10
keep open charmcraft fetch-lib now requires a charmcraft.yaml in the current directory, breaking usage outside projects. Maintainer acknowledged the request but deferred fixing it; issue remains open without labels or assignee.

Update history

No update history recorded yet.

Related work

  • Related To: CRAFT#3300 (confidence 100%)

    A synchronization bot reported that internal ticket CRAFT-3300 was created from this issue.

Related issues

Issue Project State Summary Similarity
#2204 [3.4.3] Charmcraft fetch-lib fails with `Library None not found in Charmhub.` charmcraft open Bulk fetch-lib aborts on an unavailable local library and misleadingly prints “Library None not found”; current code still uses the absent CLI argument, while PR #2505 remains open.
75%
#1663 refactor: remove unused fetch-lib command charmcraft merged PR #1663 (commit b3d35e6d) merged, deleting the unused pre-craft-application fetch-lib implementation; the public fetch-lib command was kept and #1665 added fetch-libs for charmcraft.yaml-declared libraries.
74%
#1671 `fetch-libs` command requires being logged into charmhub charmcraft closed Fixed by merged PR #1702 (commit 1da46c8f), which made fetch-libs use anonymous Charmhub access. PR #1701 also fixed handling of library names containing underscores.
72%
#284 Running `charmcraft fetch-lib` on a charm with dashes should fetch to a path with underscores charmcraft closed Closed as stale with no recorded fix or maintainer rationale. A later unlinked change, #1701 (3af2c248), implemented underscore support for fetch-libs.
71%
#2503 [WIP] Fix fetch-lib error in charmcraft causing library not found charmcraft closed PR #2503 was closed unmerged as unfinished WIP; tests, review, and security checks were not completed. The fetch-lib “Library None” bug remains, while PR #2505 is still open.
70%