From: Prarit Bhargava <prarit@xxxxxxxxxx> redhat/docs: Add a description of kernel naming Add a file that describes how kernel NVRs are constructed. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> 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. + +**SUBLEVEL**: 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:NamingGuidelines <https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines`__. -- https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1779 _______________________________________________ kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure