From 23894ac9a96081428a590791010ca8beebaf6f9f Mon Sep 17 00:00:00 2001 From: Ben McGinnes Date: Wed, 3 Oct 2018 06:58:51 +1000 Subject: [PATCH] python bindings: CPython order * Changed the order of python versions the configure/make process checks for, placing Python 3.7 ahead of 3.6. * Updated the HOWTO documentation to reflect this change. Tested-by: Ben McGinnes Signed-off-by: Ben McGinnes --- doc/gpgme-python-howto.texi | 33 +++++++++++++++++++----- lang/python/docs/gpgme-python-howto.org | 34 +++++++++++++++++++------ m4/python.m4 | 4 +-- 3 files changed, 54 insertions(+), 17 deletions(-) diff --git a/doc/gpgme-python-howto.texi b/doc/gpgme-python-howto.texi index 5f33f5d1..c88c7460 100644 --- a/doc/gpgme-python-howto.texi +++ b/doc/gpgme-python-howto.texi @@ -257,6 +257,9 @@ The release of Python 3.7.0; which appears to be working just fine with our bindings, in spite of intermittent reports of problems for many other Python projects with that new release. @item +Python 3.7 has been moved to the head of the specified python +versions list in the build process. +@item In order to fix some other issues, there are certain underlying functions which are more exposed through the @ref{Context, , gpg.Context()}, but ongoing documentation ought to clarify that or otherwise provide the @@ -521,9 +524,25 @@ For Python 2 it checks for these executables in this order: @samp{python}, @samp{python2} and @samp{python2.7}. For Python 3 it checks for these executables in this order: @samp{python3}, -@samp{python3.6}, @samp{python3.5}, @samp{python3.4} and @samp{python3.7}.@footnote{As Python 3.7 is a very recent release, it is not given -priority over 3.6 yet, but will probably be prioritised by the release -of Python 3.7.2.} + @samp{python3.7}, @samp{python3.6}, @samp{python3.5} and @samp{python3.4}.@footnote{With no issues reported specific to Python 3.7, the release of +Python 3.7.1 at around the same time as GPGME 1.12.0 and the testing +with Python 3.7.1rc1, there is no reason to delay moving 3.7 ahead of +3.6 now. Production environments with more conservative requirements +will always enforce their own policies anyway and installation to each +supported minor release is quite possible too.} + +On systems where @samp{python} is actually @samp{python3} and not @samp{python2} it +may be possible that @samp{python2} may be overlooked, but there have been +no reports of that actually occurring as yet. + +In the three months or so since the release of Python 3.7.0 there has +been extensive testing and work with these bindings with no issues +specifically relating to the new version of Python or any of the new +features of either the language or the bindings. This has also been +the case with Python 3.7.1rc1. With that in mind and given the +release of Python 3.7.1 is scheduled for around the same time as GPGME +1.12.0, the order of preferred Python versions has been changed to +move Python 3.7 ahead of Python 3.6. @menu * Installing GPGME:: @@ -1636,10 +1655,10 @@ else: pass @end example -It is important to note that the result will only return @samp{None} when a -pattern has been entered for @samp{logrus}, but it has not matched any -keys. When the search pattern itself is set to @samp{None} this triggers -the exporting of the entire public keybox. +It should be noted that the result will only return @samp{None} when a +search pattern has been entered, but has not matched any keys. When +the search pattern itself is set to @samp{None} this triggers the exporting +of the entire public keybox. @example import gpg diff --git a/lang/python/docs/gpgme-python-howto.org b/lang/python/docs/gpgme-python-howto.org index d3695c36..c7a1f823 100644 --- a/lang/python/docs/gpgme-python-howto.org +++ b/lang/python/docs/gpgme-python-howto.org @@ -98,6 +98,8 @@ The bullet points of new additiions are: - The release of Python 3.7.0; which appears to be working just fine with our bindings, in spite of intermittent reports of problems for many other Python projects with that new release. +- Python 3.7 has been moved to the head of the specified python + versions list in the build process. - In order to fix some other issues, there are certain underlying functions which are more exposed through the [[#howto-get-context][gpg.Context()]], but ongoing documentation ought to clarify that or otherwise provide the @@ -354,7 +356,20 @@ For Python 2 it checks for these executables in this order: =python=, =python2= and =python2.7=. For Python 3 it checks for these executables in this order: =python3=, -=python3.6=, =python3.5=, =python3.4= and =python3.7=.[fn:3] + =python3.7=, =python3.6=, =python3.5= and =python3.4=.[fn:3] + +On systems where =python= is actually =python3= and not =python2= it +may be possible that =python2= may be overlooked, but there have been +no reports of that actually occurring as yet. + +In the three months or so since the release of Python 3.7.0 there has +been extensive testing and work with these bindings with no issues +specifically relating to the new version of Python or any of the new +features of either the language or the bindings. This has also been +the case with Python 3.7.1rc1. With that in mind and given the +release of Python 3.7.1 is scheduled for around the same time as GPGME +1.12.0, the order of preferred Python versions has been changed to +move Python 3.7 ahead of Python 3.6. *** Installing GPGME @@ -1481,10 +1496,10 @@ else: pass #+END_SRC -It is important to note that the result will only return =None= when a -pattern has been entered for =logrus=, but it has not matched any -keys. When the search pattern itself is set to =None= this triggers -the exporting of the entire public keybox. +It should be noted that the result will only return =None= when a +search pattern has been entered, but has not matched any keys. When +the search pattern itself is set to =None= this triggers the exporting +of the entire public keybox. #+BEGIN_SRC python -i import gpg @@ -2986,9 +3001,12 @@ PURPOSE. [fn:2] The =lang/python/docs/= directory in the GPGME source. -[fn:3] As Python 3.7 is a very recent release, it is not given -priority over 3.6 yet, but will probably be prioritised by the release -of Python 3.7.2. +[fn:3] With no issues reported specific to Python 3.7, the release of +Python 3.7.1 at around the same time as GPGME 1.12.0 and the testing +with Python 3.7.1rc1, there is no reason to delay moving 3.7 ahead of +3.6 now. Production environments with more conservative requirements +will always enforce their own policies anyway and installation to each +supported minor release is quite possible too. [fn:4] Yes, even if you use virtualenv with everything you do in Python. If you want to install this module as just your user account diff --git a/m4/python.m4 b/m4/python.m4 index 56220ba2..7097db2d 100644 --- a/m4/python.m4 +++ b/m4/python.m4 @@ -40,8 +40,8 @@ AC_DEFUN([AM_PATH_PYTHON], m4_define_default([_AM_PYTHON_INTERPRETER_LIST], [python2 python2.7 dnl python dnl - python3 python3.6 python3.5 python3.4 python3.7 dnl - python3.8]) + python3 python3.7 python3.6 python3.5 python3.4 dnl python3.8 + ]) AC_ARG_VAR([PYTHON], [the Python interpreter])