README: Add custom ctags informations and families support

Signed-off-by: Maxime Chretien <maxime.chretien@bootlin.com>
This commit is contained in:
Maxime Chretien 2020-05-22 10:25:41 +02:00
parent fbe9fa0e72
commit 410a7055b4

View file

@ -79,7 +79,7 @@ For Debian
____
----
sudo apt install python3 python3-jinja2 python3-pygments python3-bsddb3 python3-falcon python3-pytest exuberant-ctags perl git apache2 libapache2-mod-wsgi-py3
sudo apt install python3 python3-jinja2 python3-pygments python3-bsddb3 python3-falcon python3-pytest universal-ctags perl git apache2 libapache2-mod-wsgi-py3
----
To enable the REST API, follow the installation instructions on https://github.com/GrahamDumpleton/mod_wsgi[`mod_wsgi`]
@ -106,6 +106,22 @@ and install it as follows:
sudo pip3 install Pygments-2.6.1.elixir-py3-none-any.whl
----
=== Kconfig identifiers support
The service on https://elixir.bootlin.com relies on a modified version of https://ctags.io/[Universal-ctags],
to enable indexation of Kconfig identifiers.
The changes have been sent upstream and should appear in future distributions.
In the meantime, you can either rebuild this package from its source on
https://github.com/MaximeChretien/ctags/tree/kconfig-parser[GitHub], or download this
https://bootlin.com/pub/elixir/universal-ctags_0+git20221222-0ubuntu1_amd64.deb[binary module]
and install it as follows:
----
sudo dpkg -i universal-ctags_0+git20221222-0ubuntu1_amd64.deb
----
== Download Elixir Project
----
@ -176,7 +192,7 @@ ____
Verify that the queries work:
$ ./query.py v4.10 ident raw_spin_unlock_irq
$ ./query.py v4.10 ident raw_spin_unlock_irq C
$ ./query.py v4.10 file /kernel/sched/clock.c
NOTE: `v4.10` can be replaced with any other tag.
@ -272,10 +288,10 @@ After configuring httpd, you can test the API usage:
== ident query
Send a get request to `/api/ident/<Project>/<Ident>?version=<version>`.
Send a get request to `/api/ident/<Project>/<Ident>?version=<version>&family=<family>`.
For example:
curl http://127.0.0.1/api/ident/barebox/cdev?version=latest
curl http://127.0.0.1/api/ident/barebox/cdev?version=latest&family=C
The response body is of the following structure: