From: Prarit Bhargava <pra...@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 <pra...@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:NamingGuidelines 
<https://fedoraproject.org/wiki/Packaging:Naming?rd=Packaging:NamingGuidelines`__.

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1779
_______________________________________________
kernel mailing list -- kernel@lists.fedoraproject.org
To unsubscribe send an email to kernel-le...@lists.fedoraproject.org
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@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to