From 82699617c68e1b74f5bf170eeebb1f3a00f62d5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Jos=C3=A9=20Pereira?= Date: Thu, 18 Mar 2021 14:29:06 -0300 Subject: [PATCH] deploy: docker: First commit with build-linux MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Patrick José Pereira --- deploy/docker/Dockerfile-build-linux | 72 ++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 deploy/docker/Dockerfile-build-linux diff --git a/deploy/docker/Dockerfile-build-linux b/deploy/docker/Dockerfile-build-linux new file mode 100644 index 0000000..0f4570c --- /dev/null +++ b/deploy/docker/Dockerfile-build-linux @@ -0,0 +1,72 @@ +# +# QGroundControl linux build environment +# + +FROM ubuntu:20.04 +LABEL authors="Daniel Agar , Patrick José Pereira " + +ARG QT_VERSION=5.12.10 + +ENV DEBIAN_FRONTEND noninteractive + +ENV DISPLAY :99 + +ENV QMAKESPEC linux-g++-64 + +ENV QT_PATH /opt/Qt +ENV QT_DESKTOP $QT_PATH/${QT_VERSION}/gcc_64 + +ENV PATH /usr/lib/ccache:$QT_DESKTOP/bin:$PATH + +RUN apt update && apt -y --quiet --no-install-recommends install \ + apt-utils \ + build-essential \ + ca-certificates \ + ccache \ + checkinstall \ + cmake \ + curl \ + espeak \ + fuse \ + g++ \ + gcc \ + git \ + gosu \ + kmod \ + libespeak-dev \ + libfontconfig1 \ + libfuse2 \ + libgstreamer-plugins-base1.0-dev \ + libgstreamer1.0-0 \ + libgstreamer1.0-dev \ + libsdl2-dev \ + libssl-dev \ + libudev-dev \ + locales \ + make \ + ninja-build \ + openssh-client \ + openssl \ + pkg-config \ + rsync \ + speech-dispatcher \ + wget \ + xvfb \ + zlib1g-dev \ + && apt-get -y autoremove \ + && apt-get clean autoclean \ + && rm -rf /var/lib/apt/lists/{apt,dpkg,cache,log} /tmp/* /var/tmp/* + +# Install Qt +COPY deploy/docker/install-qt-linux.sh /tmp/qt/ +RUN /tmp/qt/install-qt-linux.sh + +# Reconfigure locale +RUN locale-gen en_US.UTF-8 && dpkg-reconfigure locales + +# create user with id 1001 (jenkins docker workflow default) +RUN useradd --shell /bin/bash -u 1001 -c "" -m user && usermod -a -G dialout user + +WORKDIR /project/build +CMD git --git-dir=/project/source/.git submodule update --init --recursive \ + && qmake /project/source && make -j$(nproc)