Update home

Jeremy Cline 2020-01-17 19:09:32 +00:00
parent 2d270ef6da
commit 3818ba5507

60
home.md

@ -15,65 +15,9 @@ Once GitLab finishes forking the repository (this can take a while):
2. ``git remote add -f linus git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git``
3. ``git remote add -f upstream https://gitlab.com/cki-project/kernel-ark.git``
## Rebasing
## Next Steps
This guide assumes you have write access to https://gitlab.com/cki-project/kernel-ark.git and the remote in your clone is called "upstream".
Rebasing the kernel involves the following steps:
### ARK Kernel Patches
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``
### Fedora Patches
1. ``git checkout fedora-patches``
2. ``git reset --hard <upstream-tag>``
3. Import the latest Fedora Rawhide patches from the Fedora [dist-git](https://src.fedoraproject.org/rpms/kernel): ``grep ^Patch $FEDORA_DISTGIT/kernel.spec | awk -vdistgit="$FEDORA_DISTGIT" '{print distgit $2}' | xargs git am``
4. ``git push -f upstream fedora-patches``
### Configuration
1. ``git checkout internal``
2. ``git pull``
3. ``git merge <upstream-tag>``
4. ``make rh-configs-commit``
5. ``git push upstream internal``
6. ``./redhat/gen_config_patches.sh``
7. Open a merge request for each branch created in step 5: ``git branch | grep configs/"$(date +%F)" | xargs git push -o merge_request.create -o merge_request.target=internal -o merge_request.remove_source_branch upstream``
### Release branch
Once the kernel patches and configuration have been updated for the new release, it's time to create the release branch:
1. ``git checkout -b ark/<upstream-tag> ark/patches/<upstream-tag>``
2. ``git merge internal``
3. Ensure the branch can at least build the SRPM: ``make rh-srpm``
4. ``touch localversion``
5. ``make rh-release``
6. ``make rh-release-tag``
7. ``git push upstream <upstream-tag> ark/<upstream-tag> ark/patches/<upstream-tag> kernel-<version>-<release>``
8. ``git checkout master``
9. ``git reset --hard ark/<upstream-tag>``
10. ``git push -f upstream master``
## Building
After a release branch has been prepared, it's time to build it. This guide assumes you have Koji and/or Brew installed and properly configured. It also assumes you've authenticated and have permissions to build.
### ARK
1. Run ``make rh-dist-git``. This will create a directory in /tmp. The directory name will be printed at the end, it should end with /kernel . It may look like this: /tmp/RHEL8.2018-10-08.HXzpLdpW/kernel. The next time you are building dist-git, you may edit redhat/Makefile.rhpkg and use cache to make the process faster. This is done by setting RHDISTGIT_CACHE:=<path2distgit> where path2distgit is the path to previous make rh-dist-git output.
2. ``cd /tmp/RHEL-8*/kernel``
3. ``vim ../changelog ../diff``. Confirm the changelog includes the changes for this release and looks reasonable.
4. ``git diff --cached``. Final check to make sure things look correct.
5. ``git commit -a -s -F ../changelog``
6. ``rhpkg push``
7. ``rhpkg build --target temp-ark-rhel-8-test --skip-nvr-check``
8. ``rhpkg tag -F ../changelog``
9. ``git push origin <tag>``
Looking to contribute? Check out the [Contributor guide](Contributor-guide). If you're interested in how the kernel is maintained, have a look at the [Maintainer guide](Maintainer-guide).
# Repository Layout