Commit 98808c3d authored by Philippe Mathieu-Daudé's avatar Philippe Mathieu-Daudé Committed by Alex Bennée
Browse files

tests/docker: Refresh APT cache before installing new packages on Debian

Since docker caches the different layers, updating the package
list does not invalidate the previous "apt-get update" layer,
and it is likely "apt-get install" hits an outdated repository.

See commit beac6a98 and
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get



Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20190723141528.18023-1-philmd@redhat.com>
[AJB: manually applies and fixed up]
Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
parent 30edd9fa
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -6,7 +6,8 @@
#
FROM qemu:debian-sid

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        gcc-alpha-linux-gnu \
        libc6.1-dev-alpha-cross || { echo "Failed to build - see debian-sid.docker notes"; exit 1; }
+12 −8
Original line number Diff line number Diff line
@@ -7,11 +7,13 @@
FROM qemu:debian9
MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get build-dep -yy qemu
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt build-dep -yy qemu

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        libbz2-dev \
        liblzo2-dev \
        librdmacm-dev \
@@ -19,8 +21,9 @@ RUN DEBIAN_FRONTEND=noninteractive eatmydata \
        libvte-dev

# virgl
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        libegl1-mesa-dev \
        libepoxy-dev \
        libgbm-dev
@@ -29,8 +32,9 @@ RUN git clone https://anongit.freedesktop.org/git/virglrenderer.git /usr/src/vir
RUN cd /usr/src/virglrenderer && ./autogen.sh && ./configure --with-glx --disable-tests && make install

# netmap
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        linux-headers-amd64
RUN git clone https://github.com/luigirizzo/netmap.git /usr/src/netmap
RUN cd /usr/src/netmap && git checkout v11.3
+9 −7
Original line number Diff line number Diff line
@@ -7,18 +7,20 @@ FROM qemu:debian9

# Add the foreign architecture we want and install dependencies
RUN dpkg --add-architecture arm64
RUN apt update
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        crossbuild-essential-arm64
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get build-dep -yy -a arm64 qemu
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt build-dep -yy -a arm64 qemu

# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=aarch64-linux-gnu-

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        libbz2-dev:arm64 \
        liblzo2-dev:arm64 \
        librdmacm-dev:arm64 \
+7 −6
Original line number Diff line number Diff line
@@ -8,16 +8,17 @@ MAINTAINER Philippe Mathieu-Daudé <f4bug@amsat.org>

# Add the foreign architecture we want and install dependencies
RUN dpkg --add-architecture armel && \
    apt update
RUN apt install -yy crossbuild-essential-armel
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get build-dep -yy -a armel qemu
    apt update && \
    apt install -yy crossbuild-essential-armel && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt build-dep -yy -a armel qemu

# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabi-

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        libbz2-dev:armel \
        liblzo2-dev:armel \
        librdmacm-dev:armel \
+9 −7
Original line number Diff line number Diff line
@@ -7,18 +7,20 @@ FROM qemu:debian9

# Add the foreign architecture we want and install dependencies
RUN dpkg --add-architecture armhf
RUN apt update
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        crossbuild-essential-armhf
RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get build-dep -yy -a armhf qemu
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt build-dep -yy -a armhf qemu

# Specify the cross prefix for this image (see tests/docker/common.rc)
ENV QEMU_CONFIGURE_OPTS --cross-prefix=arm-linux-gnueabihf-

RUN DEBIAN_FRONTEND=noninteractive eatmydata \
    apt-get install -y --no-install-recommends \
RUN apt update && \
    DEBIAN_FRONTEND=noninteractive eatmydata \
    apt install -y --no-install-recommends \
        libbz2-dev:armhf \
        liblzo2-dev:armhf \
        librdmacm-dev:armhf \
Loading