added missing gpgv man page
authorWerner Koch <wk@gnupg.org>
Tue, 22 Aug 2006 14:26:35 +0000 (14:26 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 22 Aug 2006 14:26:35 +0000 (14:26 +0000)
doc/ChangeLog
doc/Makefile.am
doc/tools.texi
doc/yat2m.c

index b70e70f..4a86e45 100644 (file)
@@ -1,3 +1,9 @@
+2006-08-22  Werner Koch  <wk@g10code.com>
+
+       * yat2m.c (parse_file): Added code to skip a line after @mansect.
+
+       * gnupg7.texi: New.
+
 2006-08-21  Werner Koch  <wk@g10code.com>
 
        * Makefile.am: Added other doc files from gpg 1.4.
index 73350fd..77e48aa 100644 (file)
@@ -24,8 +24,8 @@ EXTRA_DIST = DETAILS HACKING TRANSLATE OpenPGP KEYSERVER samplekeys.asc \
              gnupg-badge-openpgp.pdf \
              gnupg-card-architecture.eps gnupg-card-architecture.png \
              gnupg-card-architecture.pdf \
-             faq.raw FAQ faq.html \
-             opt-homedir.texi see-also-note.texi 
+             faq.raw FAQ faq.html gnupg7.texi \
+             opt-homedir.texi see-also-note.texi
 
 BUILT_SOURCES = gnupg-card-architecture.eps gnupg-card-architecture.png \
                 gnupg-card-architecture.pdf FAQ faq.html
@@ -46,8 +46,9 @@ AM_MAKEFINFOFLAGS = -I $(srcdir)
 YAT2M_OPTIONS = -I $(srcdir) \
         --release "GnuPG @PACKAGE_VERSION@" --source "GNU Privacy Guard"
 
-myman_sources = gpg.texi gpgsm.texi gpg-agent.texi scdaemon.texi tools.texi
-myman_pages   = gpg2.1 gpgsm.1 gpg-agent.1 scdaemon.1 \
+myman_sources = gnupg7.texi gpg.texi gpgsm.texi gpg-agent.texi \
+                scdaemon.texi tools.texi
+myman_pages   = gnupg.7 gpg2.1 gpgsm.1 gpg-agent.1 scdaemon.1 gpgv2.1 \
                 watchgnupg.1 gpgconf.1 addgnupghome.8 gpg-preset-passphrase.1 \
                gpg-connect-agent.1 gpgparsemail.1 symcryptrun.1 \
                gpgsm-gencert.sh.1
index d4f6984..07fcfd2 100644 (file)
@@ -9,6 +9,7 @@ GnuPG comes with a couple of smaller tools:
 
 @menu
 * watchgnupg::            Read logs from a socket.
+* gpgv::                  Verify OpenPGP signatures.
 * addgnupghome::          Create .gnupg home directories.
 * gpgconf::               Modify .gnupg home directories.
 * gpgsm-gencert.sh::      Generate an X.509 certificate request.
@@ -89,6 +90,135 @@ Display a brief help page and exit
 
 
 @c
+@c  GPGV
+@c
+@manpage gpgv2.1
+@node gpgv
+@section Verify OpenPGP signatures
+@ifset manverb
+.B gpgv
+\- Verify OpenPGP signatures
+@end ifset
+
+@mansect synopsis
+@ifset manverb
+.B  gpgv2
+.RI [ options ]
+.I signed_files
+@end ifset
+
+@mansect description
+@code{gpgv2} is an OpenPGP signature verification tool.
+
+This program is actually a stripped down version of @code{gpg} which is
+only able to check signatures. It is somewhat smaller than the fully blown
+@code{gpg} and uses a different (and simpler) way to check that
+the public keys used to make the signature are valid. There are
+no configuration files and only a few options are implemented.
+
+@code{gpgv2} assumes that all keys in the keyring are trustworthy.
+By default it uses a keyring named @file{trustedkeys.gpg} which is
+assumed to be in the home directory as defined by GnuPG or set by an
+option or an environment variable. An option may be used to specify
+another keyring or even multiple keyrings.
+
+@noindent
+@mansect options
+@code{gpgv2} recognizes these options:
+
+@table @gnupgtabopt
+
+@item --verbose
+@itemx -v
+@opindex verbose
+Gives more information during processing. If used
+twice, the input data is listed in detail.
+
+@item --quiet
+@itemx -q
+@opindex quiet
+Try to be as quiet as possible.
+
+@item --keyring @var{file}
+@opindex keyring
+Add @var{file} to the list of keyrings.
+If @var{file} begins with a tilde and a slash, these
+are replaced by the HOME directory. If the filename
+does not contain a slash, it is assumed to be in the
+home-directory ("~/.gnupg" if --homedir is not used).
+
+@item --status-fd @var{n}
+@opindex status-fd
+Write special status strings to the file descriptor @var{n}.  See the
+file DETAILS in the documentation for a listing of them.
+
+@item --logger-fd @code{n}
+@opindex logger-fd
+Write log output to file descriptor @code{n} and not to stderr.
+
+@item --ignore-time-conflict
+@opindex ignore-time-conflict
+GnuPG normally checks that the timestamps associated with keys and
+signatures have plausible values. However, sometimes a signature seems to
+be older than the key due to clock problems. This option turns these
+checks into warnings.
+
+@include opt-homedir.texi
+
+@end table
+
+@mansect return value
+
+The program returns 0 if everything was fine, 1 if at least
+one signature was bad, and other error codes for fatal errors.
+
+@mansect examples
+@subsection Examples
+
+@table @asis
+
+@item gpgv2 @code{pgpfile}
+@itemx gpgv2 @code{sigfile} 
+Verify the signature of the file. The second form
+is used for detached signatures, where @code{sigfile} is the detached
+signature (either ASCII armored or binary) and are the signed
+data; if this is not given the name of the file holding the signed data is
+constructed by cutting off the extension (".asc", ".sig" or ".sign") from
+@code{sigfile}.
+
+@end table
+
+@mansect environment
+@subsection Environment
+
+@table @asis
+
+@item HOME
+Used to locate the default home directory.
+
+@item GNUPGHOME
+If set directory used instead of "~/.gnupg".
+
+@end table
+
+@mansect files
+@subsection FILES
+
+@table @asis
+
+@item ~/.gnupg/trustedkeys.gpg
+The default keyring with the allowed keys
+
+@end table
+
+@mansect see also
+@command{gpg2}(1)
+@include see-also-note.texi
+
+
+
+
+@c
 @c    ADDGNUPGHOME
 @c
 @manpage addgnupghome.8
index 39feea9..6d8786b 100644 (file)
     go into the man page. These macros need to be used without leading
     left space. Processing starts after a "manpage" macro has been
     seen.  "mansect" identifies the section and yat2m make sure to
-    emit the sections in the proper order.  To insert verbatim troff
-    markup, the follwing texinfo code may be used:
+    emit the sections in the proper order.  Note that @mansect skips
+    the next input line if that line begins with @subsection or
+    @chapheading.
+
+    To insert verbatim troff markup, the follwing texinfo code may be
+    used:
 
       @ifset manverb
       .B whateever you want
 
       @c man:.B whatever you want
 
-    This is useful in case you need just one line.  @section is
-    ignored, however @subsection gets rendered as ".SS".  @menu is
-    completely skipped. Several man pages may be extracted from one
-    file, either using the --store or the --select option.
-    Makefile snippet from GnuPG:
+    This is useful in case you need just one line. If you want to
+    include parts only in the man page but keep the texinfo
+    translation you may use:
+
+      @ifset isman
+      stuff to be rendered only on man pages
+      @end ifset
+
+    or to exclude stuff from man pages:
+
+      @ifclear isman
+      stuff not to be rendered on man pages
+      @end ifclear
+
+    the keyword @section is ignored, however @subsection gets rendered
+    as ".SS".  @menu is completely skipped. Several man pages may be
+    extracted from one file, either using the --store or the --select
+    option.
 
 
 */
@@ -794,6 +811,7 @@ parse_file (const char *fname, FILE *fp, char **section_name)
   int in_verbatim = 0;
   int in_pause = 0;
   int skip_to_end = 0;        /* Used to skip over menu entries. */
+  int skip_sect_line = 0;     /* Skip after @mansect.  */
 
   line = xmalloc (LINESIZE);
   while (fgets (line, LINESIZE, fp))
@@ -810,6 +828,15 @@ parse_file (const char *fname, FILE *fp, char **section_name)
           break;
         }
       line[--n] = 0;
+
+      if (skip_sect_line)
+        {
+          skip_sect_line = 0;
+          if (!strncmp (line, "@subsection", 11)
+              || !strncmp (line, "@chapheading", 12))
+            continue;
+        }
+
       /* We only parse lines we need and ignore the rest.  There are a
          few macros used to control this as well as one @ifset
          command.  Parts we know about are saved away into containers
@@ -862,6 +889,7 @@ parse_file (const char *fname, FILE *fp, char **section_name)
                   free (*section_name);
                   *section_name = ascii_strupr (xstrdup (p));
                   in_pause = 0;
+                  skip_sect_line = 1;
                 }
             }
           else if (n == 9 && !memcmp (line, "@manpause", 9))