You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by di...@apache.org on 2022/02/17 14:42:30 UTC

[allura] branch python3.7 created (now 60105d2)

This is an automated email from the ASF dual-hosted git repository.

dill0wn pushed a change to branch python3.7
in repository https://gitbox.apache.org/repos/asf/allura.git.


      at 60105d2  python3.7 - upgrade docs and docker config to support python3.7

This branch includes the following new commits:

     new 60105d2  python3.7 - upgrade docs and docker config to support python3.7

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[allura] 01/01: python3.7 - upgrade docs and docker config to support python3.7

Posted by di...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dill0wn pushed a commit to branch python3.7
in repository https://gitbox.apache.org/repos/asf/allura.git

commit 60105d261ec8590e99ecf601193b4357f06f5926
Author: Dillon Walls <di...@slashdotmedia.com>
AuthorDate: Wed Feb 16 21:56:06 2022 -0500

    python3.7 - upgrade docs and docker config to support python3.7
---
 Allura/docs/getting_started/install_each_step.rst | 17 +++++----
 Allura/docs/getting_started/installation.rst      |  2 +-
 CHANGES                                           |  2 ++
 Dockerfile                                        | 44 ++++++++++++++---------
 scripts/init-docker-dev.sh                        |  5 +--
 5 files changed, 43 insertions(+), 27 deletions(-)

diff --git a/Allura/docs/getting_started/install_each_step.rst b/Allura/docs/getting_started/install_each_step.rst
index e1ed1e8..b132df3 100644
--- a/Allura/docs/getting_started/install_each_step.rst
+++ b/Allura/docs/getting_started/install_each_step.rst
@@ -47,19 +47,22 @@ In these instructions, we'll use `VirtualBox <http://www.virtualbox.org>`__ and
 System Packages
 ^^^^^^^^^^^^^^^
 
-Before we begin, you'll need to install some system packages.  Allura currently supports Python 3.6 and 3.7.
+Before we begin, you'll need to install some system packages.  Allura currently supports Python 3.7.
 
 .. code-block:: bash
 
-    ~$ sudo apt-get install git-core python3-dev gcc libmagic1 libssl-dev libldap2-dev libsasl2-dev libjpeg8-dev zlib1g-dev libffi-dev
+    ~$ sudo apt-get update
+    ~$ sudo apt-get install software-properties-common
+    ~$ sudo add-apt-repository ppa:deadsnakes/ppa
+    ~$ sudo apt-get update
+    ~$ sudo apt-get install git-core python3.7 python3-dev gcc libmagic1 libssl-dev libldap2-dev libsasl2-dev libjpeg8-dev zlib1g-dev libffi-dev
 
 To install MongoDB, follow the instructions `here <https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/>`_.
 
 Optional, for SVN support:
 
 .. code-block:: bash
-
-    ~$ sudo apt-get install subversion python3-svn
+    ~$ sudo apt-get install subversion libsvn-dev make g++ python3-svn
 
 Setting up a python virtual environment
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -116,11 +119,11 @@ We'll upgrade `pip <https://pip.pypa.io/en/stable/>`_ to make sure its a current
 
 This may take a little while.
 
-Optional, for SVN support: symlink the system pysvn package into our virtual environment
+Optional, for SVN support: install the wheel package then use the pysvn-installer script to build a pysvn wheel.
 
 .. code-block:: bash
-
-    (env-allura)~/src/allura$ ln -s /usr/lib/python3/dist-packages/pysvn ~/env-allura/lib/python3.*/site-packages/
+    (env-allura)~/src/allura$ pip install wheel
+    (env-allura)~/src/allura$ curl https://raw.githubusercontent.com/reviewboard/pysvn-installer/master/install.py | python
 
 Next, run this to set up all the Allura tools:
 
diff --git a/Allura/docs/getting_started/installation.rst b/Allura/docs/getting_started/installation.rst
index 2b24fe4..9c449db 100644
--- a/Allura/docs/getting_started/installation.rst
+++ b/Allura/docs/getting_started/installation.rst
@@ -273,7 +273,7 @@ If you'd like to use another webserver, here are a few options:
 .. code-block:: bash
 
     ~$ pip install mod_wsgi  # requires httpd2 devel libraries installed in the system
-    ~$ mod_wsgi-express start-server development.ini --application-type paste --user allura --group allura --port 8080  --python-path /PATH/TO/VIRTUALENV/lib/python3.6/site-packages/
+    ~$ mod_wsgi-express start-server development.ini --application-type paste --user allura --group allura --port 8080  --python-path /PATH/TO/VIRTUALENV/lib/python3.7/site-packages/
 
 For any other wsgi server (e.g. mod_wsgi with Apache, or waitress) you will need a wsgi callable set up like this:
 
diff --git a/CHANGES b/CHANGES
index 3cf2136..314bd84 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
 Unreleased
 
+This release drops support for Python 3.6.
+
 Breaking Changes
  * [#8399] In an effort to update the Docker startup steps to make them as 
    easy as possible and compatible across as many OS's as possible, the default
diff --git a/Dockerfile b/Dockerfile
index 382763e..340b3e0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -17,23 +17,33 @@
 
 FROM ubuntu:18.04
 
-RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
-    git-core \
-    python3-dev \
-    gcc \
-    libmagic1 \
-    libssl-dev \
-    libldap2-dev \
-    libsasl2-dev \
-    libjpeg8-dev \
-    zlib1g-dev \
-    python3-venv \
-    zip \
-    subversion \
-    python3-svn \
-    curl \
-    locales \
-    sudo \
+# Ubunutu 18.04's latest python is 3.6 (and Ubuntu 20.04's is 3.8)
+# In order to get python3.7, we must add the deadsnakes apt repo, and install 3.7 specifically
+RUN apt-get update \
+    && apt-get install software-properties-common -y --no-install-recommends \
+    && add-apt-repository ppa:deadsnakes/ppa
+
+RUN apt-get update \
+    && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
+        git-core \
+        python3.7 \
+        python3.7-venv \
+        python3.7-dev \
+        gcc \
+        libmagic1 \
+        libssl-dev \
+        libldap2-dev \
+        libsasl2-dev \
+        libjpeg8-dev \
+        zlib1g-dev \
+        zip \
+        subversion \
+        curl \
+        locales \
+        g++ \
+        libsvn-dev \
+        make \
+        sudo \
     && rm -rf /var/lib/apt/lists/*
 
 # up-to-date version of node & npm
diff --git a/scripts/init-docker-dev.sh b/scripts/init-docker-dev.sh
index 6927951..b414bc9 100755
--- a/scripts/init-docker-dev.sh
+++ b/scripts/init-docker-dev.sh
@@ -39,9 +39,10 @@ cp /allura/Allura/allura/public/nf/favicon.ico /allura-data/www-misc/favicon.ico
 # share venv to allow update and sharing across containers
 if [ ! -e /allura-data/virtualenv ]; then
     echo -e "Creating virtualenv\n"
-    python3 -m venv /allura-data/virtualenv
+    python3.7 -m venv /allura-data/virtualenv
     /allura-data/virtualenv/bin/pip install -U pip
-    ln -s /usr/lib/python3/dist-packages/pysvn /allura-data/virtualenv/lib/python3.*/site-packages/
+    /allura-data/virtualenv/bin/pip install -U wheel
+    curl https://raw.githubusercontent.com/reviewboard/pysvn-installer/master/install.py | /allura-data/virtualenv/bin/python
     echo # just a new line
 fi
 source /allura-data/virtualenv/bin/activate