← 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

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.

Suggested action: keep open

Reason: Maintainer @lengau explicitly stated on 2024-09-09: 'I'm going to keep this open, but it isn't making the bugfixes for this pulse', so the issue is triaged and acknowledged and should stay open. The root cause is visible in code (FetchLibCommand sets always_load_project = True in store.py), but the fix is now entangled with the deprecation of Charmhub-hosted charm libraries (commit b93737a1, #2691), making it a product decision rather than a simple bugfix.

Impact: 20 Quick Win: 12.0 Staleness: 60 Complexity: 40 Confidence: 75 Support Request: 10

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
qwen/qwen3.8-27b
Impact: 20
Quick Win: 12.0
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.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 30
Confidence: 75
Support Request: 10
close stale Regression where charmcraft fetch-lib requires a charmcraft.yaml file, breaking execution from arbitrary directories. Open and under discussion. Maintainers are debating the requirement and have deferred the fix to a future release.

Update history

No update history recorded yet.

Related work

  • Related To: canonical/charmcraft#2691 (confidence 80%)

    Commit b93737a1 'feat(charmlibs): warn of deprecation on all charmlibs commands' adds a deprecation warning to fetch-lib, indicating the whole charmlibs feature (and thus this bug's scope) is being phased out in favor of Python packages.

Related issues

Issue Project State Summary Similarity
#2204 [3.4.3] Charmcraft fetch-lib fails with `Library None not found in Charmhub.` charmcraft open fetch-lib (all) fails with cryptic 'Library None not found in Charmhub' when a local lib is unpublished; maintainers confirmed the cause and unhelpful message, but the buggy error path in store.py remains unfixed in current code.
77%
#1671 `fetch-libs` command requires being logged into charmhub charmcraft closed Closed without a documented fix, likely abandoned. Investigation identified a conflicting API validation for charm name hyphens versus underscores, but no resolution or code changes were implemented.
74%
#1663 refactor: remove unused fetch-lib command charmcraft merged Merged removal of an unused internal fetch-lib command implementation. The public charmcraft fetch-lib command remains available. Approved by three reviewers and passed CI checks.
72%
#2503 [WIP] Fix fetch-lib error in charmcraft causing library not found charmcraft closed Closed as abandoned. The PR aimed to fix an incorrect "Library None not found" error in charmcraft's fetch-lib by updating store.py. Marked WIP and AI-generated, it lacked tests and review, so it was closed without merging.
71%