Update Maintainer Guide
parent
3818ba5507
commit
7b24662018
@ -10,11 +10,36 @@ Rebasing the kernel involves the following steps:
|
||||
|
||||
The ``ark-patches`` branch contains the latest version of the patches being carried for the Always Ready Kernel.
|
||||
|
||||
The rebase consists of the following steps:
|
||||
|
||||
1. Rebase the kernel patches: ``git rebase <upstream-tag> ark-patches``.
|
||||
2. If a patch fails to apply and the fix is clear, go ahead and fix it. Otherwise, file an [issue](https://gitlab.com/cki-project/kernel-ark/issues) for each patch that does not apply with the commit hash and conflict details so it can be resolved later.
|
||||
3. If rebasing onto a tag, create a branch for this revision of the kernel patches. This is useful when comparing the state of the patches between versions: ``git branch ark/patches/<upstream-tag>``.
|
||||
4. ``git push -f upstream ark-patches``
|
||||
|
||||
### Common Problems
|
||||
|
||||
There are a few issues that can occur during the patch rebase.
|
||||
|
||||
#### Patch Cannot Be Applied
|
||||
|
||||
Patches regularly fail to apply because upstream changed some code being patched. When this occurs, if the fix is trivial, you can simply fix up the patch during the ``git-rebase``. Otherwise, file an issue to fix the patch and skip it during the rebase.
|
||||
|
||||
Once a dropped patch has a fix, submit a merge request to ``ark-patches`` with the fixed-up patch. If you aren't confident you can fix it yourself, try contacting the original author and ask them to fix their patch.
|
||||
|
||||
#### Patch Applies But Is Broken
|
||||
|
||||
This problem occurs less frequently, but is less straightforward to detect and fix. A patch might cleanly apply, but an interface it uses has changed in some way (e.g. a function got renamed). Ideally the change causes the build to fail.
|
||||
|
||||
Assuming you know how to fix the problem, use the following approach:
|
||||
|
||||
1. Start a branch based of the latest ``ark-patches`` branch and fix the problem as you see fit.
|
||||
2. Commit the change, including a ``Fixes: <short sha of commit in ark-patches it fixes>`` tag in the commit, along with references to the upstream commit that introduced the breaking change and any other details you see fit. If you reference a commit that is not upstream (that is, any patch in ark-patches) be sure to add a [x] reference and link to the commit so email users can see the commit in question easily during review.
|
||||
3. Submit a merge request against ``ark-patches``
|
||||
4. Once reviewed, merge the merge request. When rebasing ``ark-patches``, squash the fix into the commit it fixes so that the patches in ``ark-patches`` continue to be self-contained.
|
||||
|
||||
An example of this is https://gitlab.com/cki-project/kernel-ark/merge_requests/90.
|
||||
|
||||
## Fedora Patches
|
||||
|
||||
At the moment, the Fedora kernel is maintained directly in the dist-git and we are importing the patches to keep in sync.
|
||||
|
Loading…
x
Reference in New Issue
Block a user