Home GnuPG
Diffusion GnuPG 0e8f6e2aa98c

gpg: Use gpgrt's new option parser to provide a global conf file.

Description

gpg: Use gpgrt's new option parser to provide a global conf file.

* common/util.h: Remove argparse.h.
* common/argparse.c: Undef GPGRT_ENABLE_ARGPARSE_MACROS.
* configure.ac (GPGRT_ENABLE_ARGPARSE_MACROS): Define.
* agent/gpg-agent.c: Undef GPGRT_ENABLE_ARGPARSE_MACROS and include
argparse.h.  Do this also for all main modules which use our option
parser except for gpg.  Replace calls to strusage by calls to
gpgrt_strusage everywhere.
* g10/gpg.c (opts): Change type to gpgrt_opt_t.  Flag oOptions and
oNoOptions with ARGPARSE_conffile and ARGPARSE_no_conffile.
(main): Change type of pargs to gpgrt_argparse_t.  Rework the option
parser to make use of the new gpgrt_argparser.

This is not yet finished but a make check works. gpg has the most
complex and oldest option handling and thus this is the first
migration target. SE-Linux checks and version-ed config files are
missing and will be added later.

  • GnuPG-bug-id: T4788
  • Signed-off-by: Werner Koch <wk@gnupg.org>

Details

Provenance
wernerAuthored on Feb 20 2020, 10:03 AM
Parents
rGccdf988b406d: build: Require libgpg-error 1.38
Branches
Unknown
Tags
Unknown
Tasks
T4788: System wide configuration of the GnuPG system