Working on
https://www.varnish-cache.org/trac/changeset/5321145882f6edd65bbeae24a7ff23cc6985f57e/
I noticed that the same inconsistencies exist for the docs - authored vs. 
generated:

When srcdir != builddir, paths to generated rsts are wrong, so building in a
separate builddir does not work, e.g.:

# pristine source tree
slink@haggis:/tmp/varnish-cache$ mkdir build
slink@haggis:/tmp/varnish-cache$ cd build
slink@haggis:/tmp/varnish-cache/build$ ../configure
...
slink@haggis:/tmp/varnish-cache/build$ ../make
...
make[2]: Entering directory `/tmp/varnish-cache/build/man'
  CC       vsc2rst.o
  CCLD     vsc2rst
rst2man ../../doc/sphinx/reference/varnish-cli.rst varnish-cli.7
./vsc2rst | rst2man - varnish-counters.7
rst2man ../../doc/sphinx/reference/vcl.rst vcl.7
../../doc/sphinx/reference/vcl.rst:347: (SEVERE/4) Problems with "include"
directive path:
InputError: [Errno 2] No such file or directory:
'../../doc/sphinx/include/vcl_var.rst'.
Exiting due to level-4 (SEVERE) system message.
make[2]: *** [vcl.7] Error 1
make[2]: Leaving directory `/tmp/varnish-cache/build/man'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/varnish-cache/build'
make: *** [all] Error 2

I'd suggest the attached patch, but it is pretty useless as long as we can't use
dynamic paths in .rst like this (does not work! exemplary only!):

--- a/doc/sphinx/reference/vcl.rst
+++ b/doc/sphinx/reference/vcl.rst
@@ -344,7 +344,7 @@ In VCL you have access to certain variable objects. These
contain
 requests and responses currently being worked on. What variables are
 available depends on context.

-.. include:: ../include/vcl_var.rst
+.. include:: $(top_builddir)/doc/sphinx/include/vcl_var.rst


 Functions


Does anyone have a good solution here (except for "separate build directory not
supported")?

Nils
diff --git a/man/Makefile.am b/man/Makefile.am
index e4a0bfe..978adde 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -36,7 +36,7 @@ vcl.7: $(top_srcdir)/doc/sphinx/reference/vcl.rst \
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/vcl.rst $@
 
 vsl.7: $(top_srcdir)/doc/sphinx/reference/vsl.rst \
-	$(top_srcdir)/lib/libvarnishapi/vsl-tags.rst
+	$(top_builddir)/lib/libvarnishapi/vsl-tags.rst
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/vsl.rst $@
 
 vsl-query.7: $(top_srcdir)/doc/sphinx/reference/vsl-query.rst
@@ -47,19 +47,19 @@ varnishadm.1: $(top_srcdir)/doc/sphinx/reference/varnishadm.rst
 
 varnishd.1: \
 	$(top_srcdir)/doc/sphinx/reference/varnishd.rst \
-	$(top_srcdir)/doc/sphinx/include/params.rst
+	$(top_builddir)/doc/sphinx/include/params.rst
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/varnishd.rst $@
 
 varnishncsa.1: \
 	$(top_srcdir)/doc/sphinx/reference/varnishncsa.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishncsa_options.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishncsa_synopsis.rst
+	$(top_builddir)/doc/sphinx/include/varnishncsa_options.rst \
+	$(top_builddir)/doc/sphinx/include/varnishncsa_synopsis.rst
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/varnishncsa.rst $@
 
 varnishlog.1: \
 	$(top_srcdir)/doc/sphinx/reference/varnishlog.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishlog_options.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishlog_synopsis.rst
+	$(top_builddir)/doc/sphinx/include/varnishlog_options.rst \
+	$(top_builddir)/doc/sphinx/include/varnishlog_synopsis.rst
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/varnishlog.rst $@
 
 varnishreplay.1: $(top_srcdir)/doc/sphinx/reference/varnishreplay.rst
@@ -74,18 +74,18 @@ varnishtest.1: $(top_srcdir)/doc/sphinx/reference/varnishtest.rst
 
 varnishtop.1: \
 	$(top_srcdir)/doc/sphinx/reference/varnishtop.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishtop_options.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishtop_synopsis.rst
+	$(top_builddir)/doc/sphinx/include/varnishtop_options.rst \
+	$(top_builddir)/doc/sphinx/include/varnishtop_synopsis.rst
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/varnishtop.rst $@
 
 varnishhist.1: \
 	$(top_srcdir)/doc/sphinx/reference/varnishhist.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishhist_options.rst \
-	$(top_srcdir)/doc/sphinx/include/varnishhist_synopsis.rst
+	$(top_builddir)/doc/sphinx/include/varnishhist_options.rst \
+	$(top_builddir)/doc/sphinx/include/varnishhist_synopsis.rst
 	${RST2MAN} $(top_srcdir)/doc/sphinx/reference/varnishhist.rst $@
 
-vmod_std.3: $(top_srcdir)/lib/libvmod_std/vmod_std.man.rst
+vmod_std.3: $(top_builddir)/lib/libvmod_std/vmod_std.man.rst
 	${RST2MAN} $? $@
 
-vmod_directors.3: $(top_srcdir)/lib/libvmod_directors/vmod_directors.man.rst
+vmod_directors.3: $(top_builddir)/lib/libvmod_directors/vmod_directors.man.rst
 	${RST2MAN} $? $@
_______________________________________________
varnish-dev mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Reply via email to