Next: Listing options, Previous: Listing components, Up: gpgconf

#### 7.4.4 Checking programs

The command `--check-programs` is similar to `--list-components` but works on backend programs and not on components. It runs each program to test whether it is installed and runnable. This also includes a syntax check of all config file options of the program.

The command argument `--check-programs` lists all available programs, one per line. The format of each line is:

name`:`description`:`pgmname`:`avail`:`okay`:`cfgfile`:`line`:`error`:`

name
  This field contains a name tag of the program which is identical to the name of the component. The name tag is to be used verbatim. It is thus not in any escaped format. This field may be empty to indicate a continuation of error descriptions for the last name. The description and pgmname fields are then also empty.
description
  The string in this field contains a human-readable description of the component. It can be displayed to the user of the GUI for informational purposes. It is percent-escaped and localized.
pgmname
  The string in this field contains the absolute name of the program's file. It can be used to unambiguously invoke that program. It is percent-escaped.
avail
  The boolean value in this field indicates whether the program is installed and runnable.
okay
  The boolean value in this field indicates whether the program's config file is syntactically okay.
cfgfile
  If an error occurred in the configuration file (as indicated by a false value in the field `okay`), this field has the name of the failing configuration file. It is percent-escaped.
line
  If an error occurred in the configuration file, this field has the line number of the failing statement in the configuration file. It is an unsigned number.
error
  If an error occurred in the configuration file, this field has the error text of the failing statement in the configuration file. It is percent-escaped and localized.

In the following example the `dirmngr` is not runnable and the configuration file of `scdaemon` is not okay.

         $ gpgconf --check-programs
         gpg:GPG for OpenPGP:/usr/local/bin/gpg2:1:1:
         gpg-agent:GPG Agent:/usr/local/bin/gpg-agent:1:1:
         scdaemon:Smartcard Daemon:/usr/local/bin/scdaemon:1:0:
         gpgsm:GPG for S/MIME:/usr/local/bin/gpgsm:1:1:
         dirmngr:Directory Manager:/usr/local/bin/dirmngr:0:0:

The command `--check-options` component will verify the configuration file in the same manner as `--check-programs`, but only for the component component.