diff mbox series

[v2,7/7] configure: Bump the minimum required Python version to 3.6

Message ID 20200923162908.95372-1-thuth@redhat.com
State New
Headers show
Series None | expand

Commit Message

Thomas Huth Sept. 23, 2020, 4:29 p.m. UTC
All our supported build platforms have Python 3.6 or newer nowadays, and
there are some useful features in Python 3.6 which are not available in
3.5 yet (e.g. the type hint annotations which will allow us to statically
type the QAPI parser), so let's bump the minimum Python version to 3.6 now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2:
 - Bump the version in docs/conf.py, too
 - Remove the now unnecessary check in tests/qemu-iotests/iotests.py

 configure                     | 4 ++--
 docs/conf.py                  | 4 ++--
 tests/qemu-iotests/iotests.py | 2 --
 3 files changed, 4 insertions(+), 6 deletions(-)

Comments

罗勇刚(Yonggang Luo) Sept. 23, 2020, 4:34 p.m. UTC | #1
Should we also warning it in meson.build, cause configure finally shoud be
removed.

On Thu, Sep 24, 2020 at 12:32 AM Thomas Huth <thuth@redhat.com> wrote:
>
> All our supported build platforms have Python 3.6 or newer nowadays, and
> there are some useful features in Python 3.6 which are not available in
> 3.5 yet (e.g. the type hint annotations which will allow us to statically
> type the QAPI parser), so let's bump the minimum Python version to 3.6
now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2:
>  - Bump the version in docs/conf.py, too
>  - Remove the now unnecessary check in tests/qemu-iotests/iotests.py
>
>  configure                     | 4 ++--
>  docs/conf.py                  | 4 ++--
>  tests/qemu-iotests/iotests.py | 2 --
>  3 files changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/configure b/configure
> index 7564479008..a3a643168e 100755
> --- a/configure
> +++ b/configure
> @@ -1965,8 +1965,8 @@ fi
>
>  # Note that if the Python conditional here evaluates True we will exit
>  # with status 1 which is a shell 'false' value.
> -if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
> -  error_exit "Cannot use '$python', Python >= 3.5 is required." \
> +if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
> +  error_exit "Cannot use '$python', Python >= 3.6 is required." \
>        "Use --python=/path/to/python to specify a supported Python."
>  fi
>
> diff --git a/docs/conf.py b/docs/conf.py
> index 0dbd90dc11..8aeac40124 100644
> --- a/docs/conf.py
> +++ b/docs/conf.py
> @@ -36,9 +36,9 @@ from sphinx.errors import ConfigError
>  # In newer versions of Sphinx this will display nicely; in older versions
>  # Sphinx will also produce a Python backtrace but at least the
information
>  # gets printed...
> -if sys.version_info < (3,5):
> +if sys.version_info < (3,6):
>      raise ConfigError(
> -        "QEMU requires a Sphinx that uses Python 3.5 or better\n")
> +        "QEMU requires a Sphinx that uses Python 3.6 or better\n")
>
>  # The per-manual conf.py will set qemu_docdir for a single-manual build;
>  # otherwise set it here if this is an entire-manual-set build.
> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
> index 91e4a57126..f48460480a 100644
> --- a/tests/qemu-iotests/iotests.py
> +++ b/tests/qemu-iotests/iotests.py
> @@ -40,8 +40,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__),
'..', '..', 'python'))
>  from qemu import qtest
>  from qemu.qmp import QMPMessage
>
> -assert sys.version_info >= (3, 6)
> -
>  # Use this logger for logging messages directly from the iotests module
>  logger = logging.getLogger('qemu.iotests')
>  logger.addHandler(logging.NullHandler())
> --
> 2.18.2
>
>


