docker/Debian | 46 ++++++++++++++++++++++++++++++++++++++++++ docker/l10n-docker-nightly.sh | 23 ++++++++++++++++++--- 2 files changed, 66 insertions(+), 3 deletions(-)
New commits: commit 607ddbff466d145d0dcf87b2759c7e4d02b28f1d Author: Marco Marinello <marine...@libreoffice.org> AuthorDate: Fri May 8 12:34:48 2020 +0200 Commit: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> CommitDate: Thu May 14 10:08:56 2020 +0200 Enhance build system: support multiple OS as host and pull the image before build Change-Id: Ic9875dd1aa49335df83cc6a8492144450f725f31 Signed-off-by: Marco Marinello <marine...@libreoffice.org> Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92665 Tested-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@cib.de> diff --git a/docker/Debian b/docker/Debian new file mode 100644 index 000000000..b43bc4a32 --- /dev/null +++ b/docker/Debian @@ -0,0 +1,46 @@ +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +FROM debian:stable + +# get the latest fixes +RUN apt-get update + +# install LibreOffice run-time dependencies +# install adduser, findutils, openssl and cpio that we need later +# install an editor +RUN apt-get -y install locales-all libpng16-16 fontconfig adduser cpio findutils nano libpoco-dev libcap2-bin openssl inotify-tools procps libubsan0 libubsan1 openssh-client + +# tdf#117557 - Add CJK Fonts to LibreOffice Online Docker Image +RUN apt-get -y install fonts-wqy-zenhei fonts-wqy-microhei fonts-droid-fallback fonts-noto-cjk + +# copy freshly built LibreOffice master and LibreOffice Online master with latest translations +COPY /instdir / + +# copy the shell script which can start LibreOffice Online (loolwsd) +COPY /scripts/run-lool.sh / + +# set up LibreOffice Online (normally done by postinstall script of package) +RUN setcap cap_fowner,cap_mknod,cap_sys_chroot=ep /usr/bin/loolforkit +RUN adduser --quiet --system --group --home /opt/lool lool +RUN mkdir -p /var/cache/loolwsd && chown lool: /var/cache/loolwsd +RUN rm -rf /var/cache/loolwsd/* +RUN rm -rf /opt/lool +RUN mkdir -p /opt/lool/child-roots +RUN loolwsd-systemplate-setup /opt/lool/systemplate /opt/libreoffice >/dev/null 2>&1 +RUN touch /var/log/loolwsd.log +# Fix permissions +RUN chown lool:lool /var/log/loolwsd.log +RUN chown -R lool:lool /opt/ +RUN chown -R lool:lool /etc/loolwsd + +EXPOSE 9980 + +# switch to lool user (use numeric user id to be compatible with Kubernetes Pod Security Policies) +USER 101 + +CMD bash /run-lool.sh + diff --git a/docker/Dockerfile b/docker/Ubuntu similarity index 100% rename from docker/Dockerfile rename to docker/Ubuntu diff --git a/docker/l10n-docker-nightly.sh b/docker/l10n-docker-nightly.sh index 9bbb4ad4a..e921a4283 100755 --- a/docker/l10n-docker-nightly.sh +++ b/docker/l10n-docker-nightly.sh @@ -51,9 +51,22 @@ if [ -z "$LIBREOFFICE_BUILD_TARGET" ]; then fi; echo "LibreOffice build target: '$LIBREOFFICE_BUILD_TARGET'" -# do everything in the builddir + SRCDIR=$(realpath `dirname $0`) -INSTDIR="$SRCDIR/instdir" + +if [ -z "$(lsb_release -si)" ]; then + echo "WARNING: Unable to determine your distribution" + echo "(Is lsb_release installed?)" + echo "Using Ubuntu Dockerfile." + HOST_OS="Ubuntu" +else + HOST_OS=$(lsb_release -si) +fi +if ! [ -e "$HOST_OS" ]; then + echo "There is no suitable Dockerfile for your host system." + echo "Please fix this problem and re-run $0" + exit 1 +fi BUILDDIR="$SRCDIR/builddir" mkdir -p "$BUILDDIR" @@ -104,7 +117,11 @@ cp -a libreoffice/instdir "$INSTDIR"/opt/libreoffice # Create new docker image if [ -z "$NO_DOCKER_IMAGE" ]; then cd "$SRCDIR" - docker build --no-cache -t $DOCKER_HUB_REPO:$DOCKER_HUB_TAG . || exit 1 + + # Pull the image first to be sure we're using the latest available + docker pull $(grep "FROM " $HOST_OS | cut -d ' ' -f 2) + + docker build --no-cache -t $DOCKER_HUB_REPO:$DOCKER_HUB_TAG -f $HOST_OS . || exit 1 if [ -z "$NO_DOCKER_PUSH" ]; then docker push $DOCKER_HUB_REPO:$DOCKER_HUB_TAG || exit 1 fi; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits