Upstream kernel update workflow
Created by: ollieparanoid
Status Quo
We have three upstream kernels (directly from kernel.org) packaged:
-
linux-postmarketos-mainline
(most bleeding edge, we allow device specific patches on top as long as they are getting upstreamed in parallel) linux-postmarketos-stable
linux-postmarketos-lts
Right now the update policy is, that whoever wants to update it, makes a PR (@craftyguy did it for a time, thanks a lot!). The reality is, that all upstream kernel packages are outdated by now.
Proposal
I would like to make updating the kernels as easy as possible. Here's what the user updating the kernels would do:
- Add
pmbootstrap aportgen linux-postmarketos-lts
(and all other variants):- Looks up the current kernel versions from
kernel.org
- Generates the kernel APKBUILDs (which are long and all have duplicated code right now, so this makes it easier to maintain in general)
- Runs
pmbootstrap checksum
internally to download the kernel tarballs and create the checksums
- Looks up the current kernel versions from
- Try to build all updated kernels (
pmbootstrap build linux-postmarketos-mainline linux-postmarketos-stable linux-postmarketos-lts
) - When a device specific patch we're carrying fails to apply in the mainline packaging:
- Just throw that patch out. Either it has been upstreamed already, or it is incompatible now.
- Note in the device's wiki page which commit was the last one that had the patch included.
- When all kernels build, commit it directly to the
pmbootstrap
master
branch (if the user has write access, that's currently @MartijnBraam and me) or make a PR for the update.
Maintainer
I'd be happy if someone jumped in and said they would like to do it. If no one shows up, I would do it.
What do you think, folks?