← Back to issue list

plugins: extract common code from kernel plugins

View original Github issue

Metadata

Project
snapcraft
Number
#4053
Type
pull request
State
merged
Author
cmatsuoka
Labels
—
Created
Updated
Closed

Current evaluation

Merged as commit 8254d5dfb: consolidated common code between the legacy v2 and craft-parts kernel plugins (+1134/-1908, 5 files), per CRAFT-1617/CRAFT-1618. Follow-up refactors landed in #4081 and #4164.

Resolution: closed resolved

Reason: The PR itself is the resolution: it was approved and merged into the feature/kernel-plugin branch as commit 8254d5dfb ('plugins: extract common code from kernel plugins'). Reviewer-requested follow-up (dropping the codespell pin) was reverted per comment from cmatsuoka, and further cleanup continued in #4081 (daa68de70) and #4164 (c0c608bec).

Evaluated by: mr-cal-bot

No scores available.

Issue body

Normalize and extract common functions from the legacy v2 kernel plugin and the craft-parts kernel plugin to create a simpler, more maintenable code base. Further changes are required: refactor constructs to allow easier extraction of additional common code, normalize patterns, adjust styling, and fix typos. Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com> - [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)? - [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)? - [ ] Have you successfully run `make lint`? - [ ] Have you successfully run `pytest tests/unit`? ----- CRAFT-1617 CRAFT-1618

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Merged as commit 8254d5dfb: consolidated common code between the legacy v2 and craft-parts kernel plugins (+1134/-1908, 5 files), per CRAFT-1617/CRAFT-1618. Follow-up refactors landed in #4081 and #4164.
stealth/space-bunny-alpha — closed resolved Merged in snapcore/snapcraft#4053 (8254d5dfb), consolidating common functions from the legacy v2 and craft-parts kernel plugins to simplify their shared code.
qwen/qwen3.6-35b-a3b — — Merged after extracting and normalizing common functions from legacy v2 and craft-parts kernel plugins, reducing code by over 700 lines across five files. Review approved. Author addressed feedback by reverting an unnecessary codespell pin commit.
qwen3.6-35b-a3b-mtp-q6 — — Merged after extracting and normalizing shared functions from legacy v2 and craft-parts kernel plugins. The codespell pin commit was reverted per reviewer request prior to final merge.

Update history

No update history recorded yet.

Related work

  • Related To: snapcore/snapcraft#4081 (confidence 88%)

    Follow-up 'kernel plugins: more code consolidation' (daa68de70) continuing the refactor begun here

  • Related To: snapcraft#4164 (confidence 80%)

    Later kernel plugin rename (#4164) on the same refactoring line

  • Related To: snapcore/snapcraft#3922 (confidence 75%)

    Prior PR introducing the v2 and craft-parts kernel plugins whose duplication this PR removes

  • Related To: snapcore/snapcraft#4057 (confidence 55%)

    Nearby kernel plugin initramfs fixes merged shortly after the same refactor

Related issues

Issue Project State Summary Similarity
#4111 plugins: merge kernel plugin snapcraft merged Merged PR #4111 into main, landing the craft-parts and v2 kernel plugin changes from the feature branch.
77%
#4104 plugins: kernel plugin fixes and spread tests snapcraft merged Merged PR #4104 (commit ad47bfae7, CRAFT-1619): added software-properties-common install, fixed core22 shell script issues in the v2/craft-parts kernel plugins, and added manual spread tests.
73%
#287 plugins: add kernel plugin implementation craft-parts closed Kernel plugin PR to craft-parts closed unmerged; maintainers said it is too snap-specific. Author moved it to Snapcraft as snapcraft#3922, merged and landed on main via snapcraft#4111.
70%
#4302 plugins: kernel: split kernel plugin into kernel and initrd plugins snapcraft closed PR #4302 (split kernel plugin into kernel + initrd plugins) was closed unmerged on 2025-10-14 by author kubiko as superseded by canonical/snapcraft#5814, merged in commit 8f56d299d.
70%