util-docker: Ensure all apt update/upgrade/install in one RUN

Prior to this patch those building from these Dockerfiles could
encounter caching issues where the `apt -y update` RUN was loaded from a
cached layer prior to running the `install` command. Typically this was
trying to obtain a package from a wrong IP address. The fix for this is
to run this all in one Docker RUN to avoid loading a broken cache.

Change-Id: If309c5c1d4a0240fed670abe980772d90f7d2172
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/59350
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
This commit is contained in:
Bobby R. Bruce
2022-05-03 16:00:58 -07:00
committed by Bobby Bruce
parent a13e9bd4f7
commit 92894edf78
12 changed files with 23 additions and 36 deletions

View File

@@ -25,9 +25,8 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
FROM ubuntu:20.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
RUN apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python-is-python3 doxygen libboost-all-dev \ python3-dev python-is-python3 doxygen libboost-all-dev \
libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config

View File

@@ -29,9 +29,8 @@
FROM ubuntu:20.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
RUN apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python-is-python3 doxygen libboost-all-dev \ python3-dev python-is-python3 doxygen libboost-all-dev \
libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config

View File

@@ -29,9 +29,7 @@
FROM ubuntu:20.04 AS stage1 FROM ubuntu:20.04 AS stage1
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && apt -y install \
RUN apt -y upgrade
RUN apt -y install \
binutils build-essential libtool texinfo gzip zip unzip patchutils curl git \ binutils build-essential libtool texinfo gzip zip unzip patchutils curl git \
make cmake ninja-build automake bison flex gperf grep sed gawk bc \ make cmake ninja-build automake bison flex gperf grep sed gawk bc \
zlib1g-dev libexpat1-dev libmpc-dev libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev libexpat1-dev libmpc-dev libglib2.0-dev libfdt-dev libpixman-1-dev

View File

@@ -27,9 +27,8 @@
FROM ubuntu:20.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
RUN apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python-is-python3 doxygen libboost-all-dev \ python3-dev python-is-python3 doxygen libboost-all-dev \
libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config pip \ libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config pip \

View File

@@ -26,9 +26,8 @@
FROM ubuntu:18.04 FROM ubuntu:18.04
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
RUN apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python3 doxygen libboost-all-dev \ python3-dev python3 doxygen libboost-all-dev \
libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config \ libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config \

View File

@@ -36,9 +36,8 @@ FROM ubuntu:18.04
# 9 # 9
ARG version ARG version
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install git m4 scons zlib1g zlib1g-dev clang-${version} \
RUN apt -y install git m4 scons zlib1g zlib1g-dev clang-${version} \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python3 doxygen make python3-dev python3 doxygen make

View File

@@ -33,9 +33,8 @@ FROM ubuntu:18.04
# 8 # 8
ARG version ARG version
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install git m4 scons zlib1g zlib1g-dev gcc-multilib \
RUN apt -y install git m4 scons zlib1g zlib1g-dev gcc-multilib \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python3 doxygen wget zip gcc-${version} \ python3-dev python3 doxygen wget zip gcc-${version} \
g++-${version} make g++-${version} make

View File

@@ -27,9 +27,8 @@
FROM ubuntu:20.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
RUN apt -y install build-essential git m4 scons zlib1g zlib1g-dev \
libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \ libprotobuf-dev protobuf-compiler libprotoc-dev libgoogle-perftools-dev \
python3-dev python-is-python3 doxygen libboost-all-dev \ python3-dev python-is-python3 doxygen libboost-all-dev \
libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config pip \ libhdf5-serial-dev python3-pydot libpng-dev libelf-dev pkg-config pip \

View File

@@ -36,9 +36,8 @@ FROM ubuntu:20.04
ARG version ARG version
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \
RUN apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \
protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \
python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \
python3-pydot libpng-dev clang-${version} make python3-pydot libpng-dev clang-${version} make

View File

@@ -31,9 +31,8 @@ FROM ubuntu:20.04
# installed via APT more easily. # installed via APT more easily.
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \
RUN apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \
protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \
python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \
python3-pydot libpng-dev make software-properties-common python3-pydot libpng-dev make software-properties-common

View File

@@ -33,9 +33,8 @@ FROM ubuntu:20.04
ARG version ARG version
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \
RUN apt -y install git m4 scons zlib1g zlib1g-dev libprotobuf-dev \
protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \ protobuf-compiler libprotoc-dev libgoogle-perftools-dev python3-dev \
python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \ python-is-python3 doxygen libboost-all-dev libhdf5-serial-dev \
python3-pydot libpng-dev gcc-${version} g++-${version} make python3-pydot libpng-dev gcc-${version} g++-${version} make

View File

@@ -27,6 +27,5 @@
FROM ubuntu:20.04 FROM ubuntu:20.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt -y update RUN apt -y update && apt -y upgrade && \
RUN apt -y upgrade apt -y install build-essential m4 scons python3-dev python-is-python3
RUN apt -y install build-essential m4 scons python3-dev python-is-python3