mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-23 10:29:58 +01:00
a028f24136
* configure.ac (GPGRT_ENABLE_ARGPARSE_MACROS): Define. * common/argparse.c, common/argparse.h: Rewrite. * tests/gpgscm/main.c: Switch to the new option parser. * g10/gpg.c: Switch to the new option parser and enable a global conf file. * g10/gpgv.c: Ditto. * agent/gpg-agent.c: Ditto. * agent/preset-passphrase.c: Ditto. * agent/protect-tool.c: Ditto. * scd/scdaemon.c: Ditto. * dirmngr/dirmngr.c: Ditto. * dirmngr/dirmngr_ldap.c: Ditto * dirmngr/dirmngr-client.c: Ditto. * kbx/kbxutil.c: Ditto. * tools/gpg-card.c: Ditto. * tools/gpg-check-pattern.c: Ditto. * tools/gpg-connect-agent.c: Ditto. * tools/gpg-pair-tool.c: Ditto. * tools/gpg-wks-client.c: Ditto. * tools/gpg-wks-server.c: Ditto. * tools/gpgconf.c: Ditto. * tools/gpgsplit.c: Ditto. * tools/gpgtar.c: Ditto. * g13/g13.c: Ditto. * g13/g13-syshelp.c: Ditto. Do not force verbose mode. * sm/gpgsm.c: Ditto. Add option --no-options. -- This is backport from master commit cdbe10b762f38449b86da69076209324b0c99982 commit ba463128ce65a0f347643f7246a8e097c5be19f1 commit 3bc004decd289810bc1b6ad6fb8f47e45c770ce6 commit 2c823bd878fcdbcc4f6c34993e1d0539d9a6b237 commit 0e8f6e2aa98c212442001036fb5178cd6cd8af59 but without changing all functions names to gpgrt. Instead we use wrapper functions which, when building against old Libgpg-error versions, are implemented in argparse.c using code from the current libgpg-error. This allows to keep the dependency requirement at libgpg-error 1.27 to support older distributions. Tested builds against 1.27 and 1.40-beta. Note that g13-syshelp does not anymore default to --verbose because that can now be enabled in /etc/gnupg/g13-syshelp.conf. GnuPG-bug-id: 4788 Signed-off-by: Werner Koch <wk@gnupg.org>
============ GPG Conf ============ Main documentation for this tool can be found in doc/tools.texi. BACKENDS ======== Backends should support the following commands: Command --gpgconf-list ---------------------- List the location of the configuration file, and all default values of all options. The location of the configuration file must be an absolute pathname. The format of each line is: NAME:FLAGS:DEFAULT:ARGDEF NAME This field contains a name tag for the group or option. The name tag is used to specify the group or option in all communication with GPGConf. The name tag is to be used verbatim. It is not in any escaped format. FLAGS The flags field contains an unsigned number. Its value is the OR-wise combination of the following flag values: 16 default If this flag is set, a default value is available. 32 default desc If this flag is set, a (runtime) default is available. This and the "default" flag are mutually exclusive. 64 no arg desc If this flag is set, and the "optional arg" flag is set, then the option has a special meaning if no argument is given. DEFAULT This field is defined only for options. Its format is that of an option argument (see section Format Conventions for details). If the default value is empty, then no default is known. Otherwise, the value specifies the default value for this option. Note that this field is also meaningful if the option itself does not take a real argument. ARGDEF This field is defined only for options for which the "optional arg" flag is set. If the "no arg desc" flag is not set, its format is that of an option argument (see section Format Conventions for details). If the default value is empty, then no default is known. Otherwise, the value specifies the default value for this option. If the "no arg desc" flag is set, the field is either empty or contains a description of the effect of this option if no argument is given. Note that this field is also meaningful if the option itself does not take a real argument. Example: $ dirmngr --gpgconf-list gpgconf-config-file:/mnt/marcus/.gnupg/dirmngr.conf ldapservers-file:/mnt/marcus/.gnupg/dirmngr_ldapservers.conf add-servers:0 max-replies:10 TODO ---- * Implement --dry-run and --quiet. * Extend the backend interface to include gettext domain and description, if available, to avoid repeating this information in gpgconf.