aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Noel <[email protected]>2024-09-10 14:43:58 +0000
committerWerner Koch <[email protected]>2024-09-10 14:58:29 +0000
commit8e7f443045f8e77bb5c841c2b7bfe2e1e3fcceb9 (patch)
treee939f639d3eb748045fdba41949b20755a72482b
parentdoc: Update the texinfo version also on gpgme.texi changes. (diff)
downloadgpgme-8e7f443045f8e77bb5c841c2b7bfe2e1e3fcceb9.tar.gz
gpgme-8e7f443045f8e77bb5c841c2b7bfe2e1e3fcceb9.zip
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.
-rw-r--r--configure.ac2
-rw-r--r--doc/Makefile.am33
-rw-r--r--doc/gpgme-json.texi70
3 files changed, 103 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac
index c0f136e7..f64f252d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -104,6 +104,8 @@ AC_CANONICAL_HOST
AM_SILENT_RULES
AC_ARG_VAR(SYSROOT,[locate config scripts also below that directory])
+AC_PATH_PROG(YAT2M, [yat2m], [:])
+
# Enable GNU extensions on systems that have them.
AC_USE_SYSTEM_EXTENSIONS
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 7b629bc3..cee802d5 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -19,7 +19,7 @@
## 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
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
+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
-gpgme_TEXINFOS = uiserver.texi lesser.texi gpl.texi
+gpgme_TEXINFOS = uiserver.texi lesser.texi gpl.texi gpgme-json.texi
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) \
$(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
defsincdate: $(gpgme_TEXINFOS) $(info_TEXINFOS)
diff --git a/doc/gpgme-json.texi b/doc/gpgme-json.texi
new file mode 100644
index 00000000..e5646662
--- /dev/null
+++ b/doc/gpgme-json.texi
@@ -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.