On Wed, Apr 7, 2021 at 6:12 PM Quentin Schulz <quentin.schulz@streamunlimited.com> wrote:
On Wed, Jan 13, 2021 at 07:26:17PM +0100, Nicolas Dechesne wrote:
> On Thu, Jan 7, 2021 at 6:08 PM Nicolas Dechesne <nicolas.dechesne@linaro.org>
> wrote:
>
> >
> >
> > On Thu, Jan 7, 2021 at 5:59 PM Quentin Schulz <
> > quentin.schulz@streamunlimited.com> wrote:
> >
> >> Hi Nicolas,
> >>
> >> On Thu, Jan 07, 2021 at 05:52:49PM +0100, Nicolas Dechesne wrote:
> >> > hey!
> >> >
> >> > Robert opened a bug for a broken link in the doc, see
> >> > https://bugzilla.yoctoproject.org/show_bug.cgi?id=14168
> >> >
> >> > This is a valid bug, a regression in
> >> > e1bcfe4d8 dev-manual: remove unused labels
> >> >
> >> > Unfortunately, it opens a can of worms... since it looks like the built
> >> in
> >> > linkcheck did not detect the broken links, and this is not the only
> >> broken
> >> > link.
> >> >
> >> > I ran an online link checker on
> >> > https://docs.yoctoproject.org/dev-manual/common-tasks.html, and it
> >> reported
> >> > the following errors with anchors.. they look like they are regression
> >> with
> >> > the commit above..
> >> >
> >>
> >> [...]
> >>
> >> It'd be nice to fix the linkcheck indeed.
> >>
> >
> > hmm. could it be that linkcheck only checks for 'external' links?
> >
>
> in the meantime I was looking for a tool I could run locally, and found [1]
>
> It looks like it gives some good output:
>
> $ pytest --check-links --check-anchors --check-links-cache
> _build/html/dev-manual/
>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#new-recipe-autotooled-package>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#new-recipe-single-c-file-package-hello-world>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#new-recipe-patching-code>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#new-recipe-fetching-code>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#new-recipe-post-installation-scripts>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#new-recipe-storing-and-naming-the-recipe>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#usingpoky-extend-customimage>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#finding-the-temporary-source-code>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#understand-what-gives-your-image-size>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#combining-multiple-versions-library-files-into-one-image>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#using-a-provided-kickstart-file>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#wic-using-the-wic-plugin-interface>
> FAILED _build/html/dev-manual/common-tasks.html <a href=#wic-requirements>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#best-practices-to-follow-when-creating-layers>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#using-bbappend-files>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#incrementing-a-binary-package-version>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#automatically-incrementing-a-binary-package-revision-number>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#qemu-image-running-tests>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-debugging-viewing-logs-from-failed-tasks>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-debugging-viewing-variable-values>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-viewing-dependencies-between-recipes-and-tasks>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-viewing-task-variable-dependencies>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-debugging-taskrunning>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-debugging-bitbake>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-debugging-buildfile>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#platdev-gdb-remotedebug>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-other-debugging-others>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#dev-viewing-task-variable-dependencies>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#platdev-appdev-devshell>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#using-a-quilt-workflow>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#how-to-submit-a-change>
> FAILED _build/html/dev-manual/common-tasks.html <a
> href=#figuring-out-the-mailing-list-to-use>
> FAILED _build/html/dev-manual/qemu.html <a
> href=#qemu-running-under-a-network-file-system-nfs-server>
> FAILED _build/html/dev-manual/qemu.html <a href=#kvm-cond>
> FAILED _build/html/dev-manual/start.html <a href=
> https://autobuilder.yocto.io//pub/nightly/>
> FAILED _build/html/dev-manual/start.html <a href=
> https://autobuilder.yocto.io//pub/nightly/>
> FAILED _build/html/dev-manual/start.html <a
> href=#checkout-out-by-tag-in-poky>
>
> It's slow, it took 7 minutes to check for the dev-manual.. but it's a first
> step. now we need to fix them!
>
> [1] https://github.com/jupyterlab/pytest-check-links
>

In the end, I went for htmltest to test links:
https://github.com/wjdp/htmltest

~5min for the whole documentation. Not too bad :)

Very interesting... It took 6min the first time, and I found 271 errors in 145 documents. Then I applied your last patch, and it took 3 seconds, since it uses the local cache.. and found 190 errors. your patch looks nice too ;) 
We should review that a bit more, but looks like something we want to add in the AB, at least for the master-next builds.. 
 

Cheers,
Quentin