[v3,0/2] scripts: Resolve gtags empty index generation

Message ID 20230515173217.64864-1-darwi@linutronix.de
Headers
Series scripts: Resolve gtags empty index generation |

Message

Ahmed S. Darwish May 15, 2023, 5:32 p.m. UTC
  Hi,

v3-changelog
------------

Handle review remarks from Masahiro Yamada:

  - Apply shellcheck on new "scripts/tags.sh" code.

  - Shorten code through shell's "default value" parameter expansion.

NEW:

  - Cc docs maintainer (Documentation/process/changes.rst change).

Thanks!

v2-changelog
------------

https://lkml.kernel.org/r/20230509012616.81579-1-darwi@linutronix.de

Handle review remarks from Masahiro Yamada:

  - scripts/tags.sh: remove the O= language, and focus on the general
    case of the build directory being different from the kernel source
    tree, as specified in kernel Makefile L159.

  - Fix failure when build directory is a subdirectory of the kernel
    source tree.

NEW:

  - Update Documentation/process/changes.rst with new gtags (GNU GLOBAL)
    requirements.

Thanks!

Cover letter / v1
-----------------

https://lkml.kernel.org/r/20230504201833.202494-1-darwi@linutronix.de

make gtags for O= kernel builds is currently broken. For example, when doing:

   make O=../build/ x86_64_defconfig
   make O=../build/ gtags

gtags generates a warning for each kernel source file to be indexed:

   make[1]: Entering directory '/home/darwi/build'
     GEN     gtags
   Warning: '/home/darwi/linux/arch/x86/include/asm/qspinlock.h' is out of source tree. ignored.
   Warning: '/home/darwi/linux/arch/x86/include/asm/hpet.h' is out of source tree. ignored.
   ...
   Warning: '/home/darwi/linux/virt/lib/irqbypass.c' is out of source tree. ignored.
   make[1]: Leaving directory '/home/darwi/build/'

and then generates an empty index:

   $ du -hs ~/build/G*
   16K	/home/darwi/build/GPATH
   16K	/home/darwi/build/GRTAGS
   16K	/home/darwi/build/GTAGS

This series includes a proposed fix. After applying it:

   $ make O=../build/ gtags
   make[1]: Entering directory '/home/darwi/build'
     GEN     gtags
   make[1]: Leaving directory '/home/darwi/build'

   $ du -hs ~/build/G*
   9.1M	/home/darwi/build/GPATH
   506M	/home/darwi/build/GRTAGS
   696M	/home/darwi/build/GTAGS

The generated files can then be integrated with editors or IDEs as
usual.

=>

Ahmed S. Darwish (2):
  scripts/tags.sh: Resolve gtags empty index generation
  docs: Set minimal gtags / GNU GLOBAL version to 6.6.5

 Documentation/process/changes.rst | 7 +++++++
 scripts/tags.sh                   | 9 ++++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

base-commit: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
--
2.30.2
  

Comments

Masahiro Yamada May 20, 2023, 10:41 p.m. UTC | #1
On Tue, May 16, 2023 at 2:33 AM Ahmed S. Darwish <darwi@linutronix.de> wrote:
>
> Hi,
>
> v3-changelog
> ------------
>
> Handle review remarks from Masahiro Yamada:
>
>   - Apply shellcheck on new "scripts/tags.sh" code.
>
>   - Shorten code through shell's "default value" parameter expansion.
>
> NEW:
>
>   - Cc docs maintainer (Documentation/process/changes.rst change).
>
> Thanks!
>
> v2-changelog
> ------------
>
> https://lkml.kernel.org/r/20230509012616.81579-1-darwi@linutronix.de
>
> Handle review remarks from Masahiro Yamada:
>
>   - scripts/tags.sh: remove the O= language, and focus on the general
>     case of the build directory being different from the kernel source
>     tree, as specified in kernel Makefile L159.
>
>   - Fix failure when build directory is a subdirectory of the kernel
>     source tree.
>
> NEW:
>
>   - Update Documentation/process/changes.rst with new gtags (GNU GLOBAL)
>     requirements.
>
> Thanks!
>
> Cover letter / v1
> -----------------
>
> https://lkml.kernel.org/r/20230504201833.202494-1-darwi@linutronix.de
>
> make gtags for O= kernel builds is currently broken. For example, when doing:
>
>    make O=../build/ x86_64_defconfig
>    make O=../build/ gtags
>
> gtags generates a warning for each kernel source file to be indexed:
>
>    make[1]: Entering directory '/home/darwi/build'
>      GEN     gtags
>    Warning: '/home/darwi/linux/arch/x86/include/asm/qspinlock.h' is out of source tree. ignored.
>    Warning: '/home/darwi/linux/arch/x86/include/asm/hpet.h' is out of source tree. ignored.
>    ...
>    Warning: '/home/darwi/linux/virt/lib/irqbypass.c' is out of source tree. ignored.
>    make[1]: Leaving directory '/home/darwi/build/'
>
> and then generates an empty index:
>
>    $ du -hs ~/build/G*
>    16K  /home/darwi/build/GPATH
>    16K  /home/darwi/build/GRTAGS
>    16K  /home/darwi/build/GTAGS
>
> This series includes a proposed fix. After applying it:
>
>    $ make O=../build/ gtags
>    make[1]: Entering directory '/home/darwi/build'
>      GEN     gtags
>    make[1]: Leaving directory '/home/darwi/build'
>
>    $ du -hs ~/build/G*
>    9.1M /home/darwi/build/GPATH
>    506M /home/darwi/build/GRTAGS
>    696M /home/darwi/build/GTAGS
>
> The generated files can then be integrated with editors or IDEs as
> usual.
>
> =>
>
> Ahmed S. Darwish (2):
>   scripts/tags.sh: Resolve gtags empty index generation
>   docs: Set minimal gtags / GNU GLOBAL version to 6.6.5


Both applied. Thanks.




>
>  Documentation/process/changes.rst | 7 +++++++
>  scripts/tags.sh                   | 9 ++++++++-
>  2 files changed, 15 insertions(+), 1 deletion(-)
>
> base-commit: f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6
> --
> 2.30.2