[OpenAFS-Doc] Re: [OpenAFS-devel] The OpenAFS man page project

Russ Allbery rra@stanford.edu
Sat, 10 Dec 2005 21:52:56 -0800


Hm, I'm not sure this message actually made it to openafs-doc.  At least,
I don't seem to have gotten a copy from the mailing list.

Jeffrey Hutzelman <jhutz@cmu.edu> writes:

> OK, but since man pages are not an essential operational part of the
> system, people checking things out of CVS should _also_ not be required
> to have pod2man available in order to build the software.  I would
> suggest that regen.sh check for availability of pod2man, and if it is
> not available, print a warning and move on.

Good idea.

Well, it kind of does this now, it just prints out 400 warning messages.
Which is a little excessive.  :)  I'll fix that.

> In an ideal world, this would be fatal when building release source; one
> way to do this would be to make regen.sh take a command-line switch
> which, when given, indicates that this is a release build and it should
> be more strict.  We can then cause make_release to use that switch when
> constructing the source tarballs for releases.

I can do that, sure.

> While I generally support the idea of building the man pages at regen
> time, I anticipate that folks packaging OpenAFS may want to run pod2man
> on the "right" platform, to get more consistency with whatever
> conventions are used on that platform.  It might be good to do something
> to facilitate regenerating the man pages without doing the autoconf
> step.  Similarly, as the number of man pages gets large, we may actually
> want regen to run a make-like operation so only pages which do not exist
> or whose sources have changed get rebuilt.

I was thinking about moving the man page generation to a separate script
that regen.sh just runs anyway.  I'll see if I can work out something that
meets the above criteria (although I'll probably finish the first editing
pass first, since after that point the work becomes much more
parallelizable.)

> Again, I think it would be good for the script to print a warning if the
> best tools are not available.

Also a good idea.

> Well, when you talk about etc and root.server, you're clearly looking at
> where things are being installed in the transarc-paths case.  That case
> exists for compatibility, and so deliberately installs things where AFS
> has always installed them.  It should not be changed.

> For the non-transarc-paths case, we chose to install things according to
> GNU conventions, in which

> - binaries that will be invoked by ordinary users are installed in bin
> - binaries that will be invoked by system administrators, either directly
>  or indirectly (e.g. by system startup scripts) are installed in sbin
> - binaries that are normally invoked only by other programs are installed
>  in libexec/openafs

> Things in the first category should be documented in man1.
> Things in the other two categories should be documented in man8.

Okay, I'll try doing a regular build and seeing where that puts things.
That's a good idea; I should have done that first.

It's probably a good idea to switch the Debian build over to doing a
regular install rather than a make dest, actually, since Debian doesn't
care about Transarc compatibility and that's the whole point of make dest.

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>