Split package installation into multiple layers

This commit is contained in:
Héctor Molinero Fernández
2022-08-25 23:32:13 +02:00
parent 9b97a876f0
commit 55aac9fc26

View File

@@ -7,12 +7,16 @@ m4_changequote([[, ]])
m4_ifdef([[CROSS_ARCH]], [[FROM docker.io/CROSS_ARCH/ubuntu:22.04]], [[FROM docker.io/ubuntu:22.04]]) AS build m4_ifdef([[CROSS_ARCH]], [[FROM docker.io/CROSS_ARCH/ubuntu:22.04]], [[FROM docker.io/ubuntu:22.04]]) AS build
m4_ifdef([[CROSS_QEMU]], [[COPY --from=docker.io/hectorm/qemu-user-static:latest CROSS_QEMU CROSS_QEMU]]) m4_ifdef([[CROSS_QEMU]], [[COPY --from=docker.io/hectorm/qemu-user-static:latest CROSS_QEMU CROSS_QEMU]])
# Install system packages # Enable source repositories
RUN export DEBIAN_FRONTEND=noninteractive \ RUN sed -i 's/^#\s*\(deb-src\s\)/\1/g' /etc/apt/sources.list
&& sed -i 's/^#\s*\(deb-src\s\)/\1/g' /etc/apt/sources.list \
m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
&& dpkg --add-architecture i386 \ # Enable i386 architecture
RUN dpkg --add-architecture i386
]])m4_dnl ]])m4_dnl
# Install packages
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \ && apt-get update \
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \ && apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
autoconf \ autoconf \
@@ -259,18 +263,22 @@ RUN checkinstall --default --pkgname=xrdp-pulseaudio --pkgversion=9:999 --pkgrel
m4_ifdef([[CROSS_ARCH]], [[FROM docker.io/CROSS_ARCH/ubuntu:22.04]], [[FROM docker.io/ubuntu:22.04]]) AS main m4_ifdef([[CROSS_ARCH]], [[FROM docker.io/CROSS_ARCH/ubuntu:22.04]], [[FROM docker.io/ubuntu:22.04]]) AS main
m4_ifdef([[CROSS_QEMU]], [[COPY --from=docker.io/hectorm/qemu-user-static:latest CROSS_QEMU CROSS_QEMU]]) m4_ifdef([[CROSS_QEMU]], [[COPY --from=docker.io/hectorm/qemu-user-static:latest CROSS_QEMU CROSS_QEMU]])
# Install system packages
RUN export DEBIAN_FRONTEND=noninteractive \
m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
&& dpkg --add-architecture i386 \ # Enable i386 architecture
RUN dpkg --add-architecture i386
]])m4_dnl ]])m4_dnl
# Install base packages
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \ && apt-get update \
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \ && apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
at-spi2-core \ at-spi2-core \
ca-certificates \ ca-certificates \
catatonit \ catatonit \
curl \
dbus \ dbus \
dbus-x11 \ dbus-x11 \
gnupg \
libbz2-1.0 \ libbz2-1.0 \
libegl1 \ libegl1 \
libegl1-mesa \ libegl1-mesa \
@@ -305,6 +313,7 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
libxtst6 \ libxtst6 \
libxv1 \ libxv1 \
locales \ locales \
lsb-release \
mesa-opencl-icd \ mesa-opencl-icd \
mesa-va-drivers \ mesa-va-drivers \
mesa-vdpau-drivers \ mesa-vdpau-drivers \
@@ -388,16 +397,19 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
libnvidia-gl-515:i386 \ libnvidia-gl-515:i386 \
]])m4_dnl ]])m4_dnl
]])m4_dnl ]])m4_dnl
&& rm -rf /var/lib/apt/lists/*
# Install extra packages
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update \
&& apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \ && apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
adwaita-icon-theme-full \ adwaita-icon-theme-full \
adwaita-qt \ adwaita-qt \
apt-utils \
audacity \ audacity \
bash \ bash \
bash-completion \ bash-completion \
binutils \ binutils \
clinfo \ clinfo \
curl \
desktop-file-utils \ desktop-file-utils \
dialog \ dialog \
engrampa \ engrampa \
@@ -412,7 +424,6 @@ m4_ifelse(ENABLE_32BIT_SUPPORT, 1, [[m4_dnl
fuse3 \ fuse3 \
git \ git \
gnome-keyring \ gnome-keyring \
gnupg \
gtk2-engines-pixbuf \ gtk2-engines-pixbuf \
htop \ htop \
indicator-application \ indicator-application \