← Back to issue list

Add `output-file` to charmcraft.yaml so the developer can control the resulting file name

View original Github issue

Metadata

Project
charmcraft
Number
#494
Type
issue
State
closed
Author
wallyworld
Labels
—
Created
Updated
Closed

Current evaluation

No output-file key was added. Charmcraft 3 named platforms provide shorter, developer-controlled filenames; maintainers closed #494 in 2025 as unlikely to proceed further.

Resolution: closed stale

Reason: The proposed output-file feature was abandoned after years without implementation. Maintainer comments demonstrated that named `platforms` entries already provide filenames such as `my-charm_my-platform.charm`, then stated in 2025 that the proposal was unlikely to proceed.

Evaluated by: mr-cal-bot

No scores available.

Issue body

I have a charm which needs to be built on say focal but run "everywhere". It's a simple charm with just a bit of Python - nothing series or arch specific. So I have a charmcraft.yaml file like below. I need to explicitly list all series and arches, and the 4 arches I have included are now no longer the complete set - more have been added, eg riscv etc. When I pack the charm, I get a file name like this: `juju-controller_ubuntu-20.04-amd64-aarch64-arm64-s390x_ubuntu-18.04-amd64-aarch64-arm64-s390x_ubuntu-16.04-amd64-aarch64-arm64-s390x.charm` And there's no tab completion so charmcraft upload is fun to use :-) Things will only get worse when more arches and/or series are added. What I'd really like is a way to say the charm runs "everywhere". Or at least channel=all arch=all or something. And a nicer filename, or at least tab completion. Imagine what things will be like when more series and arches are added. For reference, here's a related charmhub issue https://github.com/canonical-web-and-design/charmhub.io/issues/1104 ```yaml type: charm bases: - build-on: - name: ubuntu channel: "20.04" architectures: ["amd64"] run-on: - name: ubuntu channel: "20.04" architectures: - amd64 - aarch64 - arm64 - s390x - name: ubuntu channel: "18.04" architectures: - amd64 - aarch64 - arm64 - s390x - name: ubuntu channel: "16.04" architectures: - amd64 - aarch64 - arm64 - s390x ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed stale No output-file key was added. Charmcraft 3 named platforms provide shorter, developer-controlled filenames; maintainers closed #494 in 2025 as unlikely to proceed further.
stealth/space-bunny-alpha — closed superseded No output-file key was added. Naming the entries in Charmcraft 3’s `platforms` configuration provides shorter, developer-controlled charm filenames instead; maintainers closed #494 in 2025.
stealth/space-bunny-alpha — closed superseded The proposed output-file option was dropped in favor of Charmcraft 3 platform names, which let developers control charm filenames (e.g. my-charm_my-platform.charm).
stealth/space-bunny-alpha — closed superseded Closed as superseded: Charmcraft 3’s named platforms let developers control charm filenames, but a general `output-file` option was not pursued.
qwen3.6-35b-a3b-mtp-q6 — — The output-file option was rejected. The feature was superseded by Charmcraft 3 platforms configuration, which allows custom platform names to control output filenames. Maintainers closed the issue as the new feature satisfies the requirement.
qwen/qwen3.6-35b-a3b — — Superseded by Charmcraft 3 platforms configuration, which allows custom platform names to control output filenames. Maintainers declined the original output-file request as the new feature provides sufficient flexibility.
qwen/qwen3.6-35b-a3b — — Closed and superseded. Charmcraft 3's existing platforms configuration already provides sufficient control over output filenames, making the proposed output-file key unnecessary.
qwen/qwen3.6-35b-a3b — — The output-file config was not implemented. The request was superseded by Charmcraft 3's platforms feature, which lets developers name platforms to control the output filename. Maintainers closed the issue as this addresses the need.
qwen3.6-35b-a3b-mtp-q6 — — The output-file config option was not implemented. Charmcraft 3 instead introduced a platforms feature allowing custom target names to control the output filename. The original request is superseded and will not be further developed.

Update history

No update history recorded yet.

Related work

  • Related To: charmhub.io#1104 (confidence 75%)

    The issue cites this earlier discussion about filename and platform handling; it provides context but did not implement output-file support.

Related issues

Issue Project State Summary Similarity
#2174 charmcraft pack outputs different charm filenames depending on base/platform specification in charmcraft.yaml charmcraft closed Closed as working as intended: deprecated bases preserve Charmcraft 2.x naming, while platforms keys intentionally control the filename suffix.
71%