On 02/15/2016 05:16 PM, ellie timoney via Cyrus-devel wrote:
But the really fiddly thing here is always going to be the fact that we need to build most of the man pages from rst files, but we need to build some of them (and thus their corresponding web pages...) from imapd source files. Taken broadly, i.e. treating "man pages" as a homogenous collection, that's a cyclical dependency. Squishing it all together (options 1, 2, 4) makes that relatively easy to resolve just with autoconf, but option 3 will need tooling/process work.
Ellie, Nicola, et alia,As far as I'm aware, the only man page (RST file) which depends upon imapd source files is cyrus-docs/source/imap/admin/configs/imapd.conf, which derives from cyrus-imapd/lib/imapoptions by way of the cyrus-imapd/tools/config2rst perl script -- the same as the old cyrus-imapd/man/imapd.conf.5 was created. This is handled by the top-level Makefile (from Makefile.am):
man/imapd.conf.5: $(top_srcdir)/tools/config2man $(top_srcdir)/lib/imapoptions @echo creating man/imapd.conf.5 @$(MKDIR_P) man $(AM_V_GEN)$(top_srcdir)/tools/config2man $(top_srcdir)/lib/imapoptions > $@ doc/rst/imapd.conf.rst: $(top_srcdir)/tools/config2rst $(top_srcdir)/lib/imapoptions @echo creating man/imapd.conf.rst @$(MKDIR_P) doc/rst $(AM_V_GEN)$(top_srcdir)/tools/config2rst $(top_srcdir)/lib/imapoptions > $@So as long as Sphinx's "make man" target depends on doc/rst/imapd.conf.rst -- which is the same as /imap/admin/configs/imapd.conf.rst, or would be in a post-merge world -- then we should be fine with our existing autoconf stuff.
There's also some HTML pages which depend upon doc/rst/imapd.conf.rst, but again, if Sphinx's "make html" target depends on /imap/admin/configs/imapd.conf.rst that should sort itself out, too.
What's missing, of course, is some super sweet autoconf goodness on the cyrus-docs side of things, which would wrap this all up.
Just my tupence... -nic -- Nic Bernstein n...@onlight.com Onlight, Inc. www.onlight.com 6525 W Bluemound Road, Suite 24 v. 414.272.4477 Milwaukee, Wisconsin 53213-4073
<<attachment: nic.vcf>>