--
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo
<div dir="ltr">Should we also warning it in meson.build, cause configure finally shoud be removed.<br><br>On Thu, Sep 24, 2020 at 12:32 AM Thomas Huth &lt;<a href="mailto:thuth@redhat.com">thuth@redhat.com</a>&gt; wrote:<br>&gt;<br>&gt; All our supported build platforms have Python 3.6 or newer nowadays, and<br>&gt; there are some useful features in Python 3.6 which are not available in<br>&gt; 3.5 yet (e.g. the type hint annotations which will allow us to statically<br>&gt; type the QAPI parser), so let&#39;s bump the minimum Python version to 3.6 now.<br>&gt;<br>&gt; Signed-off-by: Thomas Huth &lt;<a href="mailto:thuth@redhat.com">thuth@redhat.com</a>&gt;<br>&gt; ---<br>&gt;  v2:<br>&gt;  - Bump the version in docs/conf.py, too<br>&gt;  - Remove the now unnecessary check in tests/qemu-iotests/iotests.py<br>&gt;<br>&gt;  configure                     | 4 ++--<br>&gt;  docs/conf.py                  | 4 ++--<br>&gt;  tests/qemu-iotests/iotests.py | 2 --<br>&gt;  3 files changed, 4 insertions(+), 6 deletions(-)<br>&gt;<br>&gt; diff --git a/configure b/configure<br>&gt; index 7564479008..a3a643168e 100755<br>&gt; --- a/configure<br>&gt; +++ b/configure<br>&gt; @@ -1965,8 +1965,8 @@ fi<br>&gt;<br>&gt;  # Note that if the Python conditional here evaluates True we will exit<br>&gt;  # with status 1 which is a shell &#39;false&#39; value.<br>&gt; -if ! $python -c &#39;import sys; sys.exit(sys.version_info &lt; (3,5))&#39;; then<br>&gt; -  error_exit &quot;Cannot use &#39;$python&#39;, Python &gt;= 3.5 is required.&quot; \<br>&gt; +if ! $python -c &#39;import sys; sys.exit(sys.version_info &lt; (3,6))&#39;; then<br>&gt; +  error_exit &quot;Cannot use &#39;$python&#39;, Python &gt;= 3.6 is required.&quot; \<br>&gt;        &quot;Use --python=/path/to/python to specify a supported Python.&quot;<br>&gt;  fi<br>&gt;<br>&gt; diff --git a/docs/conf.py b/docs/conf.py<br>&gt; index 0dbd90dc11..8aeac40124 100644<br>&gt; --- a/docs/conf.py<br>&gt; +++ b/docs/conf.py<br>&gt; @@ -36,9 +36,9 @@ from sphinx.errors import ConfigError<br>&gt;  # In newer versions of Sphinx this will display nicely; in older versions<br>&gt;  # Sphinx will also produce a Python backtrace but at least the information<br>&gt;  # gets printed...<br>&gt; -if sys.version_info &lt; (3,5):<br>&gt; +if sys.version_info &lt; (3,6):<br>&gt;      raise ConfigError(<br>&gt; -        &quot;QEMU requires a Sphinx that uses Python 3.5 or better\n&quot;)<br>&gt; +        &quot;QEMU requires a Sphinx that uses Python 3.6 or better\n&quot;)<br>&gt;<br>&gt;  # The per-manual conf.py will set qemu_docdir for a single-manual build;<br>&gt;  # otherwise set it here if this is an entire-manual-set build.<br>&gt; diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py<br>&gt; index 91e4a57126..f48460480a 100644<br>&gt; --- a/tests/qemu-iotests/iotests.py<br>&gt; +++ b/tests/qemu-iotests/iotests.py<br>&gt; @@ -40,8 +40,6 @@ sys.path.append(os.path.join(os.path.dirname(__file__), &#39;..&#39;, &#39;..&#39;, &#39;python&#39;))<br>&gt;  from qemu import qtest<br>&gt;  from qemu.qmp import QMPMessage<br>&gt;<br>&gt; -assert sys.version_info &gt;= (3, 6)<br>&gt; -<br>&gt;  # Use this logger for logging messages directly from the iotests module<br>&gt;  logger = logging.getLogger(&#39;qemu.iotests&#39;)<br>&gt;  logger.addHandler(logging.NullHandler())<br>&gt; --<br>&gt; 2.18.2<br>&gt;<br>&gt;<br><br><br>--<br>         此致<br>礼<br>罗勇刚<br>Yours<br>    sincerely,<br>Yonggang Luo</div>
Thomas Huth Sept. 23, 2020, 4:44 p.m. UTC | #2
On 23/09/2020 18.34, 罗勇刚(Yonggang Luo) wrote:
> Should we also warning it in meson.build, cause configure finally shoud

> be removed.


Sounds like a good idea for a separate patch (let's do one issue at a
time...).

 Thomas
diff mbox series

Patch

diff --git a/configure b/configure
index 7564479008..a3a643168e 100755
--- a/configure
+++ b/configure
@@ -1965,8 +1965,8 @@  fi
 
 # Note that if the Python conditional here evaluates True we will exit
 # with status 1 which is a shell 'false' value.
-if ! $python -c 'import sys; sys.exit(sys.version_info < (3,5))'; then
-  error_exit "Cannot use '$python', Python >= 3.5 is required." \
+if ! $python -c 'import sys; sys.exit(sys.version_info < (3,6))'; then
+  error_exit "Cannot use '$python', Python >= 3.6 is required." \
       "Use --python=/path/to/python to specify a supported Python."
 fi
 
diff --git a/docs/conf.py b/docs/conf.py
index 0dbd90dc11..8aeac40124 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -36,9 +36,9 @@  from sphinx.errors import ConfigError
 # In newer versions of Sphinx this will display nicely; in older versions
 # Sphinx will also produce a Python backtrace but at least the information
 # gets printed...
-if sys.version_info < (3,5):
+if sys.version_info < (3,6):
     raise ConfigError(
-        "QEMU requires a Sphinx that uses Python 3.5 or better\n")
+        "QEMU requires a Sphinx that uses Python 3.6 or better\n")
 
 # The per-manual conf.py will set qemu_docdir for a single-manual build;
 # otherwise set it here if this is an entire-manual-set build.
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 91e4a57126..f48460480a 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -40,8 +40,6 @@  sys.path.append(os.path.join(os.path.dirname(__file__), '..', '..', 'python'))
 from qemu import qtest
 from qemu.qmp import QMPMessage
 
-assert sys.version_info >= (3, 6)
-
 # Use this logger for logging messages directly from the iotests module
 logger = logging.getLogger('qemu.iotests')
 logger.addHandler(logging.NullHandler())