NetBSD-Docs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

reorganizing /usr/share/doc

As some people know I've been gradually working on fixing
/usr/share/doc; this has two parts. One is installing useful files
(text, html, pdf, etc.)  instead of roff source. More on that later.
The other is reworking the organization, which in its current form is
between 20 and 30 years old and mostly pretty dated.

(Yes, I know, most of the documents are also that dated. They should
be removed or updated. But there's no motivation to do so when nobody
will ever see them, which is the current state.)

I'm intending to combine the installation changes and reorg into a
single batch of commits to reduce the impact on the set lists and
obsolete file database.

After looking through what we have (and don't have) I have the
following reorganization in mind:

   - drop the USD/SMM/PSD categories.
   - divide the docs by type (intros/guides, reference, papers, etc.)
   - within the reference section, create nine subsections ref1-ref9
     that correspond to the nine man page sections we know.

Nearly everything we have in /usr/share/doc (plus nearly all the
vintage 4.4 docs we don't have copies of in the tree) is reference
material. There are a few tutorials/introductions, and some papers.
(The key property of papers is that they're historical documents and
don't update, so they should be filed separately. Papers that aren't
worth including in their original form should just be dropped.)

It also seems like a good idea to get rid of the section numbers in
the article names, as the ordering isn't especially meaningful and
baking it into the set lists is an unnecessary nuisance.

I also propose to put all the roff-related material in a single
subdirectory of reference/ref1. If the docs for pic, eqn, refer, and
all that ever reappear this would include those.

I don't think it's a good idea to create separate hierarchies for
text, html, and ps/pdf, even though that's how man pages are
installed, so this is predicated on one dir per document that will
contain all output formats.

That gives the following contents for /usr/share/doc:

intro/beginners                         usd/01.begin
intro/ed                                usd/11.edit [1]
intro/vi                                usd/
papers/fastfs                           smm/05.fastfs
papers/fsck_ffs                         smm/03.fsck_ffs
papers/password                         smm/17.password
reference/ref1/atf                      (currently doc/atf)
reference/ref1/bzip2                    (currently doc/html/bzip2)
reference/ref1/config                   smm/02.config
reference/ref1/csh                      usd/04.csh
reference/ref1/ex/reference             usd/12.ex
reference/ref1/ex/summary               usd/12.ex
reference/ref1/kyua-atf-compat          (currently doc/kyua-atf-compat)
reference/ref1/kyua-cli                 (currently doc/kyua-cli)
reference/ref1/kyua-testers             (currently doc/kyua-testers)
reference/ref1/mail                     usd/07.mail
reference/ref1/make                     psd/12.make
reference/ref1/roff/groff/mom           (currently doc/html/groff/mom)
reference/ref1/roff/groff/mom_examples  (currently doc/groff/mom)
reference/ref1/roff/memacros            usd/19.memacros
reference/ref1/roff/meref               usd/20.meref
reference/ref1/roff/msdiffs             usd/18.msdiffs
reference/ref1/roff/msmacros            usd/17.msmacros
reference/ref1/sh                       usd/
reference/ref1/vi/reference             usd/13.viref
reference/ref1/vi/summary               usd/
reference/ref3/curses                   psd/19.curses
reference/ref3/ipc                      psd/21.ipc [2]
reference/ref3/ipctut                   psd/20.ipctut [2]
reference/ref3/sysman                   psd/05.sysman [3]
reference/ref6/rogue                    usd/30.rogue
reference/ref6/trek                     usd/31.trek
reference/ref7/quotas                   smm/04.quotas
reference/ref8/bind                     (currently doc/html/bind9/arm)
reference/ref8/lpd                      smm/07.lpd
reference/ref8/ntp                      (currently doc/html/ntp)
reference/ref8/postfix                  (currently doc/html/postfix)
reference/ref8/timed                    smm/12.timed
reference/ref8/timedop                  smm/11.timedop
reference/ref9/net                      smm/
reference/ref9/nfs                      smm/06.nfs

[delete]                                smm/01.setup

[1] This could also just be deleted.
[2] These should probably be renamed as they're about sockets; also
despite the name, ipctut doesn't appear to belong in the intro section.
[3] Where this should go isn't entirely clear; it's possible it should
be split up.

Right now there is a good bit of additional material for each of the
USD, PSD, and SMM sections that's left over from when O'Reilly printed
them for 4.4; there is no useful way to update this so my inclination
is to delete it, or leave it somewhere in the source tree and not
install it.

Each of the non-article dirs should get an index.html file, and
ideally text and ps/pdf equivalents of this; there is some material
for this in the tree right now.

In the long run I would also like to ship the Guide in
/usr/share/doc/guide, but that can't happen with the current toolset
and should be its own flamewar when the time comes; I'm mentioning it
because it's supposed to fit into the organizational scheme shown

The usd/smm/psd docs that are currently missing all (as far as I can
deduce from their titles) fit into this scheme adequately, so if some
of them reappear in the future they won't end up homeless.

It would be nice also to figure out how to crossreference this with
the texinfo docs in /usr/share/info, but that's going to be fairly

I am *not* proposing to move anything around in the source tree. We
can do that later if it looks like a good idea. Many of the articles
are installed from miscellaneous places (e.g. the csh article comes
from src/bin/csh/USD.doc) and leaving the usd/smm/psd doc trees that
are currently in src/share/doc is probably better than trying to
rename everything in CVS. I can add readme files to those trees to
explain what's going on.

If there are more docs that should be added, we can do that, modulo
the typesetting/tools issues, which I'll bring up when I post about
installing output rather than roff source.

David A. Holland

Home | Main Index | Thread Index | Old Index