[PATCH 1/3] Drop support for Python 3.4, add Python 3.7

Stephen Finucane stephen at that.guru
Wed Sep 4 03:03:02 AEST 2019


It's no longer supported upstream and the *second* last Ubuntu LTS
release provides something newer. Time to move on.

Signed-off-by: Stephen Finucane <stephen at that.guru>
---
 README.rst                        | 4 ++--
 docs/development/installation.rst | 6 +++---
 requirements-dev.txt              | 4 ++--
 requirements-prod.txt             | 4 ++--
 tools/docker/Dockerfile           | 5 ++---
 tools/docker/trusty-ports.list    | 3 ---
 tools/docker/trusty.list          | 3 ---
 tox.ini                           | 4 ++--
 8 files changed, 13 insertions(+), 20 deletions(-)
 delete mode 100644 tools/docker/trusty-ports.list
 delete mode 100644 tools/docker/trusty.list

diff --git a/README.rst b/README.rst
index b45c3e6a..01da4196 100644
--- a/README.rst
+++ b/README.rst
@@ -41,9 +41,9 @@ of community projects.
 Requirements
 ------------
 
-- Python (2.7, 3.4 - 3.6)
+- Python (2.7, 3.5 - 3.7)
 
-- Django (1.11 - 2.0)
+- Django (1.11 - 2.2)
 
 - Django REST Framework (3.6 - 3.9)
 
diff --git a/docs/development/installation.rst b/docs/development/installation.rst
index 0ab755f4..ed9ceb13 100644
--- a/docs/development/installation.rst
+++ b/docs/development/installation.rst
@@ -165,7 +165,7 @@ Python Requirements
 ^^^^^^^^^^^^^^^^^^^
 
 To develop Python-based software you first need Python. Patchwork supports both
-Python 2.7 and Python 3.4+. One of these will be installed by default on many
+Python 2.7 and Python 3.5+. One of these will be installed by default on many
 installations, though they can also be installed manually using the ``python``
 or ``python3`` packages.
 
@@ -224,7 +224,7 @@ An example for installing all these packages and the MySQL RDBMS on Ubuntu
        python-tox mysql-server libmysqlclient-dev
 
 If you have an existing MariaDB/MySQL installation and have installed ``pip``
-already/are using Python 3.4+ then you can install all packages using ``pip``:
+already/are using Python 3.5+ then you can install all packages using ``pip``:
 
 .. code-block:: shell
 
@@ -254,7 +254,7 @@ virtual environment. This can be done like so:
 .. note::
 
    If you installed a Python 3.x-based virtual environment package, adjust the
-   executable indicated above as necessary, e.g. ``virtualenv-3.4``.
+   executable indicated above as necessary, e.g. ``virtualenv-3.7``.
 
 Now install the packages. Patchwork provides three requirements files.
 
diff --git a/requirements-dev.txt b/requirements-dev.txt
index ce637549..ec539a6d 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,7 +1,7 @@
-Django==2.2.3; python_version >= '3.4'
+Django==2.2.3; python_version >= '3.5'
 Django==1.11.22; python_version < '3.0'  # pyup: ignore
 djangorestframework==3.9.2
-django-filter==2.1.0; python_version >= '3.4'
+django-filter==2.1.0; python_version >= '3.5'
 django-filter==1.1.0; python_version < '3.0'  # pyup: ignore
 django-debug-toolbar==1.11
 django-dbbackup==3.2.0
diff --git a/requirements-prod.txt b/requirements-prod.txt
index 13499785..c9bf1044 100644
--- a/requirements-prod.txt
+++ b/requirements-prod.txt
@@ -1,7 +1,7 @@
-Django==2.2.3; python_version >= '3.4'
+Django==2.2.3; python_version >= '3.5'
 Django==1.11.22; python_version < '3.0'  # pyup: ignore
 djangorestframework==3.9.2
-django-filter==2.1.0; python_version >= '3.4'
+django-filter==2.1.0; python_version >= '3.5'
 django-filter==1.1.0; python_version < '3.0'  # pyup: ignore
 psycopg2-binary==2.8.2
 sqlparse==0.3.0
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 76bb6b2b..81700711 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -17,14 +17,13 @@ ENV PYTHONUNBUFFERED 1
 
 
 # System
-# trusty and findutils is for python3.4; xenial is for python3.5
+# xenial is for python3.5
 # TODO(stephenfin): Are curl, unzip required?
 COPY tools/docker/*.list /etc/apt/sources.list.d/
 
 RUN cd /etc/apt/sources.list.d; \
     echo $(uname -m) > /tmp/arch; \
     if [ $(cat /tmp/arch) != 'x86_64' ] && grep -q -v "i.86" /tmp/arch; then \
-        mv trusty-ports.list trusty.list; \
         mv xenial-ports.list xenial.list; \
     else \
         rm *-ports.list; \
@@ -34,7 +33,7 @@ RUN apt-get update -qq && \
     apt-get install -y --no-install-recommends --allow-downgrades \
     python-dev python-pip python-setuptools python-wheel \
     python3.5-dev python3-pip python3-setuptools python3-wheel \
-    python3.4-dev findutils=4.4.2-7 python3.6-dev \
+    python3.6-dev \
     libmysqlclient-dev mysql-client curl unzip build-essential \
     git postgresql-client tzdata libpq-dev
 
diff --git a/tools/docker/trusty-ports.list b/tools/docker/trusty-ports.list
deleted file mode 100644
index ebcf4fa4..00000000
--- a/tools/docker/trusty-ports.list
+++ /dev/null
@@ -1,3 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty main
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main
diff --git a/tools/docker/trusty.list b/tools/docker/trusty.list
deleted file mode 100644
index 8bb92c09..00000000
--- a/tools/docker/trusty.list
+++ /dev/null
@@ -1,3 +0,0 @@
-deb http://archive.ubuntu.com/ubuntu/ trusty main
-deb http://archive.ubuntu.com/ubuntu/ trusty-updates main
-deb http://security.ubuntu.com/ubuntu trusty-security main
diff --git a/tox.ini b/tox.ini
index bfca0538..7742d1b8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
 [tox]
 minversion = 2.0
-envlist = pep8,docs,py{27,34}-django111,py{35,36}-django{111,20,21,22}
+envlist = pep8,docs,py{27}-django111,py{35,36,37}-django{111,20,21,22}
 skipsdist = True
 
 [testenv]
@@ -8,7 +8,7 @@ deps =
     -r{toxinidir}/requirements-test.txt
     django111: django>=1.11,<2.0
     django111: djangorestframework>=3.6,<3.10
-    django111: django-filter>=1.0,<3.0; python_version >= '3.4'
+    django111: django-filter>=1.0,<3.0; python_version >= '3.5'
     django111: django-filter>=1.0,<2.0; python_version < '3.0'
     django20: django>=2.0,<2.1
     django21: django>=2.1,<2.2
-- 
2.21.0



More information about the Patchwork mailing list