Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plugins: kernel: split kernel plugin into kernel and initrd plugins #4302

Open
wants to merge 23 commits into
base: main
Choose a base branch
from

Conversation

kubiko
Copy link
Contributor

@kubiko kubiko commented Aug 2, 2023

kernel plugin builds two components, kernel and initrd
While initrd is dependent on the kernel, it is a separate component.
Separating those 2 steps into 2 own plugins will allow greater reuse of the
kernel plugin as well as each plugin being owned by respective teams.

Initrd steps will always depend on the kernel step, but with
the plugin separation, prebuilt kernel binaries can be used with the initrd plugin
In the future inird might even become the official way to build kernel snap
from kernel deb packages.
For simplicity now ignoring signed kernels...


@codecov-commenter
Copy link

codecov-commenter commented Aug 2, 2023

Codecov Report

Attention: 40 lines in your changes are missing coverage. Please review.

Comparison is base (89961cf) 89.18% compared to head (0b302f5) 89.16%.

Files Patch % Lines
snapcraft_legacy/plugins/v2/_initrd_build.py 70.68% 34 Missing ⚠️
snapcraft_legacy/plugins/v2/initrd.py 90.56% 5 Missing ⚠️
snapcraft_legacy/plugins/v2/_kernel_build.py 93.75% 1 Missing ⚠️

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4302      +/-   ##
==========================================
- Coverage   89.18%   89.16%   -0.02%     
==========================================
  Files         321      324       +3     
  Lines       21777    21767      -10     
==========================================
- Hits        19421    19408      -13     
- Misses       2356     2359       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 5 times, most recently from eba7617 to a582799 Compare August 2, 2023 10:26
Copy link
Collaborator

@sergiusens sergiusens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ondra, this is fantastic, thanks for this.

I'll circle back to the kernel, foundations and core folks to get this reviewed as well

@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch from a582799 to a5a92f8 Compare August 9, 2023 15:10
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch from a5a92f8 to 5e32ec2 Compare August 31, 2023 10:16
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 3 times, most recently from 05f8b40 to 31c82ab Compare September 12, 2023 12:56
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 2 times, most recently from 41b67a2 to 5e5ab98 Compare October 2, 2023 15:59
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 2 times, most recently from 27af9d2 to d5cb90c Compare October 18, 2023 11:28
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch from d5cb90c to 394cb31 Compare October 26, 2023 14:52
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 12 times, most recently from bac7288 to aa5485c Compare November 9, 2023 10:33
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 2 times, most recently from e77dee9 to 493cf28 Compare October 18, 2024 17:49
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch from 493cf28 to 507488a Compare November 8, 2024 17:41
@kubiko kubiko force-pushed the split_kernel_initrd_plugins branch 3 times, most recently from 4a0f747 to eeecde2 Compare November 19, 2024 22:31
kernel plugin builds two components, kernel and initrd
While initrd is dependent on the kernel, it is a separate component.
Separating those 2 steps into 2 own plugins will allow greater reuse of the
kernel plugin as well as each plugin being owned by respective teams.

Initrd steps will always depend on the kernel step, but with
the plugin separation, prebuilt kernel binaries can be used with the initrd plugin
In the future inird might even become the official way to build kernel snap
from kernel deb packages.

Signed-off-by: Ondrej Kubik <[email protected]>
Generic build-environment part option can be used instead.

Signed-off-by: Ondrej Kubik <[email protected]>
…ined in ubuntu-core-initrd package

Signed-off-by: Ondrej Kubik <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants