fix: install gpg and dirmngr in core24 builds
Metadata
Current evaluation
Merged to install gpg and dirmngr in core24 builds, fixing Launchpad dependency errors. The change replicates core22 behavior after bundling failed due to hardcoded paths. Approved by reviewers and passed CI.
Suggested action: —
No scores available.
Issue body
This commit mimicks the behavior for core22<= builds where gpg and dirmngr are installed at runtime for projects with package-repositories. The trigger for this commit is the fact that the environment where Snapcraft builds in Launchpad do _not_ have the 'dirmngr' package installed.
Unfortunately the strategy of bundling 'gpg' and 'dirmngr' as stage-packages in Snapcraft's own snap didn't work because gpg has the expected path to the 'dirmngr' executable hardcoded (always trying to call '/usr/bin/dirmngr').
Fixes #4740
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `tox run -m lint`?
- [ ] Have you successfully run `tox run -e test-py310`? (supported versions: `py39`, `py310`, `py311`, `py312`)
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged to install gpg and dirmngr in core24 builds, fixing Launchpad dependency errors. The change replicates core22 behavior after bundling failed due to hardcoded paths. Approved by reviewers and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix to install gpg and dirmngr during core24 builds, resolving Launchpad package-repositories failures. Replaced a failed stage-package bundling approach caused by hardcoded paths. Closes #4740. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix to install gpg and dirmngr at runtime for core24 builds, resolving a Launchpad environment limitation where dirmngr is unavailable. Previous stage-package bundling failed due to hardcoded paths. Closes #4740. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4740 `package-repositories` fail with the core24 base due to missing packages | snapcraft | closed | Fixed via PR #4754. Snapcraft now ensures dirmngr and gnupg are available during the package-repositories step for core24, resolving GPG keyserver failures when adding PPAs. Builds now succeed. | |
| #4758 fix: use local keys for package-repos in core24 | snapcraft | merged | Merged following two approvals and passing CI. Updates package repository configuration to use local keys for core24 across three files (+47 lines). All modified code is covered by tests. | |
| #755 fix: add list of ignore packages in core24 | craft-parts | merged | Merged. Updated the ignored packages list for core24 by adapting the core22 baseline to match core24's current package contents. Approved by two reviewers and passed CI checks. | |
| #4605 Support for root packages for core24 | snapcraft | closed | Fixed missing logic for bundling root-level build-packages and stage-packages into a part for core24. Resolved via merged pull request #4617, enabling the root-packages spread test to pass. | |
| #4669 fix(core24): use correct libc6 path | snapcraft | merged | Merged a fix updating the core24 libc6 linker path to /usr to accommodate usrmerge. Approved by two reviewers, passed CI, and maintained full test coverage on modified lines. |