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

From: Masahiro Yamada
Date: Sat Aug 05 2023 - 04:03:56 EST


On Fri, Aug 4, 2023 at 7:17 PM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
>
> 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 :)



The default GCC on CentOS 7 is GCC 4.8,
which is too old to build the kernel.

I am not so sure how RHEL/CentOS 7 users are working
on the kernel development, but it is possible to
install a newer gcc version from Developer Toolset.


FWFW, this is how to set up GCC 11 on CentOS 7
so you can build the kernel.

# yum install centos-release-scl
# yum install devtoolset-11-gcc
$ PATH=/opt/rh/devtoolset-11/root/usr/bin:$PATH
$ gcc --version
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.






Recently, I got a regression report on RHEL/CentOS 7.
So, some people might still care about this.





commit f5983dab0ead92dc2690d147f0604a0badcac6a8
Author: Masahiro Yamada <masahiroy@xxxxxxxxxx>
Date: Wed Jun 28 01:32:05 2023 +0900

modpost: define more R_ARM_* for old distributions

On CentOS 7, the following build error occurs.








--
Best Regards
Masahiro Yamada