Subject: bug#70324: After upgrade of linux-libre, linux-libre-documentation fails to build

From: Tomas Volf <[email-masked]>
Date: Thu, 11 Apr 2024 16:42:27 +0200

On 2024-04-10 23:12:43 -0400, Leo Famulari wrote:
> On Wed, Apr 10, 2024 at 05:05:15PM +0200, Tomas Volf wrote:
> > linux-libre-documentation is broken again:
> >
> >     starting phase `build'
> >     Traceback (most recent call last):
> >       File "/tmp/guix-build-linux-libre-documentation-6.8.4.drv-0/linux-6.8.4/./tools/net/ynl/ynl-gen-rst.py", line 26, in <module>
> >         import yaml
> >     ModuleNotFoundError: No module named 'yaml'
>
> It looks like the package depends on pyyaml now. I wonder if that's
> intentional. Did you search the upstream bug tracker to look for more
> info?

I did (now) and the search gives nothing.  However I suspect the commit in
question would be a304fa1d10fcb974c117d391e5b4d34c2baa9a62:

  docs: Makefile: Add dependency to $(YNL_INDEX) for targets other than htmldocs

Based on the diff:

  +htmldocs texinfodocs latexdocs epubdocs xmldocs: $(YNL_INDEX)
  +
  +htmldocs:

I would assume it is the texinfodocs triggering the YNL_INDEX for us.  This
snippet from the commit message:

  If one of other targets such as latexdocs or epubdocs is built
  without building htmldocs, missing .rst files can cause additional
  WARNINGs from sphinx-build as follow:

Seems to indicate it is intentional.

>
> > How are these not caught in the CI?
>
> What do you mean? The CI server did register the build failure:
>
> https://ci.guix.gnu.org/build/3863875/details
>
> As well as many other build failures in the kernel packages:
>
> https://ci.guix.gnu.org/eval/1228559

Right, I should have written the question differently.  I am curious how this
got onto the master.  Given the point 9. in (guix)Submitting Patches, and the
fact the QA should run on every patch before it is accepted, I was surprised
that the broken build of dependent package was committed.

Since this was second time in past ~two months the linux-libre-documentation
package on master was broken, I was curious if it is special in some way.

Have a nice day,
Tomas Volf

--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.