From: Prarit Bhargava prarit@redhat.com
redhat/docs: Add a description of kernel naming
Add a file that describes how kernel NVRs are constructed.
Signed-off-by: Prarit Bhargava prarit@redhat.com
diff --git a/redhat/docs/index.rst b/redhat/docs/index.rst index blahblah..blahblah 100644 --- a/redhat/docs/index.rst +++ b/redhat/docs/index.rst @@ -111,6 +111,7 @@ Contributor Guide submitting-contributions faq makefile-changes + kernel-naming
Maintainer Guide diff --git a/redhat/docs/kernel-naming.rst b/redhat/docs/kernel-naming.rst new file mode 100644 index blahblah..blahblah 100644 --- /dev/null +++ b/redhat/docs/kernel-naming.rst @@ -0,0 +1,44 @@ +.. _kernel-naming: + +============= +Kernel Naming +============= + +The kernel NVR looks like, for example, +kernel-5.17.0-0.rc8.551acdc3c3d2.124.test.fc35. This string contains +information about the upstream release, a unique build number, and information +about the distribution the RPM was targeted for. An explanation of each of the +fields and how the fields are used in the kernel NVR, is below. + +**PACKAGE_NAME**: This is the name of the package. By default this is +'kernel', but a well-known variant is kernel-rt. + +**SPECKVERSION**: This is the VERSION variable defined in the top-level linux +Makefile. + +**SPECKPATCHLEVEL**: This is the PATCHLEVEL variable defined in the top-level +linux Makefile. + +**SPECKSUBLEVEL**: This is the SUBLEVEL variable defined in the top-level linux +Makefile. + +**UPSTREAMBUILD**: This is a representation of the upstream build information. +It includes the EXTRAVERSION variable (defined in the top-level Makefile) or +'rc0' if the tree is based on an a specific upstream release. If the tree is +not based on a specific "rc" release, this field also contains a git hash +reference to the top of tree commit. + +**BUILD**: This is the RHEL_RELEASE variable defined in the top-level linux +Makefile.rhelver. + +**LOCALVERSION**: By default, this variable is set to ".test". This value can +be overriden by defining a string in redhat/localversion. + +**DIST**: This is the dist release suffix used in the package release, eg. +.fc34 or .el9. + +The kernel name is constructed as + +$(PACKAGE_NAME)-$(SPECKVERSION).$(SPECKPATCHLEVEL).$(SPECKSUBLEVEL)-$(UPSTREAMBUILD)$(BUILD)$(LOCALVERSION)$(DIST) + +In general, the kernel follows the Fedora Naming Guidelines, `https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuideline... <https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuideline....
-- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1779
From: Prarit Bhargava on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1779#note_9665004...
@hertonrk-rh @jmflinuxtx -- approvals please?
From: Patrick Talbert on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1779#note_9720734...
Just FYI, this failed the docs job:
https://gitlab.com/cki-project/kernel-ark/-/jobs/2547880006
A silly missing a bracket:
https://gitlab.com/cki-project/kernel- ark/-/commit/cfc44410818969ed57b9c881a3ea07dc5752011f
kernel@lists.fedoraproject.org