doc: Provide a man page for gpgme-json.

* doc/gpgme-json.texi: New.
* configure.ac: Check for yat2m.
* doc/Makefile.am (YAT2M_OPTIONS): New.  Also add all the other man
page stuff similar to what is used in gnupg.
--

ChangeLog entries by wk.
This commit is contained in:
Sébastien Noel 2024-09-10 16:43:58 +02:00 committed by Werner Koch
parent 09b694359f
commit 8e7f443045
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
3 changed files with 103 additions and 2 deletions

View File

@ -104,6 +104,8 @@ AC_CANONICAL_HOST
AM_SILENT_RULES AM_SILENT_RULES
AC_ARG_VAR(SYSROOT,[locate config scripts also below that directory]) AC_ARG_VAR(SYSROOT,[locate config scripts also below that directory])
AC_PATH_PROG(YAT2M, [yat2m], [:])
# Enable GNU extensions on systems that have them. # Enable GNU extensions on systems that have them.
AC_USE_SYSTEM_EXTENSIONS AC_USE_SYSTEM_EXTENSIONS

View File

@ -19,7 +19,7 @@
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
DISTCLEANFILES = gpgme.tmp DISTCLEANFILES = gpgme.tmp yat2m-stamp.tmp yat2m-stamp $(myman_pages)
CLEANFILES = mkdefsinc defs.inc CLEANFILES = mkdefsinc defs.inc
EXTRA_DIST = module-overview.sk HACKING DCO ChangeLog-2011 \ EXTRA_DIST = module-overview.sk HACKING DCO ChangeLog-2011 \
@ -28,9 +28,15 @@ EXTRA_DIST = module-overview.sk HACKING DCO ChangeLog-2011 \
BUILT_SOURCES = defsincdate defs.inc BUILT_SOURCES = defsincdate defs.inc
YAT2M_OPTIONS = -I $(srcdir) --release "GPGME @PACKAGE_VERSION@"
myman_sources = gpgme-json.texi
myman_pages = gpgme-json.1
man_MANS = $(myman_pages)
info_TEXINFOS = gpgme.texi info_TEXINFOS = gpgme.texi
gpgme_TEXINFOS = uiserver.texi lesser.texi gpl.texi gpgme_TEXINFOS = uiserver.texi lesser.texi gpl.texi gpgme-json.texi
gpgme.texi : defs.inc gpgme.texi : defs.inc
@ -38,6 +44,29 @@ mkdefsinc: mkdefsinc.c Makefile $(top_builddir)/conf/config.h
$(CC_FOR_BUILD) -I. -I$(top_builddir)/conf -I$(srcdir) \ $(CC_FOR_BUILD) -I. -I$(top_builddir)/conf -I$(srcdir) \
$(AM_CPPFLAGS) -o $@ $(srcdir)/mkdefsinc.c $(AM_CPPFLAGS) -o $@ $(srcdir)/mkdefsinc.c
yat2m-stamp: $(myman_sources) defs.inc
@rm -f yat2m-stamp.tmp
@touch yat2m-stamp.tmp
incd="`test -f defsincdate || echo '$(srcdir)/'`defsincdate"; \
for file in $(myman_sources) ; do \
$(YAT2M) $(YAT2M_OPTIONS) --store \
--date "`cat $$incd 2>/dev/null`" \
`test -f '$$file' || echo '$(srcdir)/'`$$file ; done
@mv -f yat2m-stamp.tmp $@
$(myman_pages) : yat2m-stamp defs.inc
@if test -f $@; then :; else \
trap 'rm -rf yat2m-stamp yat2m-lock' 1 2 13 15; \
if mkdir yat2m-lock 2>/dev/null; then \
rm -f yat2m-stamp; \
$(MAKE) $(AM_MAKEFLAGS) yat2m-stamp; \
rmdir yat2m-lock; \
else \
while test -d yat2m-lock; do sleep 1; done; \
test -f yat2m-stamp; exit $$?; \
fi; \
fi
dist-hook: defsincdate dist-hook: defsincdate
defsincdate: $(gpgme_TEXINFOS) $(info_TEXINFOS) defsincdate: $(gpgme_TEXINFOS) $(info_TEXINFOS)

70
doc/gpgme-json.texi Normal file
View File

@ -0,0 +1,70 @@
\input texinfo @c -*- mode: texinfo; coding: utf-8; -*-
@documentencoding UTF-8
@setfilename gpgme-json.info
@include defs.inc
@manpage gpgme-json.1
@ifset manverb
.B gpgme-json
\- Native messaging based GPGME operations
@end ifset
@mansect synopsis
@ifset manverb
.B gpgme-json
.RB [ \-\-interactive | \-i ]
.RB [ \-\-single | \-s ]
.RB [ \-\-identify
.IR file ]
.RB [ \-\-lib\-version ]
.RB [ \-\-help | \-h ]
@end ifset
@mansect description
@command{gpgme-json} is a JSON to GPGME bridge.
This interface allows web-browser extensions to communicate with the
GPGME library through the Native Messaging facility from web-browser.
@mansect options
@command{gpgme-json} accepts the following options on the command line:
@item -i
@itemx --interactive
@opindex interactive
Enable interactive mode. Interactive mode also provides some online help.
@item -s
@itemx --single
@opindex single
Enable single request mode.
@item --identify @var{file|-}
@opindex identify
Identify the type of the data found in @file{file} or standard input @var{-}.
@item --debug
@opindex single
Enable debug mode. Logs are saved to to @file{~/.gnupg/S.gpgme-json.log}.
Note that you can also turn debug mode on and specify a custom logfile using
the environment variable @code{GPGME_JSON_DEBUG}.
@item --lib-version
@opindex version
Print GPGME library version.
@item -h
@itemx --help
@opindex help
Print a usage message summarizing the most useful command-line options.
@mansect bugs
Please report bugs to <https://bugs.gnupg.org>.
@mansect copyright
@command{gpgme-json} is Copyright 2018-2024 g10 Code GmbH.
LGPL version 2.1 or later <https://www.gnu.org/licenses/>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.