[Libreoffice-commits] online.git: docker/Debian docker/Dockerfile docker/l10n-docker-nightly.sh docker/Ubuntu
Marco Marinello (via logerrit)
logerrit at kemper.freedesktop.org
Thu May 14 08:09:14 UTC 2020
docker/Debian | 46 ++++++++++++++++++++++++++++++++++++++++++
docker/l10n-docker-nightly.sh | 23 ++++++++++++++++++---
2 files changed, 66 insertions(+), 3 deletions(-)
New commits:
commit 607ddbff466d145d0dcf87b2759c7e4d02b28f1d
Author: Marco Marinello <marinello at libreoffice.org>
AuthorDate: Fri May 8 12:34:48 2020 +0200
Commit: Samuel Mehrbrodt <Samuel.Mehrbrodt at 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 <marinello at libreoffice.org>
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/92665
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt at 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;
More information about the Libreoffice-commits
mailing list