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

From: Greg KH
Date: Fri Aug 04 2023 - 06:17:55 EST


On Fri, Aug 04, 2023 at 06:41:54PM +0900, Masahiro Yamada wrote:
> On Thu, Aug 3, 2023 at 7:19 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Thu, Aug 03, 2023 at 11:07:10AM +0200, Rasmus Villemoes wrote:
> > > 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@xxxxxxxxxxxxxxxxxx>
> > > ---
> > > 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.
>
>
> >
> > 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