Thread (6 messages) 6 messages, 4 authors, 2023-08-05

Re: [PATCH] Documentation: changes.rst: add entry for git

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2023-08-04 10:17:55
Also in: lkml, workflows

On Fri, Aug 04, 2023 at 06:41:54PM +0900, Masahiro Yamada wrote:
On Thu, Aug 3, 2023 at 7:19 PM Greg KH [off-list ref] wrote:
quoted
On Thu, Aug 03, 2023 at 11:07:10AM +0200, Rasmus Villemoes wrote:
quoted
git is obviously used for development, directly and also
indirectly (via checkpatch, get_maintainer and other helper
scripts). But it is also invoked during the build to produce the
`uname -r` string.

It's useful to have some minimal git version one can expect people to
use. For now, set a somewhat conservative minimum of 1.8.0, which is
already more then ten years old.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 Documentation/process/changes.rst | 8 ++++++++
 1 file changed, 8 insertions(+)
diff --git a/Documentation/process/changes.rst b/Documentation/process/changes.rst
index 5561dae94f85..a82c619f4bb2 100644
--- a/Documentation/process/changes.rst
+++ b/Documentation/process/changes.rst
@@ -62,6 +62,7 @@ Sphinx\ [#f1]_         1.7              sphinx-build --version
 cpio                   any              cpio --version
 GNU tar                1.28             tar --version
 gtags (optional)       6.6.5            gtags --version
+git                    1.8.0            git --version
 ====================== ===============  ========================================

 .. [#f1] Sphinx is needed only to build the Kernel documentation
@@ -189,6 +190,13 @@ The kernel build requires GNU GLOBAL version 6.6.5 or later to generate
 tag files through ``make gtags``.  This is due to its use of the gtags
 ``-C (--directory)`` flag.

+git
+---
+
+When building with CONFIG_LOCALVERSION_AUTO=y, the build system uses
+git to produce a version string of the form
+6.4.6-00128-gd78b7f406397, which will be shown e.g. by running `uname -r`.
Isn't this optional?  If git is not installed it just will not use git
to determine the local version.
Right.
Without git, the suffix "-00128-gd78b7f406397" is not
appended, but you can build the kernel.

quoted
So you should put "(optional)" above on the list of tools.

And also, don't pick a specific version like this unless it is that way
for a reason.  Why not pick a newer one?  Or the last one that the local
version script can handle properly?


CentOS 7 (plans to retire in 2024) unfortunately
uses a ten-year-old git version.

In CentOS 7,

$ git --version
git version 1.8.3.1
I doubt CentOS 7 can build a modern-day kernel anyway, so why is this a
requirement?  We shouldn't be beholden to the necro-distros just because
they have not moved into this decade :)
If we are allowed to abandon conservative distros,
I prefer git >= 2.14.0

That supports 'git status --no-optional-locks'
That makes sense, and is a valid reason to require this.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help