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

Subsystems: documentation, documentation process, the rest

STALE1156d

6 messages, 4 authors, 2023-08-05 · open the first message on its own page

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

From: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Date: 2023-08-03 09:07:32

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`.
+
 System utilities
 ****************
 
-- 
2.37.2

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

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2023-08-03 10:19:55

On Thu, Aug 03, 2023 at 11:07:10AM +0200, Rasmus Villemoes wrote:
quoted hunk
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.

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?

thanks,

greg k-h

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

From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2023-08-04 09:42:41

On Thu, Aug 3, 2023 at 7:19 PM Greg KH [off-list ref] wrote:
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.

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



Tagger: Junio C Hamano [off-list ref]
Date:   Mon Jun 10 12:34:56 2013 -0700

Git 1.8.3.1





If we are allowed to abandon conservative distros,
I prefer git >= 2.14.0

That supports 'git status --no-optional-locks'



-- 
Best Regards
Masahiro Yamada

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

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2023-08-04 10:17:55

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

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

From: Masahiro Yamada <masahiroy@kernel.org>
Date: 2023-08-05 08:03:26

On Fri, Aug 4, 2023 at 7:17 PM Greg KH [off-list ref] wrote:
On Fri, Aug 04, 2023 at 06:41:54PM +0900, Masahiro Yamada wrote:
quoted
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 :)


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 [off-list ref]
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

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

From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Date: 2023-08-05 10:44:01

On 2023/08/05 17:02, Masahiro Yamada wrote:
quoted
quoted
quoted
quoted
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.
No problem with requiring git >= 1.8.0.
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.
CentOS 7 users can install a newer git version as well as gcc.
commit f5983dab0ead92dc2690d147f0604a0badcac6a8
Author: Masahiro Yamada [off-list ref]
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.
It is glibc-headers-2.17-326.el7_9 package. Neither gcc nor git problem.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help