Re: git: 5a5db32f4a - main - Fix build after c8e8be58e580

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Thu, 07 Oct 2021 21:20:48 UTC
On 10/7/21 1:54 PM, Danilo G. Baio wrote:
> On Thu, Oct 07, 2021 at 09:22:56AM -0700, John Baldwin wrote:
>> On 10/6/21 4:59 PM, Danilo G. Baio wrote:
>>> The branch main has been updated by dbaio:
>>>
>>> URL: https://cgit.FreeBSD.org/doc/commit/?id=5a5db32f4a1e3f507cdc55f92d53e63adbb4f022
>>>
>>> commit 5a5db32f4a1e3f507cdc55f92d53e63adbb4f022
>>> Author:     Danilo G. Baio <dbaio@FreeBSD.org>
>>> AuthorDate: 2021-10-06 23:57:27 +0000
>>> Commit:     Danilo G. Baio <dbaio@FreeBSD.org>
>>> CommitDate: 2021-10-06 23:57:27 +0000
>>>
>>>       Fix build after c8e8be58e580
>>
>> It used to be possible to use 'make' in individual books or articles to test
>> things, and also to only build just html versions and not be required to
>> build PDF.  Apparently our new system doesn't permit either of those, so I
>> gave up on trying to test this pre-commit.
>>
>> -- 
>> John Baldwin
> 
> 
> To speed up the build time (right now), you can build only English HTML
> documentation this way:
> 
> $ cd documentation
> $ DOC_LANG="en" make
> 
>    14 seconds here
>    against 2 minutes for all languages.
> 
> The `make run` also helps as pointed by Sergio.
> 
> 
> ps. PDF is not built automatically.

I tried plain 'make' at the documentation top-level and it failed due to missing
asciidoctor-pdf (I had built docproj with PDF unchecked).

I have used 'make' just fine for the website in the past.  The error message
came from the 'requirements' target in documentation/Makefile:

RUN_DEPENDS=    ${PYTHON_CMD} \
                 ${HUGO_CMD} \
                 ${LOCALBASE}/bin/asciidoctor \
                 ${LOCALBASE}/bin/asciidoctor-pdf \
                 ${LOCALBASE}/bin/rougify

...

all: requirements starting-message generate-books-toc generate-pgpkeys-txt build
run: requirements starting-message generate-books-toc generate-pgpkeys-txt run-local

...

requirements:
.for dep in ${RUN_DEPENDS}
.if !exists(${dep})
         @(echo ${dep} not found, please run 'pkg install docproj python3'; exit 1)
.endif
.endfor

Thus, even using 'make html' or 'make run' will fail if the PDF tools aren't installed
even though those make targets don't generate PDF.

The problem for me wasn't the build time, it was the explicit error and exit above.

-- 
John Baldwin