v1.7 regression: `pack` errors out prematurely with `Charm entry point was not found`
Metadata
Current evaluation
Fixed by merged PR canonical/charmcraft#782 (commit 63643466), moving entry-point validation after the build lifecycle so override-build can generate custom entry points.
Resolution: closed resolved
Reason: PR #782 was merged and changed pack to validate the charm entry point only after the build lifecycle, resolving the premature v1.7 failure.
Evaluated by: mr-cal-bot
No scores available.
Issue body
I have the following `charmcraft.yaml`:
```yaml
parts:
charm:
charm-entrypoint: customname
override-build: |
apt install -y whatever
# do stuff to build customname from source
craftctl default
cp $CRAFT_PART_BUILD/customname $CRAFT_PART_INSTALL/
```
With charmcraft 1.6.0 it builds fine, but with charmcraft 1.7.0 I get the following error:
```
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.264 Reading '/root/project/metadata.yaml'
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.267 Validating metadata format
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.273 Building for 'bases[0]' as host matches 'build-on[0]'.
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.273 Building for 'bases[0][0]'.
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.273 Building charm in '/root'
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.273 Charm entry point was not found: '/root/project/customname'
2022-06-05 23:19:34.540 :: 2022-06-06 03:19:34.274 Full execution log: '/tmp/charmcraft.log'
```
Which happens before any of the `override-build` commands had a chance to run.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR canonical/charmcraft#782 (commit 63643466), moving entry-point validation after the build lifecycle so override-build can generate custom entry points. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by canonical/charmcraft#782 (63643466), moving entry-point validation after the build lifecycle so override-build can generate a custom entry point. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in #782 via commit 63643466: entrypoint validation now runs after the build lifecycle, allowing override-build-generated entrypoints. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in canonical/charmcraft#782 via commit 63643466: entry-point validation moved after the build lifecycle, allowing override-build to generate a custom charm entry point. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in canonical/charmcraft#782 (commit 63643466): entry-point validation moved after the build lifecycle, allowing override-build to generate it. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in canonical/charmcraft#782 (commit 63643466): entry-point validation now runs after the build lifecycle, allowing override-build to generate custom entry points. | |
| stealth/space-bunny-alpha | — | closed resolved | 1.7 regression: pack failed before override-build ran. Fixed by PR #782 (commit 63643466, merge 5f3b68f1), moving entry point validation to after the build lifecycle. Later reworked into a linter in #848. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed in canonical/charmcraft#782 (commit 63643466) by validating entry points after the build lifecycle, allowing override-build to generate custom entry points. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Fixed by deferring charm entry point validation until after the build lifecycle, resolving a v1.7 regression that prematurely failed on dynamically generated entry points. | |
| qwen/qwen3.6-35b-a3b | — | — | Fixed a v1.7 regression causing premature pack failures for dynamically generated entry points. Validation incorrectly ran before the build lifecycle. Resolution moves the check to post-lifecycle execution. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | A v1.7 regression caused premature validation errors for dynamically generated entry points. The maintainer confirmed checks ran before the build lifecycle and released a fix to defer validation until after lifecycle completion. Resolved. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/charmcraft#782
(confidence 100%)
Merged fix implementing post-build entry-point validation.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #782 Validate the entrypoint after build. | charmcraft | merged | Merged PR #782 fixed the v1.7 packing regression by validating charm entry points after the build lifecycle, allowing build hooks to generate them dynamically. | |
| #761 The `pack` command does not validate the entrypoint unless it's specified | charmcraft | closed | Fixed in canonical/charmcraft#767 (merge commit 4b64ec0f): pack now validates the default entrypoint when --entrypoint is omitted. | |
| #1619 fix: use charmcraft package version | charmcraft | merged | Merged PR #1619 as commit 15fac367, replacing the previous version source with the Charmcraft package version in a one-line fix. | |
| #413 Charmcraft's entry point option should be in charmcraft.yaml | charmcraft | closed | Fixed in canonical/charmcraft#468 (merged as d892b3f3): charmcraft.yaml gained charm-plugin entrypoint and requirements properties for reproducible, zero-config charmcraft pack builds. |