commit 0f0e5876aeaae3a97773540dc90b05daa9d462f4
parent 43aa75dc89c60a994ed89a93b44622f01e9b90ba
Author: Robin Schneider <ypid@riseup.net>
Date: Tue, 31 Dec 2019 15:17:31 +0100
Move `dpkg --add-architecture` before the first apt call
Thanks to @dani-garcia for the review!
Diffstat:
7 files changed, 66 insertions(+), 67 deletions(-)
diff --git a/docker/Dockerfile.j2 b/docker/Dockerfile.j2
@@ -87,6 +87,18 @@ RUN rustup set profile minimal
ENV USER "root"
{% endif %}
+{% if "aarch64" in target_file or "armv" in target_file %}
+# Install required build libs for {{ package_arch_name }} architecture.
+RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
+ /etc/apt/sources.list.d/deb-src.list \
+ && dpkg --add-architecture {{ package_arch_name }} \
+ && apt-get update \
+ && apt-get install -y \
+ --no-install-recommends \
+ libssl-dev{{ package_arch_prefix }} \
+ libc6-dev{{ package_arch_prefix }}
+
+{% endif -%}
{% if "aarch64" in target_file %}
RUN apt-get update \
&& apt-get install -y \
@@ -143,19 +155,6 @@ RUN apt-get update && apt-get install -y \
RUN USER=root cargo new --bin app
WORKDIR /app
-{% if "aarch64" in target_file or "armv" in target_file %}
-# Install required build libs for {{ package_arch_name }} architecture.
-RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
- /etc/apt/sources.list.d/deb-src.list \
- && dpkg --add-architecture {{ package_arch_name }} \
- && apt-get update \
- && apt-get install -y \
- --no-install-recommends \
- libssl-dev{{ package_arch_prefix }} \
- libc6-dev{{ package_arch_prefix }}
-
-{% endif -%}
-
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain
diff --git a/docker/aarch64/mysql/Dockerfile b/docker/aarch64/mysql/Dockerfile
@@ -37,6 +37,16 @@ ARG DB=mysql
# Don't download rust docs
RUN rustup set profile minimal
+# Install required build libs for arm64 architecture.
+RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
+ /etc/apt/sources.list.d/deb-src.list \
+ && dpkg --add-architecture arm64 \
+ && apt-get update \
+ && apt-get install -y \
+ --no-install-recommends \
+ libssl-dev:arm64 \
+ libc6-dev:arm64
+
RUN apt-get update \
&& apt-get install -y \
--no-install-recommends \
@@ -58,16 +68,6 @@ RUN apt-get update && apt-get install -y \
RUN USER=root cargo new --bin app
WORKDIR /app
-# Install required build libs for arm64 architecture.
-RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
- /etc/apt/sources.list.d/deb-src.list \
- && dpkg --add-architecture arm64 \
- && apt-get update \
- && apt-get install -y \
- --no-install-recommends \
- libssl-dev:arm64 \
- libc6-dev:arm64
-
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain
diff --git a/docker/aarch64/sqlite/Dockerfile b/docker/aarch64/sqlite/Dockerfile
@@ -37,6 +37,16 @@ ARG DB=sqlite
# Don't download rust docs
RUN rustup set profile minimal
+# Install required build libs for arm64 architecture.
+RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
+ /etc/apt/sources.list.d/deb-src.list \
+ && dpkg --add-architecture arm64 \
+ && apt-get update \
+ && apt-get install -y \
+ --no-install-recommends \
+ libssl-dev:arm64 \
+ libc6-dev:arm64
+
RUN apt-get update \
&& apt-get install -y \
--no-install-recommends \
@@ -52,16 +62,6 @@ ENV USER "root"
RUN USER=root cargo new --bin app
WORKDIR /app
-# Install required build libs for arm64 architecture.
-RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
- /etc/apt/sources.list.d/deb-src.list \
- && dpkg --add-architecture arm64 \
- && apt-get update \
- && apt-get install -y \
- --no-install-recommends \
- libssl-dev:arm64 \
- libc6-dev:arm64
-
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain
diff --git a/docker/armv6/mysql/Dockerfile b/docker/armv6/mysql/Dockerfile
@@ -37,6 +37,16 @@ ARG DB=mysql
# Don't download rust docs
RUN rustup set profile minimal
+# Install required build libs for armel architecture.
+RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
+ /etc/apt/sources.list.d/deb-src.list \
+ && dpkg --add-architecture armel \
+ && apt-get update \
+ && apt-get install -y \
+ --no-install-recommends \
+ libssl-dev:armel \
+ libc6-dev:armel
+
RUN apt-get update \
&& apt-get install -y \
--no-install-recommends \
@@ -58,16 +68,6 @@ RUN apt-get update && apt-get install -y \
RUN USER=root cargo new --bin app
WORKDIR /app
-# Install required build libs for armel architecture.
-RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
- /etc/apt/sources.list.d/deb-src.list \
- && dpkg --add-architecture armel \
- && apt-get update \
- && apt-get install -y \
- --no-install-recommends \
- libssl-dev:armel \
- libc6-dev:armel
-
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain
diff --git a/docker/armv6/sqlite/Dockerfile b/docker/armv6/sqlite/Dockerfile
@@ -37,6 +37,16 @@ ARG DB=sqlite
# Don't download rust docs
RUN rustup set profile minimal
+# Install required build libs for armel architecture.
+RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
+ /etc/apt/sources.list.d/deb-src.list \
+ && dpkg --add-architecture armel \
+ && apt-get update \
+ && apt-get install -y \
+ --no-install-recommends \
+ libssl-dev:armel \
+ libc6-dev:armel
+
RUN apt-get update \
&& apt-get install -y \
--no-install-recommends \
@@ -52,16 +62,6 @@ ENV USER "root"
RUN USER=root cargo new --bin app
WORKDIR /app
-# Install required build libs for armel architecture.
-RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
- /etc/apt/sources.list.d/deb-src.list \
- && dpkg --add-architecture armel \
- && apt-get update \
- && apt-get install -y \
- --no-install-recommends \
- libssl-dev:armel \
- libc6-dev:armel
-
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain
diff --git a/docker/armv7/mysql/Dockerfile b/docker/armv7/mysql/Dockerfile
@@ -37,16 +37,6 @@ ARG DB=mysql
# Don't download rust docs
RUN rustup set profile minimal
-# Install MySQL package
-RUN apt-get update && apt-get install -y \
- --no-install-recommends \
- libmariadb-dev:armhf \
- && rm -rf /var/lib/apt/lists/*
-
-# Creates a dummy project used to grab dependencies
-RUN USER=root cargo new --bin app
-WORKDIR /app
-
# Install required build libs for armhf architecture.
RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
/etc/apt/sources.list.d/deb-src.list \
@@ -57,6 +47,16 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
libssl-dev:armhf \
libc6-dev:armhf
+# Install MySQL package
+RUN apt-get update && apt-get install -y \
+ --no-install-recommends \
+ libmariadb-dev:armhf \
+ && rm -rf /var/lib/apt/lists/*
+
+# Creates a dummy project used to grab dependencies
+RUN USER=root cargo new --bin app
+WORKDIR /app
+
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain
diff --git a/docker/armv7/sqlite/Dockerfile b/docker/armv7/sqlite/Dockerfile
@@ -37,10 +37,6 @@ ARG DB=sqlite
# Don't download rust docs
RUN rustup set profile minimal
-# Creates a dummy project used to grab dependencies
-RUN USER=root cargo new --bin app
-WORKDIR /app
-
# Install required build libs for armhf architecture.
RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
/etc/apt/sources.list.d/deb-src.list \
@@ -51,6 +47,10 @@ RUN sed 's/^deb/deb-src/' /etc/apt/sources.list > \
libssl-dev:armhf \
libc6-dev:armhf
+# Creates a dummy project used to grab dependencies
+RUN USER=root cargo new --bin app
+WORKDIR /app
+
# Copies over *only* your manifests and build files
COPY ./Cargo.* ./
COPY ./rust-toolchain ./rust-toolchain