18766: because our Ubuntu 18.04 Python packages now depend on
authorWard Vandewege <ward@curii.com>
Mon, 7 Mar 2022 18:21:45 +0000 (13:21 -0500)
committerWard Vandewege <ward@jhvc.com>
Mon, 7 Mar 2022 18:35:07 +0000 (13:35 -0500)
       python-3.8, the path for the Python executables in our packages
       has changed. Put a note in the documentation, make the package
       testing script able to handle that, and for good measure, also
       make sure the arvados/jobs Dockerfile can handle it.

Arvados-DCO-1.1-Signed-off-by: Ward Vandewege <ward@curii.com>

build/package-testing/test-package-python3-arvados-python-client.sh
doc/admin/upgrading.html.textile.liquid
doc/sdk/python/sdk-python.html.textile.liquid
docker/jobs/Dockerfile

index 69f728c10e5c335967fac801c9f131726bce18a6..1e294fe0a8be0e4b67511e7f4648116f822f5562 100755 (executable)
@@ -7,7 +7,9 @@ set -e
 
 arv-put --version >/dev/null
 
-/usr/share/python3/dist/python3-arvados-python-client/bin/python3 << EOF
+PYTHON=`ls /usr/share/python3*/dist/python3-arvados-python-client/bin/python3 |head -n1`
+
+$PYTHON << EOF
 import arvados
 print("Successfully imported arvados")
 EOF
index 943bc3e0ee7f9a420c1dfac438f755373ac52aae..99d4371c9e19af27df89f91a7c291ee4cc998af9 100644 (file)
@@ -32,6 +32,12 @@ h2(#main). development main (as of 2022-02-10)
 
 "previous: Upgrading to 2.3.0":#v2_3_0
 
+h3. Ubuntu 18.04 Arvados Python packages now depend on python-3.8
+
+Ubuntu 18.04 ships with Python 3.6 as the default version of Python 3. Ubuntu also ships a version of Python 3.8, and the Arvados Python packages (@python3-arvados-cwl-runner@, @python3-arvados-fuse@, @python3-arvados-python-client@, @python3-arvados-user-activity@ and @python3-crunchstat-summary@) now depend on the @python-3.8@ system package.
+
+This means that they are now installed under @/usr/share/python3.8@ (before, the path was @/usr/share/python3@). If you rely on the @python3@ executable from the packages (e.g. to load a virtualenv), you may need to update the path to that executable.
+
 h3. Anonymous token changes
 
 The anonymous token configured in @Users.AnonymousUserToken@ must now be 32 characters or longer. This was already the suggestion in the documentation, now it is enforced. The @script/get_anonymous_user_token.rb@ script that was needed to register the anonymous user token in the database has been removed. Registration of the anonymous token is no longer necessary. If the anonymous token in @config.yml@ is specified as a full V2 token, that will now generate a warning - it should be updated to list just the secret (i.e. the part after the last forward slash).
index 435f70e7bfda47efa06ccebe0bdf2263a8a20f13..56f0328042cdc63059a82591521a26643d6dc4c8 100644 (file)
@@ -65,6 +65,10 @@ Type "help", "copyright", "credits" or "license" for more information.
 
 If you installed from a distribution package (option 2): the package includes a virtualenv, which means the correct Python environment needs to be loaded before the Arvados SDK can be imported. This can be done by activating the virtualenv first:
 
+{% include 'notebox_begin_warning' %}
+If you are on Ubuntu 18.04, please note that the Arvados packages that use Python depend on the python-3.8 package. This means they are installed under @/usr/share/python3.8@, not @/usr/share/python3@. You will need to update the commands below accordingly.
+{% include 'notebox_end' %}
+
 <notextile>
 <pre>~$ <code class="userinput">source /usr/share/python3/dist/python3-arvados-python-client/bin/activate</code>
 (python-arvados-python-client) ~$ <code class="userinput">python</code>
index 8da58a682d45368953ff473b0eaadd3ea9f63d5f..1b75e13420bce8bf77b3d4942705ce726e5a8e6e 100644 (file)
@@ -26,8 +26,8 @@ RUN apt-get update -q
 RUN apt-get install -yq --no-install-recommends python3-arvados-cwl-runner=$cwl_runner_version
 
 # use the Python executable from the python-arvados-cwl-runner package
-RUN rm -f /usr/bin/python && ln -s /usr/share/python3/dist/python3-arvados-cwl-runner/bin/python /usr/bin/python
-RUN rm -f /usr/bin/python3 && ln -s /usr/share/python3/dist/python3-arvados-cwl-runner/bin/python /usr/bin/python3
+RUN PYTHON=`ls /usr/share/python3*/dist/python3-arvados-cwl-runner/bin/python|head -n1` && rm -f /usr/bin/python && ln -s $PYTHON /usr/bin/python
+RUN PYTHON3=`ls /usr/share/python3*/dist/python3-arvados-cwl-runner/bin/python3|head -n1` && rm -f /usr/bin/python3 && ln -s $PYTHON3 /usr/bin/python3
 
 # Install dependencies and set up system.
 RUN /usr/sbin/adduser --disabled-password \