← Back to issue list

[experimental] package-management repository configuration

View original Github issue

Metadata

Project
snapcraft
Number
#2911
Type
pull request
State
merged
Author
cjp256
Labels
—
Created
Updated
Closed

Current evaluation

Merged as f24f4cf68 (#2911), adding experimental package-repositories support for PPAs and GPG keys, batched apt refreshes, and unit/spread tests.

Resolution: closed resolved

Reason: PR #2911 was merged as commit f24f4cf68. It implemented PPA, keyserver, and key-asset installation, smarter apt cache refreshes, and coverage for the new repository configuration.

Evaluated by: mr-cal-bot

No scores available.

Issue body

repo: add installation support for package-repositories - Enable installation support for PPAs. - Lookup GPG key fingerprint from launchpad using launchpadlib. - Install source using install_sources() so it is treated the same as other requested sources, but is a nice shortcut for the user. - Enable installation of GPG keys from local or keyserver sources. - Allow user to specify `key-id` which can either be the GPG key fingerprint/ID, or an identifier matching a key in the assets dir. - Smarter refresh apt cache logic, only refreshing when when either the apt configuration or GPG keys are modified after a batch install. That is, all user-configured repositories are installed, then apt will refresh the cache. This batch is currently separate from the process used by the ROS plugins to install their repositories. Future will make this more consistent. - Remove now-unused _get_local_sources_list(). - Prefix default names for apt sources with 'snapcraft-'. - Add unit test coverage and three spread tests to cover: 1. installation of PPA 2. installation of source using keyserver 3. installation of source using key assets via fingerprint 4. installation of source using key assets via name

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged as f24f4cf68 (#2911), adding experimental package-repositories support for PPAs and GPG keys, batched apt refreshes, and unit/spread tests.
stealth/space-bunny-alpha — closed resolved Merged as f24f4cf68: added experimental package-repositories support (PPA/GPG key install, key-id, batched apt cache refresh) plus unit and spread tests; depends on the experimental flag from #2970.
stealth/space-bunny-alpha — closed resolved Merged as f24f4cf68 (#2911), adding experimental PPA/GPG repository installation, smarter apt refreshes, and unit/spread tests.
qwen/qwen3.6-35b-a3b — — Merged experimental package-management repository configuration. Enables PPA and GPG key installation, smarter apt cache refresh, and test coverage. Required PR #2970 for the experimental flag and resolved CI failures prior to merge.
qwen3.6-35b-a3b-mtp-q6 — — Merged after resolving conflicts and test failures. Introduces experimental package-management repository configuration for PPAs and GPG keys, with optimized apt cache refresh. Requires PR #2970 to enable the feature flag.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft#3520 (confidence 98%)

    Later PR #3520, commit 0662e6307, removed the experimental gate and promoted package-repositories to stable.

  • Related To: snapcraft#2970 (confidence 90%)

    The PR discussion states that #2970 was required to enable the experimental flag.

Related issues

Issue Project State Summary Similarity
#3520 package-repositories: remove experimental flag snapcraft merged PR #3520 by cjp256 merged as commit 0662e6307, dropping the --enable-experimental-package-repositories flag and promoting package-repositories to a stable, GA snapcraft feature (+3/-37, 5 files).
73%
#2880 package management repository configuration snapcraft closed Closed unmerged; package-repository configuration was subsequently delivered by #2911 in commit f24f4cf68.
71%