X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/442d78e1fb39f5d18f728f083e04f320ced44ebb..1422c2322339ac5cabdc15f8917d56f6ab501834:/tools/arvbox/lib/arvbox/docker/Dockerfile.base diff --git a/tools/arvbox/lib/arvbox/docker/Dockerfile.base b/tools/arvbox/lib/arvbox/docker/Dockerfile.base index 778b752fd4..d8b2408831 100644 --- a/tools/arvbox/lib/arvbox/docker/Dockerfile.base +++ b/tools/arvbox/lib/arvbox/docker/Dockerfile.base @@ -79,10 +79,10 @@ FROM debian:11 ENV DEBIAN_FRONTEND noninteractive # The arvbox-specific dependencies are -# gnupg2 runit python3-pip python3-setuptools python3-yaml shellinabox netcat-openbsd less +# gnupg2 runit python3-dev python3-venv shellinabox netcat-openbsd less RUN apt-get update && \ apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \ - gnupg2 runit python3-pip python3-setuptools python3-yaml shellinabox netcat-openbsd less vim-tiny && \ + gnupg2 runit python3-dev python3-venv shellinabox netcat-openbsd less vim-tiny && \ apt-get clean ENV GOPATH /var/lib/gopath @@ -93,6 +93,17 @@ COPY --from=base $GOPATH/bin/arvados-server $GOPATH/bin/arvados-server RUN $GOPATH/bin/arvados-server --version RUN $GOPATH/bin/arvados-server install -type test +# Set up a virtualenv for all Python tools in arvbox. +# This is used mainly by the `sdk` service, but `doc` and internal scripts +# also rely on it. +# 1. Install wheel just to modernize the virtualenv. +# 2. Install setuptools as an sdk build dependency; PyYAML for all tests +# and yml_override.py; and pdoc for the doc service. +# Everything else is installed by the sdk service on boot. +RUN python3 -m venv /opt/arvados-py \ + && /opt/arvados-py/bin/pip install --no-cache-dir wheel \ + && /opt/arvados-py/bin/pip install --no-cache-dir setuptools PyYAML pdoc + RUN /etc/init.d/postgresql start && \ su postgres -c 'dropuser arvados' && \ su postgres -c 'createuser -s arvbox' && \