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

Ahmed S. Darwish
2023-05-15T17:35:20Z

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