Previously the html and pdf targets would also verify the input via
xmllint. This caused some code duplication and overloaded the targets
which an arguably unrelated task (verification).
Furthermore, something changed and the
! xmllint --nonet --noout --noent --loaddtd --xpath "//img/@src[not(starts-with(., 'data:'))]" $< 2>/dev/null && true
no fails. It seems that xmllint does no longer (?) report an error
exit status if the XPath result set is empty [1]. Therfore, this rule
is currently commented out, which fixed#1316.
1: https://gitlab.gnome.org/GNOME/libxml2/-/issues/673
The Makefile was set globally to silent, which caused the failing
commands to be *not* displayed. For example
flo@neo-pc xeps-xsf $ make html
make: *** [Makefile:112: build/xep-0001.html] Error 1
Removing this provides usefull information about which command failed:
flo@neo-pc xeps-xsf $ make html
xmllint --nonet --noout --noent --loaddtd --valid "xep-0001.xml"
! xmllint --nonet --noout --noent --loaddtd --xpath "//img/@src[not(starts-with(., 'data:'))]" xep-0001.xml 2>/dev/null && true
make: *** [Makefile:110: build/xep-0001.html] Error 1
We were asked [1] to state that the XEP bibliographic data is openly
available and free of charge if we want it to be consumed by third
parties.
This weas previously merged as 747738804a ("Add license for
bibliographic data"), but unfortunately later reverted in
59b2a5ca15 ("Revert "Add license for bibliographic data"",
https://github.com/xsf/xeps/pull/1221). However, the fix for the
broken docker build is trivial: simply also copy refs-LICENSE into the
container. This commit does that.
Fixes#1219.
1: https://github.com/ietf-tools/bibxml-service/issues/302#issuecomment-1274686153
Most jobs depend on build or one of its subdirectories. By default,
this causes make to take the timestamp of the `build` directory (or
the respective subdirectory) into account when calculating whether
a job needs rebuilding.
This is a problem, because the modified timestamp of `build` updates
whenever a file is put into it. Effectively, this breaks incremental
builds.
Luckily, GNU(?) Make supports Order-only Dependencies, prefixed with
a pipe (`|`) symbol in the dependency list. That means that the
dependencies are not taken into account for freshness checks, but
will be built before the target (if they are non-fresh).
This commit introduces usage of Order-only Dependencies for the
output directories, which fixes incremental building.
and some other cleanups: Add XMPPIMAGESURL. Use multiple target rule for
"mkdir -p". Use special variables where possible. Remove unnecessary [
-e $FILE ] test in curl recipes.