Bug 1863: LTS Support
Updates base to Ubuntu 20.04
Adds apt cache to stage 2 dockerfile
Updates python to 3.8
Updates pip dependencies to more recent versions
Fixes bug 1863
Change-Id: If82a6f3169f7e800c6284c7f3e7f232b7fc73ea5
Signed-off-by: beierlm <mark.beierl@canonical.com>
diff --git a/Dockerfile b/Dockerfile
index 3fad212..c597522 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -21,16 +21,23 @@
# devops-stages/stage-build.sh
#
-FROM ubuntu:18.04
+FROM ubuntu:20.04
+
+ARG APT_PROXY
+RUN if [ ! -z $APT_PROXY ] ; then \
+ echo "Acquire::http::Proxy \"$APT_PROXY\";" > /etc/apt/apt.conf.d/proxy.conf ;\
+ echo "Acquire::https::Proxy \"$APT_PROXY\";" >> /etc/apt/apt.conf.d/proxy.conf ;\
+ fi
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get -y install \
debhelper \
+ dh-python \
git \
python3 \
python3-all \
python3-dev \
python3-setuptools
-RUN python3 -m easy_install pip==21.0.1
-RUN pip3 install tox==3.22.0
+RUN python3 -m easy_install pip==21.3.1
+RUN pip install tox==3.24.5
diff --git a/requirements-dev.txt b/requirements-dev.txt
index a3f9edc..02d7ab0 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -1,197 +1,3 @@
-aiokafka==0.7.0
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
-async-timeout==3.0.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # retrying-async
-bcrypt==3.2.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # paramiko
-cachetools==4.2.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # google-auth
-certifi==2020.12.5
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
- # requests
-cffi==1.14.5
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # bcrypt
- # cryptography
- # pynacl
-chardet==4.0.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # requests
-cryptography==3.4.7
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # paramiko
-dataclasses==0.6
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
-google-auth==1.28.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
-idna==2.10
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # requests
-juju==2.8.4
- # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
-jujubundlelib==0.5.6
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # theblues
-kafka-python==2.0.2
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
- # aiokafka
-kubernetes==10.0.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
-macaroonbakery==1.3.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
- # theblues
-motor==1.3.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
-mypy-extensions==0.4.3
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # typing-inspect
-git+https://osm.etsi.org/gerrit/osm/N2VC.git@master#egg=n2vc
- # via -r requirements-dev.in
-oauthlib==3.1.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # requests-oauthlib
-git+https://osm.etsi.org/gerrit/osm/common.git@master#egg=osm-common
- # via -r requirements-dev.in
-paramiko==2.7.2
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
-protobuf==3.15.6
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # macaroonbakery
-pyasn1-modules==0.2.8
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # google-auth
-pyasn1==0.4.8
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
- # pyasn1-modules
- # rsa
-pycparser==2.20
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # cffi
-pycrypto==2.6.1
- # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
-pymacaroons==0.13.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # macaroonbakery
-pymongo==3.11.3
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
- # motor
-pynacl==1.4.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # macaroonbakery
- # paramiko
- # pymacaroons
-pyrfc3339==1.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
- # macaroonbakery
-python-dateutil==2.8.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
-pytz==2021.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # pyrfc3339
-pyyaml==5.4.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
- # jujubundlelib
- # kubernetes
-requests-oauthlib==1.3.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
-requests==2.25.1
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
- # macaroonbakery
- # requests-oauthlib
- # theblues
-retrying-async==1.2.0
- # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
-rsa==4.7.2
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # google-auth
-six==1.15.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # bcrypt
- # google-auth
- # kubernetes
- # macaroonbakery
- # protobuf
- # pymacaroons
- # pynacl
- # python-dateutil
- # websocket-client
-theblues==0.5.2
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
-toposort==1.6
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
-typing-extensions==3.7.4.3
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # typing-inspect
-typing-inspect==0.6.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
-urllib3==1.26.4
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
- # requests
-websocket-client==0.58.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # kubernetes
-websockets==7.0
- # via
- # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
- # juju
-
-# The following packages are considered to be unsafe in a requirements file:
-# setuptools
#######################################################################################
# Copyright ETSI Contributors and Others.
#
@@ -208,3 +14,196 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+aiokafka==0.7.2
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+async-timeout==3.0.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # retrying-async
+bcrypt==3.2.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # paramiko
+cachetools==4.2.4
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # google-auth
+certifi==2021.10.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+ # requests
+cffi==1.15.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # bcrypt
+ # cryptography
+ # pynacl
+charset-normalizer==2.0.10
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # requests
+cryptography==36.0.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # paramiko
+dataclasses==0.6
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+google-auth==2.3.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+idna==3.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # requests
+juju==2.9.4
+ # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+jujubundlelib==0.5.7
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # theblues
+kafka-python==2.0.2
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+ # aiokafka
+kubernetes==21.7.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+macaroonbakery==1.3.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+ # theblues
+motor==1.3.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+mypy-extensions==0.4.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # typing-inspect
+n2vc @ git+https://osm.etsi.org/gerrit/osm/N2VC.git@master
+ # via -r requirements-dev.in
+oauthlib==3.1.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # requests-oauthlib
+osm-common @ git+https://osm.etsi.org/gerrit/osm/common.git@master
+ # via -r requirements-dev.in
+paramiko==2.9.2
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+protobuf==3.19.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # macaroonbakery
+pyasn1==0.4.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+ # pyasn1-modules
+ # rsa
+pyasn1-modules==0.2.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # google-auth
+pycparser==2.21
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # cffi
+pycrypto==2.6.1
+ # via -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+pymacaroons==0.13.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # macaroonbakery
+pymongo==3.12.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+ # motor
+pynacl==1.5.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # macaroonbakery
+ # paramiko
+ # pymacaroons
+pyrfc3339==1.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+ # macaroonbakery
+python-dateutil==2.8.2
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+pytz==2021.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # pyrfc3339
+pyyaml==5.4.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # -r https://osm.etsi.org/gitweb/?p=osm/common.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+ # jujubundlelib
+ # kubernetes
+requests==2.27.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+ # macaroonbakery
+ # requests-oauthlib
+ # theblues
+requests-oauthlib==1.3.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+retrying-async==1.2.0
+ # via -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+rsa==4.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # google-auth
+six==1.16.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # bcrypt
+ # google-auth
+ # kubernetes
+ # macaroonbakery
+ # pymacaroons
+ # python-dateutil
+theblues==0.5.2
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+toposort==1.7
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+typing-extensions==4.0.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # typing-inspect
+typing-inspect==0.7.1
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+urllib3==1.26.8
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+ # requests
+websocket-client==1.2.3
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # kubernetes
+websockets==7.0
+ # via
+ # -r https://osm.etsi.org/gitweb/?p=osm/N2VC.git;a=blob_plain;f=requirements.txt;hb=master
+ # juju
+
+# The following packages are considered to be unsafe in a requirements file:
+# setuptools
diff --git a/requirements-dist.in b/requirements-dist.in
index 11f0a2a..4f8784f 100644
--- a/requirements-dist.in
+++ b/requirements-dist.in
@@ -14,4 +14,5 @@
# limitations under the License.
stdeb
-setuptools-version-command
\ No newline at end of file
+setuptools-version-command
+setuptools<60
\ No newline at end of file
diff --git a/requirements-dist.txt b/requirements-dist.txt
index 7393626..8192b48 100644
--- a/requirements-dist.txt
+++ b/requirements-dist.txt
@@ -1,10 +1,3 @@
-setuptools-version-command==2.2
- # via -r requirements-dist.in
-stdeb==0.10.0
- # via -r requirements-dist.in
-
-# The following packages are considered to be unsafe in a requirements file:
-# setuptools
#######################################################################################
# Copyright ETSI Contributors and Others.
#
@@ -21,3 +14,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+setuptools-version-command==99.9
+ # via -r requirements-dist.in
+stdeb==0.10.0
+ # via -r requirements-dist.in
+
+# The following packages are considered to be unsafe in a requirements file:
+setuptools==59.8.0
+ # via
+ # -r requirements-dist.in
+ # setuptools-version-command
diff --git a/requirements-test.txt b/requirements-test.txt
index 3b87659..7507a54 100644
--- a/requirements-test.txt
+++ b/requirements-test.txt
@@ -1,15 +1,3 @@
-asynctest==0.13.0
- # via -r requirements-test.in
-coverage==5.5
- # via
- # -r requirements-test.in
- # nose2
-mock==4.0.3
- # via -r requirements-test.in
-nose2==0.10.0
- # via -r requirements-test.in
-six==1.15.0
- # via nose2
#######################################################################################
# Copyright ETSI Contributors and Others.
#
@@ -26,3 +14,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+asynctest==0.13.0
+ # via -r requirements-test.in
+coverage==6.2
+ # via
+ # -r requirements-test.in
+ # nose2
+mock==4.0.3
+ # via -r requirements-test.in
+nose2==0.10.0
+ # via -r requirements-test.in
+six==1.16.0
+ # via nose2
diff --git a/requirements.in b/requirements.in
index 6307ee1..3b86ffc 100644
--- a/requirements.in
+++ b/requirements.in
@@ -12,9 +12,10 @@
# under the License.
##
-aiohttp
+aiohttp<3.8
+async-timeout<4
grpcio-tools
grpclib
-idna==2.10
+idna
jinja2
-pyyaml
+pyyaml==5.4.1
diff --git a/requirements.txt b/requirements.txt
index 9212e2f..46bfd9b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,51 +1,3 @@
-aiohttp==3.7.4.post0
- # via -r requirements.in
-async-timeout==3.0.1
- # via aiohttp
-attrs==20.3.0
- # via aiohttp
-chardet==4.0.0
- # via aiohttp
-grpcio-tools==1.36.1
- # via -r requirements.in
-grpcio==1.36.1
- # via grpcio-tools
-grpclib==0.4.1
- # via -r requirements.in
-h2==4.0.0
- # via grpclib
-hpack==4.0.0
- # via h2
-hyperframe==6.0.0
- # via h2
-idna==2.10
- # via
- # -r requirements.in
- # yarl
-jinja2==2.11.3
- # via -r requirements.in
-markupsafe==1.1.1
- # via jinja2
-multidict==5.1.0
- # via
- # aiohttp
- # grpclib
- # yarl
-protobuf==3.15.6
- # via grpcio-tools
-pyyaml==5.4.1
- # via -r requirements.in
-six==1.15.0
- # via
- # grpcio
- # protobuf
-typing-extensions==3.7.4.3
- # via aiohttp
-yarl==1.6.3
- # via aiohttp
-
-# The following packages are considered to be unsafe in a requirements file:
-# setuptools
#######################################################################################
# Copyright ETSI Contributors and Others.
#
@@ -62,3 +14,51 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#######################################################################################
+aiohttp==3.7.4.post0
+ # via -r requirements.in
+async-timeout==3.0.1
+ # via
+ # -r requirements.in
+ # aiohttp
+attrs==21.4.0
+ # via aiohttp
+chardet==4.0.0
+ # via aiohttp
+grpcio==1.43.0
+ # via grpcio-tools
+grpcio-tools==1.43.0
+ # via -r requirements.in
+grpclib==0.4.2
+ # via -r requirements.in
+h2==4.1.0
+ # via grpclib
+hpack==4.0.0
+ # via h2
+hyperframe==6.0.1
+ # via h2
+idna==3.3
+ # via
+ # -r requirements.in
+ # yarl
+jinja2==3.0.3
+ # via -r requirements.in
+markupsafe==2.0.1
+ # via jinja2
+multidict==5.2.0
+ # via
+ # aiohttp
+ # grpclib
+ # yarl
+protobuf==3.19.3
+ # via grpcio-tools
+pyyaml==5.4.1
+ # via -r requirements.in
+six==1.16.0
+ # via grpcio
+typing-extensions==4.0.1
+ # via aiohttp
+yarl==1.7.2
+ # via aiohttp
+
+# The following packages are considered to be unsafe in a requirements file:
+# setuptools
diff --git a/tox.ini b/tox.ini
index e9816cd..a357cbf 100644
--- a/tox.ini
+++ b/tox.ini
@@ -23,7 +23,7 @@
[testenv]
usedevelop = True
-basepython = python3
+basepython = python3.8
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
deps = -r{toxinidir}/requirements.txt
@@ -82,13 +82,18 @@
#######################################################################################
[testenv:pip-compile]
-deps = pip-tools==5.5.0
+deps = pip-tools==6.4.0
+skip_install = true
+whitelist_externals = bash
+ [
commands =
- - sh -c 'for file in requirements*.in ; do pip-compile -rU --no-header $file ;\
- out=`echo $file | sed "s/.in/.txt/"` ; \
- head -16 tox.ini >> $out ;\
- done'
-whitelist_externals = sh
+ - bash -c "for file in requirements*.in ; do \
+ UNSAFE="" ; \
+ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
+ pip-compile -rU --no-header $UNSAFE $file ;\
+ out=`echo $file | sed 's/.in/.txt/'` ; \
+ sed -i -e '1 e head -16 tox.ini' $out ;\
+ done"
#######################################################################################