man-page-vos-setfields-20090316
[openafs.git] / doc / man-pages / README
index 50bec67..262a3e1 100644 (file)
@@ -78,7 +78,10 @@ Formatting Standards
   documents common options, and discusses the general use of the suite.
   Then, each operation code in the suite should have a separate man page,
   named after the command with the space between the command suite and the
-  operation code replaced with an underscore.
+  operation code replaced with an underscore.  The NAME section of the
+  operation man page must also use an underscore (fs_listacl, not fs
+  listacl) for compatibility with some man programs.  The SYNOPSIS section
+  should, of course, use a space, since that's what the user must type.
 
   All man pages must follow the standard layout for man page sections and
   formatting.  The best general reference is the pod2man man page,
@@ -104,9 +107,10 @@ Formatting Standards
   own copyright and a statement that the man page is released under the
   IBM Public License Version 1.0, or under some other license that is
   sufficiently compatible that we can use your work.  If you use another
-  license and that license isn't "public domain," you have to give the
-  full license text in the man page; please don't use a license so long
-  that this is annoying.
+  license and that license isn't "public domain" or one of the ones
+  already listed in our LICENSE file, you have to give the full license
+  text in the man page; please don't use a license so long that this is
+  annoying.
 
   The SYNOPSIS section should start with the full command name and the
   full names of all options, and then have a second section showing the
@@ -123,7 +127,11 @@ Formatting Standards
   References to functions should be noted like function() with the
   trailing parens.  The POD converters know how to format these sorts of
   references appropriately.  References to other sections in the same page
-  should be given as L<SECTION>.
+  should be given as L<SECTION>.  Man pages for all other AFS commands or
+  file formats referenced in the page should be listed in the SYNOPSIS.
+  List each reference on its own line for easier addition of other
+  references later, but don't put blank lines between them.  Don't forget
+  the commas at the end of each line but the last.
 
   Command and output examples should be indented three spaces.  Commands
   entered by the user should be given on a line beginning with %.  If the
@@ -140,6 +148,35 @@ Formatting Standards
   surrounding the variable.  For consistency in formatting, references to
   those variables should be formatted the same in following text.
 
+Man Page Sections
+
+  The section of a man page is determined by which directory it's in.
+  pod1 will be section 1 man pages, pod5 will be section 5, and pod8 will
+  be section 8.
+
+  The breakdown between section 1 and section 8 is fuzzy and it's hard to
+  get right.  The current layout balances the following goals:
+
+  * In general, section 1 is used for commands that can be executed by any
+    user and section 8 is used for commands that can only be meaningfully
+    issued as root.  If a command can be run with AFS privileged
+    credentials but still as a regular user on the local system, the
+    preference is for it to be in section 1, although some pages of that
+    type are in section 8.
+
+  * All the commands for a given suite should be kept together.  So, for
+    example, there are fs commands that can only be issued as root, but
+    since most of the suite is available to any user, all of the fs
+    commands are in section 1.
+
+  * The sections of the man pages should roughly correspond to the
+    installation paths of the binaries.  Binaries installed in bin should
+    have man pages in section 1 and binaries installed in sbin should have
+    man pages in section 8.
+
+  Section 5 should be used for all documentation of configuration files
+  and file formats.
+
 How You Can Help
 
   The OpenAFS man page project is just starting, and a lot of work remains
@@ -181,6 +218,11 @@ How You Can Help
   the bug number so that I'm aware of it, as I don't always notice new
   bugs.
 
+  You can test your new POD documentation by running the check-pod script
+  in this directory with "prove check-pod".  (And check other people's
+  documentation and find any problems that have crept in.)  You will need
+  to have Test::Pod installed.
+
 Known Problems
 
   The current man pages have the following known deficiencies.  Please
@@ -189,36 +231,25 @@ Known Problems
 
    * The following installed commands have no man pages:
 
-       bos_util
+       compile_et.afs
        copyauth
-       fs getcalleraccess
-       fs getcrypt
-       fs listaliases
-       fs newalias
+       fs cscpolicy
+       fs getfid
+       fs memdump
+       fs monitor
        fs rxstatpeer
        fs rxstatproc
        fs setcbaddr
-       fs setcrypt
-       kseal
-       pts interactive
-       pts quit
-       pts sleep
-       pts source
-       read_tape
+       fs trace
+       klog.krb
+       krb.conf
+       pagsh.krb
        restorevol
        rmtsysd
-       vldb_convert
-       vos changeloc
-       vos clone
-       vos convertROtoRW
-       vos copy
-       vos shadow
-       vos size
+       tokens.krb
        vsys
 
-   * The following configuration files have no man pages:
-
-       CellAlias
+   * Add -noresolve to the documentation of all the vos commands.
 
    * klog.krb, pagsh.krb, and tokens.krb need to be listed as alternative
      names in the NAME line of the non-.krb man pages, links should be
@@ -228,25 +259,11 @@ Known Problems
    * Some of the documentation in fs getserverprefs needs minor updates to
      reflect what happens in the dynroot case.
 
-   * fs sysname documentation needs to include the possibility of setting
-     multiple sysnames and the resulting behavior.
-
-   * The afsd man page is horribly out of date.  It doesn't explain
-     dynroot, many options are missing, and some of the options described
-     are no longer valid.  It also still assumes that -settime is the
-     default and says that the system must be rebooted after shutdown,
-     which isn't the case at least on Linux.
-
    * bos listkeys and the KeyFile man page assume that you're using the
      kaserver.
 
-   * I'm fairly sure that the fileserver man page no longer documents all
-     of the fileserver options.
-
-   * The package man page should probably mention the (pointless) package
-     apropos and package help commands, or they could be removed.  There
-     used to be separate man pages for them, but that seemed rather
-     pointless.
+   * bos addkey should be marked deprecated in favor of using asetkey with
+     a keytab.
 
    * There are lingering references to AFS Development or AFS Product
      Support in descriptions of options that one should generally not
@@ -258,9 +275,6 @@ Known Problems
 
    * The CellServDB documentation hasn't been updated for -dynroot.
 
-   * The aklog man page isn't in POD.  (Neither is the mpp man page, but
-     I don't think we care about it and it's not currently installed.)
-
    * In the suite introduction pages (pts, vos, etc.), each of the
      subcommands in the initial list should be a link to the relevant
      page in the HTML output.  This has been done for the fs intro page
@@ -285,6 +299,15 @@ Known Problems
    * Provide a way to substitute the correct paths into the HTML output
      from Autoconf results.
 
+   * Currently, the man pages are built by regen.sh, which is somewhat
+     annoying since it takes a long time.  Figure out how better to do this
+     during the release process so that end users don't have to have
+     pod2man.
+
+   * Review the sections used for all man pages against what directories
+     the commands are installed into.  (In some cases, it may be better to
+     change the directory than the section of the man page.)
+
   If you notice other problems, please send them to the openafs-doc list
   even if you don't have time to fix them.  Someone else might, and we
   want to track all of the issues.