Hi Frank, On Fri, 2021-07-30 at 08:47 -0400, Frank Ch. Eigler wrote: > > aha, ok, I understand now. This makes testing in-tree a bit more > > difficult. So the .so ./debuginfod-client-config.7 does work if you > > got > > into the doc/ subdirectory, then man ./debuginfod-find.1 does show > > the > > included chunks. But for the installed tree it should be .so man7 > > debuginfod-client-config.7 ? > > It'd probably be ".so ../man7/debuginfod-client-config.7" or > something.
I cannot find the canonical documentation on this, but it looks like the search path is the current directory plus MANPATH, so I am not sure .. would work. man7 (and I think it should be space, not slash) should work as long its parent is either the current directory or in the MANPATH. But all this is a little fuzzy. Maybe we need man1, man3, man7, etc subdirs in doc to make it also work in-tree (but then buildir != srcdir probably is still borken). It might be fine if it only works in the install tree though. Just don't know how to write tests to double check things are fine. > > That is interesting, then we could make debuginfod-client-config.7 > > into a real man page and include only the actual contents. I am not > > completely sure I understand how this works though. I hope there is > > some man/troff documentation that explains this trick? > > Documentation? Nah, let's reverse-engineer: > > NROFF CPP > > builtins.1: > > .nr zZ 1 #define zZ 1 > .so bash.1 #include <bash.1> > > bash.1: > > .if \n(zZ=1 .ig zZ #ifndef zZ > [...] [...] > .zZ #else > [...] [...] OK, that looks workable (although slightly ugly). Alice, would you be able to rewrite the split man pages using the above trickery? Please do feel to ask for more info and we'll try to figure something out. Thanks, Mark