Re: [docs] [PATCH RFC 0/6] Generate documentation links for OE-Core (cover letter only)

Quentin Schulz <[email protected]> Mon, 6 Jul 2026 15:01:15 +0200
Newsgroups org.yoctoproject.lists.docs
Message-ID <[email protected]>
Hi Antonin,

On 7/3/26 5:07 PM, Antonin Godard via lists.yoctoproject.org wrote:
> [I have pushed this here for now:
>   https://git.yoctoproject.org/yocto-docs/log/?h=contrib/agodard/b4/gen-doc-links
> 
>   Not sent to mailing list as patches are quite big.]
> 
> The purpose of this series is to make links to yocto-docs accessible
> from OE-Core through a doclink flag, making the overall documentation
> more accessible. This link can be shown with:
> 
>    $ bitbake-getvar do_install --value -f doclink
>    https://docs.yoctoproject.org/blacksail/ref-manual/tasks.html#term-do_install
>    $ bitbake-getvar S --value -f doclink
>    https://docs.yoctoproject.org/blacksail/ref-manual/variables.html#term-S
> 
> This is made possible through a file generated automatically, which
> contains assignments such as:
> 
> S[doclink] = 'https://docs.yoctoproject.org/${LAYERSERIES_COMPAT_core}/ref-manual/variables.html#term-S'
> do_install[doclink] = 'https://docs.yoctoproject.org/${LAYERSERIES_COMPAT_core}/ref-manual/tasks.html#term-do_install'
> 
> This can be used in projects that want to point to documentation, like
> Toaster.
> 
> This could also be included automatically from OE-Core's bitbake.conf with:
> 
>    # Default path to yocto-docs, assuming it is next to the openembedded-core
>    # repository, as would be provided by bitbake-setup.
>    YOCTO_DOCS_DIR ??= "${COREBASE}/../yocto-docs"
> 
>    include ${YOCTO_DOCS_DIR}/documentation/oecore/doclinks.conf
> 
> The main point for this is to make documentation for variables easily
> accessible, with the hope that this would also encourage people to
> contribute to documentation more as it would create a bridge between
> OE-Core and yocto-docs.
> 
> This is more of an idea than anything though, comments on whether you
> think this would be useful are welcome!
> 

I've barely looked at it but the first question I had when looking at 
this was "why a file per variable in the glossary?" and the few commits 
I had a look at in the RFC branch don't really say. I think you may have 
wanted to generate a list of variables that are in the glossary and 
parsing Sphinx is a bit overkill, so just looking for files in a 
specific directory would be easier? There are three issues with this 
logic, first, we would need to do this for older releases which is 
time-consuming and error-prone (I guess you probably wrote a script to 
do it, so maybe not that much), second, it may become outdated, third, 
you need access to the docs locally.

Have you considering simply getting the objects.inv file generated by 
Sphinx and available at docs.yoctoproject.org/objects.inv?

python -m sphinx.ext.intersphinx https://docs.yoctoproject.org/objects.inv

will give you something interesting. With this, you don't need to keep 
updating your docs and be sure it's up to date, you just download what 
you need (we have objects.inv for each release I believe), you don't 
need to migrate any docs release as we already have it (Dunfell has one 
for example). The downside is that if you want to do this locally 
instead of remotely fetching the file you then need to compile the docs 
instead of just fetching the source code for the docs. The intersphinx 
code is in the Sphinx source tree, so we can always adapt it to generate 
whatever we need if this isn't 100% matching what you want to do.

You could even add a link to the bitbake docs as well since we also have 
an objects.inv for it. And you could probably also adapt it for other 
things, like documentation for a task since we do have links for each 
task in the docs. Also qa-checks, etc...

Cheers,
Quentin