@@ -57,7 +57,8 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
gcc-sh4-linux-gnu \
libc6-dev-sh4-cross \
gcc-sparc64-linux-gnu \
- libc6-dev-sparc64-cross
+ libc6-dev-sparc64-cross \
+ python3-venv
ENV QEMU_CONFIGURE_OPTS --disable-system --disable-docs --disable-tools
ENV DEF_TARGET_LIST aarch64-linux-user,alpha-linux-user,arm-linux-user,hppa-linux-user,i386-linux-user,m68k-linux-user,mips-linux-user,mips64-linux-user,mips64el-linux-user,mipsel-linux-user,ppc-linux-user,ppc64-linux-user,ppc64le-linux-user,riscv64-linux-user,s390x-linux-user,sh4-linux-user,sparc64-linux-user
@@ -20,7 +20,8 @@ RUN apt-get update && \
bison \
flex \
git \
- ninja-build && \
+ ninja-build \
+ python3-venv && \
# Install QEMU build deps for use in CI
DEBIAN_FRONTEND=noninteractive eatmydata \
apt build-dep -yy --arch-only qemu
@@ -28,7 +28,8 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata apt install -yy \
libglib2.0-dev \
ninja-build \
pkg-config \
- python3
+ python3 \
+ python3-venv
# Add ports and riscv64 architecture
RUN echo "deb http://ftp.ports.debian.org/debian-ports/ sid main" >> /etc/apt/sources.list
@@ -33,7 +33,8 @@ RUN apt update && \
pkgconf \
python3-pip \
python3-setuptools \
- python3-wheel
+ python3-wheel \
+ python3-venv
RUN curl -#SL https://github.com/bkoppelmann/package_940/releases/download/tricore-toolchain-9.40/tricore-toolchain-9.4.0.tar.gz \
| tar -xzC /usr/local/
Several debian-based tests need the python3-venv dependency as a consequence of Debian debundling the "ensurepip" module normally included with Python. As this series stands right now, in most cases, Debian requires EITHER: (A) setuptools and pip, or (B) ensurepip It's quite likely most developer workstations running Debian or a Debian-based distro already have all of these packages. venv creation will actually be quite a bit faster by installing pip and setuptools, but for the purposes of this patch I am only adding the strict minimum necessary. (For that reason, I chose ensurepip to make sure that as we continue tweaking and developing the mkvenv script, we can count on Debian having a fully functional Python installation; but for the sake of this series it is an arbitrary choice here.) In one case, even though we already have pip and setuptools, we still need ensurepip because the version of these tools that shipped with Debian are known to be broken and do not function correctly inside of a venv. Using ensurepip bypasses the bug. (This is only for Debian 10, which we technically no longer support. Even so, I wanted to prove it's possible to support our oldest platforms.) Signed-off-by: John Snow <jsnow@redhat.com> --- tests/docker/dockerfiles/debian-all-test-cross.docker | 3 ++- tests/docker/dockerfiles/debian-hexagon-cross.docker | 3 ++- tests/docker/dockerfiles/debian-riscv64-cross.docker | 3 ++- tests/docker/dockerfiles/debian-tricore-cross.docker | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-)