From 7c63bfe4ab434b61a871aec4bc1d0a05b4c068e6 Mon Sep 17 00:00:00 2001 From: Ben McGinnes Date: Mon, 10 Dec 2018 16:05:14 +1100 Subject: [PATCH] python: docs updates * Multiple updates, expanding on the Windows installation issues. * Also adding to the new maintenance mode reference document. * Includes content relating to the resolution of T4271 and T4191. Tested-by: Ben McGinnes Signed-off-by: Ben McGinnes --- lang/python/doc/rst/gpgme-python-howto.rst | 22 ++++++++-- lang/python/doc/rst/maintenance-mode.rst | 43 ++++++++++++++++++ lang/python/doc/src/gpgme-python-howto | 16 +++++-- lang/python/doc/src/maintenance-mode | 40 +++++++++++++++++ .../doc/texinfo/gpgme-python-howto.texi | 16 +++++-- lang/python/doc/texinfo/maintenance-mode.texi | 44 +++++++++++++++++++ 6 files changed, 172 insertions(+), 9 deletions(-) diff --git a/lang/python/doc/rst/gpgme-python-howto.rst b/lang/python/doc/rst/gpgme-python-howto.rst index 3750d9a1..1bd069ca 100644 --- a/lang/python/doc/rst/gpgme-python-howto.rst +++ b/lang/python/doc/rst/gpgme-python-howto.rst @@ -2048,6 +2048,10 @@ content as a byte object, the recipient key IDs and algorithms in ``result`` and the results of verifying any signatures of the data in ``verify_result``. +If ``gpg.Context().decrypt(cfile, verify=False)`` is called instead, +then ``verify_result`` will be returned as ``None`` and the rest remains +as described here. + .. _howto-basic-signing: Signing text and files @@ -3099,11 +3103,11 @@ the author at any of the following URLs: - `GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 SSL) `__ - `GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 no - SS) `__ + SSL) `__ - `GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 SSL) `__ - `GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 no - SSL) `__ + SSL) `__ All of these draft versions except for one have been generated from this document via GNU Emacs `Org mode `__ and `GNU @@ -3135,12 +3139,24 @@ either of the following commands: In addition to these there is a significantly less frequently updated version as a HTML `WebHelp -site `__ +site `__ (AWS S3 SSL); generated from DITA XML source files, which can be found in `an alternative branch `__ of the GPGME git repository. +Various generated output formats may occasionally be found in +subdirectories of the +`gpgme-python `__ +directory. In particular within the +`DITA `__, +`reStructuredText `__ +and +`Texinfo `__ +subdirectories. The ``rst`` directory contains output files generated +with Sphix and may include a considerable number of its possible output +formats. + These draft editions are not official documents and the version of documentation in the master branch or which ships with released versions is the only official documentation. Nevertheless, these draft editions diff --git a/lang/python/doc/rst/maintenance-mode.rst b/lang/python/doc/rst/maintenance-mode.rst index 770fbe84..6f770bc6 100644 --- a/lang/python/doc/rst/maintenance-mode.rst +++ b/lang/python/doc/rst/maintenance-mode.rst @@ -88,3 +88,46 @@ Those with a commercial interest in expediting such a feature request already know how to `expedite it `__ (use the message field to state what feature is being requested). + +.. _docs: + +Documentation formats +--------------------- + +The documentation has been written in Org mode for GNU Emacs, with both +Texinfo and reStructuredText formats generated from that. The Texinfo +files are intended for use with the rest of the GnuPG documentation; +while the reStructuredText files are intended for use with Docutils and +Sphinx, as with other Python projects. + +.. _sphinx-made-epubs-suck: + +Cautionary Notes regarding Sphinx and EPUB +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Though Python\'s Docutils in conjunction with Sphinx is capable of +generating some very useful HTML sites, as proven by `Read the +Docs `__ and the `Python +documentation `__, there are a number of +output formats it does not handle well. At the top of the list of things +it manages to break so atrociously as to be embarassing is the `EPUB +3 `__ format. + +The automatically generated EPUB of the CPython documentation always +contains hundreds of validation errors and even the modest amount of +documentation here `produced a +file `__ +with approximately thirty validation errors. As the volume of +documentation content increases, so does the induced errors. Whereas +Texinfo doesn\'t produce EPUB output at all, nor does Org-mode. + +Should there ever be genuine demand for this format, lodge a `feature +request `__ case +marked for `my `__ attention. The means +of generating such files flawlessly is already available, but is not yet +part of the GnuPG build system. Nor is it integrated with a means of +converting Org mode input files to the relevant base format +automatically, as can already be done when converting Org to +reStructuredText or Org to Texinfo. As a certain amount of work would be +required to get it done, there would need to be clear demand for that +work to be done. diff --git a/lang/python/doc/src/gpgme-python-howto b/lang/python/doc/src/gpgme-python-howto index c6b00027..9820d86b 100644 --- a/lang/python/doc/src/gpgme-python-howto +++ b/lang/python/doc/src/gpgme-python-howto @@ -2095,6 +2095,10 @@ content as a byte object, the recipient key IDs and algorithms in =result= and the results of verifying any signatures of the data in =verify_result=. +If =gpg.Context().decrypt(cfile, verify=False)= is called instead, +then =verify_result= will be returned as =None= and the rest remains +as described here. + ** Signing text and files :PROPERTIES: @@ -3163,9 +3167,9 @@ Draft editions of this HOWTO may be periodically available directly from the author at any of the following URLs: - [[https://files.au.adversary.org/crypto/gpgme-python-howto.html][GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 SSL)]] -- [[http://files.au.adversary.org/crypto/gpgme-python-howto.html][GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 no SS)]] +- [[http://files.au.adversary.org/crypto/gpgme-python-howto.html][GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 no SSL)]] - [[https://files.au.adversary.org/crypto/gpgme-python-howto-split/index.html][GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 SSL)]] -- [[http://files.au.adversary.org/crypto/gpgme-python-howto-split/index.html][GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 no SSL)]] +- [[http://files.au.adversary.org/crypto/gpgme-python-howto/index.html][GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 no SSL)]] All of these draft versions except for one have been generated from this document via GNU Emacs [[https://orgmode.org/][Org mode]] and [[https://www.gnu.org/software/texinfo/][GNU Texinfo]]. Though it is @@ -3194,10 +3198,16 @@ commands: #+END_SRC In addition to these there is a significantly less frequently updated -version as a HTML [[https://files.au.adversary.org/crypto/gpgme-python-howto/webhelp/index.html][WebHelp site]] (AWS S3 SSL); generated from DITA XML +version as a HTML [[https://files.au.adversary.org/crypto/gpgme-python/dita/webhelp/index.html][WebHelp site]] (AWS S3 SSL); generated from DITA XML source files, which can be found in [[https://dev.gnupg.org/source/gpgme/browse/ben%252Fhowto-dita/][an alternative branch]] of the GPGME git repository. +Various generated output formats may occasionally be found in +subdirectories of the [[https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python][gpgme-python]] directory. In particular within +the [[https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python/dita][DITA]], [[https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python/rst][reStructuredText]] and [[https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python/texinfo][Texinfo]] subdirectories. The =rst= +directory contains output files generated with Sphix and may include a +considerable number of its possible output formats. + These draft editions are not official documents and the version of documentation in the master branch or which ships with released versions is the only official documentation. Nevertheless, these diff --git a/lang/python/doc/src/maintenance-mode b/lang/python/doc/src/maintenance-mode index 48c3d409..4b4e0fca 100644 --- a/lang/python/doc/src/maintenance-mode +++ b/lang/python/doc/src/maintenance-mode @@ -93,3 +93,43 @@ basis. Expediting such a request would require funding that request. Those with a commercial interest in expediting such a feature request already know how to [[https://gnupg.org/cgi-bin/procdonate.cgi?mode=preset][expedite it]] (use the message field to state what feature is being requested). + + +** Documentation formats + :PROPERTIES: + :CUSTOM_ID: docs + :END: + +The documentation has been written in Org mode for GNU Emacs, with +both Texinfo and reStructuredText formats generated from that. The +Texinfo files are intended for use with the rest of the GnuPG +documentation; while the reStructuredText files are intended for use +with Docutils and Sphinx, as with other Python projects. + + +*** Cautionary Notes regarding Sphinx and EPUB + :PROPERTIES: + :CUSTOM_ID: sphinx-made-epubs-suck + :END: + +Though Python's Docutils in conjunction with Sphinx is capable of +generating some very useful HTML sites, as proven by [[https://readthedocs.org/][Read the Docs]] and +the [[https://docs.python.org/][Python documentation]], there are a number of output formats it does +not handle well. At the top of the list of things it manages to break +so atrociously as to be embarassing is the [[http://idpf.org/epub][EPUB 3]] format. + +The automatically generated EPUB of the CPython documentation always +contains hundreds of validation errors and even the modest amount of +documentation here [[https://files.au.adversary.org.s3.amazonaws.com/crypto/gpgme-python/rst/epub/GPGMEPythonBindings.epub][produced a file]] with approximately thirty +validation errors. As the volume of documentation content increases, +so does the induced errors. Whereas Texinfo doesn't produce EPUB +output at all, nor does Org-mode. + +Should there ever be genuine demand for this format, lodge a [[https://dev.gnupg.org/maniphest/task/edit/form/4/][feature +request]] case marked for [[https://dev.gnupg.org/p/BenM/][my]] attention. The means of generating such +files flawlessly is already available, but is not yet part of the +GnuPG build system. Nor is it integrated with a means of converting +Org mode input files to the relevant base format automatically, as can +already be done when converting Org to reStructuredText or Org to +Texinfo. As a certain amount of work would be required to get it +done, there would need to be clear demand for that work to be done. diff --git a/lang/python/doc/texinfo/gpgme-python-howto.texi b/lang/python/doc/texinfo/gpgme-python-howto.texi index bfc42f3c..420ea7df 100644 --- a/lang/python/doc/texinfo/gpgme-python-howto.texi +++ b/lang/python/doc/texinfo/gpgme-python-howto.texi @@ -2255,6 +2255,10 @@ content as a byte object, the recipient key IDs and algorithms in @samp{result} and the results of verifying any signatures of the data in @samp{verify_result}. +If @samp{gpg.Context().decrypt(cfile, verify=False)} is called instead, +then @samp{verify_result} will be returned as @samp{None} and the rest remains +as described here. + @node Signing text and files @section Signing text and files @@ -3301,11 +3305,11 @@ from the author at any of the following URLs: @item @uref{https://files.au.adversary.org/crypto/gpgme-python-howto.html, GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 SSL)} @item -@uref{http://files.au.adversary.org/crypto/gpgme-python-howto.html, GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 no SS)} +@uref{http://files.au.adversary.org/crypto/gpgme-python-howto.html, GPGME Python Bindings HOWTO draft (XHTML single file, AWS S3 no SSL)} @item @uref{https://files.au.adversary.org/crypto/gpgme-python-howto-split/index.html, GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 SSL)} @item -@uref{http://files.au.adversary.org/crypto/gpgme-python-howto-split/index.html, GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 no SSL)} +@uref{http://files.au.adversary.org/crypto/gpgme-python-howto/index.html, GPGME Python Bindings HOWTO draft (XHTML multiple files, AWS S3 no SSL)} @end itemize All of these draft versions except for one have been generated from @@ -3335,10 +3339,16 @@ pandoc -f org -t rst+smart -o gpgme-python-howto.rst gpgme-python-howto @end example In addition to these there is a significantly less frequently updated -version as a HTML @uref{https://files.au.adversary.org/crypto/gpgme-python-howto/webhelp/index.html, WebHelp site} (AWS S3 SSL); generated from DITA XML +version as a HTML @uref{https://files.au.adversary.org/crypto/gpgme-python/dita/webhelp/index.html, WebHelp site} (AWS S3 SSL); generated from DITA XML source files, which can be found in @uref{https://dev.gnupg.org/source/gpgme/browse/ben%252Fhowto-dita/, an alternative branch} of the GPGME git repository. +Various generated output formats may occasionally be found in +subdirectories of the @uref{https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python, gpgme-python} directory. In particular within +the @uref{https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python/dita, DITA}, @uref{https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python/rst, reStructuredText} and @uref{https://s3.amazonaws.com/files.au.adversary.org/crypto/gpgme-python/texinfo, Texinfo} subdirectories. The @samp{rst} +directory contains output files generated with Sphix and may include a +considerable number of its possible output formats. + These draft editions are not official documents and the version of documentation in the master branch or which ships with released versions is the only official documentation. Nevertheless, these diff --git a/lang/python/doc/texinfo/maintenance-mode.texi b/lang/python/doc/texinfo/maintenance-mode.texi index cf47f6f3..9377bbb2 100644 --- a/lang/python/doc/texinfo/maintenance-mode.texi +++ b/lang/python/doc/texinfo/maintenance-mode.texi @@ -29,6 +29,11 @@ Maintenance Mode from 2019 * Maintainer from 2019 onward:: * Using the Python Bindings from 2019 and beyond:: +* Documentation formats:: + +Documentation formats + +* Cautionary Notes regarding Sphinx and EPUB:: @end detailmenu @end menu @@ -66,6 +71,7 @@ the bindings. @menu * Maintainer from 2019 onward:: * Using the Python Bindings from 2019 and beyond:: +* Documentation formats:: @end menu @node Maintainer from 2019 onward @@ -122,4 +128,42 @@ Those with a commercial interest in expediting such a feature request already know how to @uref{https://gnupg.org/cgi-bin/procdonate.cgi?mode=preset, expedite it} (use the message field to state what feature is being requested). +@node Documentation formats +@section Documentation formats + +The documentation has been written in Org mode for GNU Emacs, with +both Texinfo and reStructuredText formats generated from that. The +Texinfo files are intended for use with the rest of the GnuPG +documentation; while the reStructuredText files are intended for use +with Docutils and Sphinx, as with other Python projects. + +@menu +* Cautionary Notes regarding Sphinx and EPUB:: +@end menu + +@node Cautionary Notes regarding Sphinx and EPUB +@subsection Cautionary Notes regarding Sphinx and EPUB + +Though Python's Docutils in conjunction with Sphinx is capable of +generating some very useful HTML sites, as proven by @uref{https://readthedocs.org/, Read the Docs} and +the @uref{https://docs.python.org/, Python documentation}, there are a number of output formats it does +not handle well. At the top of the list of things it manages to break +so atrociously as to be embarassing is the @uref{http://idpf.org/epub, EPUB 3} format. + +The automatically generated EPUB of the CPython documentation always +contains hundreds of validation errors and even the modest amount of +documentation here @uref{https://files.au.adversary.org.s3.amazonaws.com/crypto/gpgme-python/rst/epub/GPGMEPythonBindings.epub, produced a file} with approximately thirty +validation errors. As the volume of documentation content increases, +so does the induced errors. Whereas Texinfo doesn't produce EPUB +output at all, nor does Org-mode. + +Should there ever be genuine demand for this format, lodge a @uref{https://dev.gnupg.org/maniphest/task/edit/form/4/, feature +request} case marked for @uref{https://dev.gnupg.org/p/BenM/, my} attention. The means of generating such +files flawlessly is already available, but is not yet part of the +GnuPG build system. Nor is it integrated with a means of converting +Org mode input files to the relevant base format automatically, as can +already be done when converting Org to reStructuredText or Org to +Texinfo. As a certain amount of work would be required to get it +done, there would need to be clear demand for that work to be done. + @bye \ No newline at end of file