GUACAMOLE-407: Update Docker image to use more recent packages by switching to 
Ubuntu.


Project: http://git-wip-us.apache.org/repos/asf/guacamole-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/guacamole-server/commit/72638aa0
Tree: http://git-wip-us.apache.org/repos/asf/guacamole-server/tree/72638aa0
Diff: http://git-wip-us.apache.org/repos/asf/guacamole-server/diff/72638aa0

Branch: refs/heads/master
Commit: 72638aa03ecbf9d1b141ec271f2c7858488254fe
Parents: 3516704
Author: Michael Jumper <mjum...@apache.org>
Authored: Thu Feb 8 12:40:15 2018 -0800
Committer: Michael Jumper <mjum...@apache.org>
Committed: Sun Apr 1 21:16:38 2018 -0700

----------------------------------------------------------------------
 Dockerfile | 121 ++++++++++++++++++++++++++++++++++++--------------------
 1 file changed, 79 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/guacamole-server/blob/72638aa0/Dockerfile
----------------------------------------------------------------------
diff --git a/Dockerfile b/Dockerfile
index 21b98d8..3e55dc1 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -22,9 +22,9 @@
 #
 
 
-# Use CentOS as base for the build
-ARG CENTOS_VERSION=centos7
-FROM centos:${CENTOS_VERSION} AS builder
+# Use Ubuntu as base for the build
+ARG UBUNTU_VERSION=xenial
+FROM ubuntu:${UBUNTU_VERSION} AS builder
 
 # Base directory for installed build artifacts.
 # Due to limitations of the Docker image build process, this value is
@@ -37,29 +37,28 @@ ARG BUILD_DIR=/tmp/guacd-docker-BUILD
 ARG BUILD_DEPENDENCIES="              \
         autoconf                      \
         automake                      \
-        cairo-devel                   \
-        freerdp-devel                 \
         gcc                           \
-        libjpeg-turbo-devel           \
-        libssh2-devel                 \
+        libcairo2-dev                 \
+        libfreerdp-dev                \
+        libjpeg-turbo8-dev            \
+        libossp-uuid-dev              \
+        libpango1.0-dev               \
+        libpulse-dev                  \
+        libssh2-1-dev                 \
+        libssl-dev                    \
+        libtelnet-dev                 \
         libtool                       \
-        libtelnet-devel               \
-        libvorbis-devel               \
-        libvncserver-devel            \
-        libwebp-devel                 \
-        make                          \
-        pango-devel                   \
-        pulseaudio-libs-devel         \
-        uuid-devel"
+        libvncserver-dev              \
+        libwebp-dev                   \
+        make"
 
 # Build time environment
 ENV LC_ALL=en_US.UTF-8
 
 # Bring build environment up to date and install build dependencies
-RUN yum -y update                        && \
-    yum -y install epel-release          && \
-    yum -y install $BUILD_DEPENDENCIES   && \
-    yum clean all
+RUN apt-get update                         && \
+    apt-get install -y $BUILD_DEPENDENCIES && \
+    rm -rf /var/lib/apt/lists/*
 
 # Add configuration scripts
 COPY src/guacd-docker/bin /opt/guacd/bin/
@@ -70,8 +69,8 @@ COPY . "$BUILD_DIR"
 # Build guacamole-server from local source
 RUN /opt/guacd/bin/build-guacd.sh "$BUILD_DIR" "$PREFIX_DIR"
 
-# Use same CentOS as the base for the runtime image
-FROM centos:${CENTOS_VERSION}
+# Use same Ubuntu as the base for the runtime image
+FROM ubuntu:${UBUNTU_VERSION}
 
 # Base directory for installed build artifacts.
 # Due to limitations of the Docker image build process, this value is
@@ -85,36 +84,74 @@ ENV LC_ALL=en_US.UTF-8
 ENV GUACD_LOG_LEVEL=info
 
 ARG RUNTIME_DEPENDENCIES="            \
-        cairo                         \
-        dejavu-sans-mono-fonts        \
-        freerdp                       \
-        freerdp-plugins               \
         ghostscript                   \
-        libjpeg-turbo                 \
-        libssh2                       \
-        liberation-mono-fonts         \
-        libtelnet                     \
-        libvorbis                     \
-        libvncserver                  \
-        libwebp                       \
-        pango                         \
-        pulseaudio-libs               \
-        terminus-fonts                \
-        uuid"
+        libcairo2                     \
+        fonts-liberation              \
+        fonts-dejavu                  \
+        libfreerdp-cache1.1           \
+        libfreerdp-client1.1          \
+        libfreerdp-codec1.1           \
+        libfreerdp-common1.1.0        \
+        libfreerdp-core1.1            \
+        libfreerdp-crypto1.1          \
+        libfreerdp-gdi1.1             \
+        libfreerdp-locale1.1          \
+        libfreerdp-plugins-standard   \
+        libfreerdp-primitives1.1      \
+        libfreerdp-rail1.1            \
+        libfreerdp-utils1.1           \
+        libjpeg-turbo8                \
+        libossp-uuid16                \
+        libpango1.0                   \
+        libpulse0                     \
+        libssh2-1                     \
+        libssl1.0.0                   \
+        libtelnet2                    \
+        libvncclient1                 \
+        libwebp5                      \
+        libwinpr-asn1-0.1             \
+        libwinpr-bcrypt0.1            \
+        libwinpr-credentials0.1       \
+        libwinpr-credui0.1            \
+        libwinpr-crt0.1               \
+        libwinpr-crypto0.1            \
+        libwinpr-dsparse0.1           \
+        libwinpr-environment0.1       \
+        libwinpr-error0.1             \
+        libwinpr-file0.1              \
+        libwinpr-handle0.1            \
+        libwinpr-heap0.1              \
+        libwinpr-input0.1             \
+        libwinpr-interlocked0.1       \
+        libwinpr-io0.1                \
+        libwinpr-library0.1           \
+        libwinpr-path0.1              \
+        libwinpr-pipe0.1              \
+        libwinpr-pool0.1              \
+        libwinpr-registry0.1          \
+        libwinpr-rpc0.1               \
+        libwinpr-sspi0.1              \
+        libwinpr-sspicli0.1           \
+        libwinpr-synch0.1             \
+        libwinpr-sysinfo0.1           \
+        libwinpr-thread0.1            \
+        libwinpr-timezone0.1          \
+        libwinpr-utils0.1             \
+        libwinpr-winhttp0.1           \
+        libwinpr-winsock0.1           \
+        xfonts-terminus"
 
 # Bring runtime environment up to date and install runtime dependencies
-RUN yum -y update                          && \
-    yum -y install epel-release            && \
-    yum -y install $RUNTIME_DEPENDENCIES   && \
-    yum clean all                          && \
-    rm -rf /var/cache/yum
+RUN apt-get update                           && \
+    apt-get install -y $RUNTIME_DEPENDENCIES && \
+    rm -rf /var/lib/apt/lists/*
 
 # Copy build artifacts into this stage
 COPY --from=builder ${PREFIX_DIR} ${PREFIX_DIR}
 
 # Link FreeRDP plugins into proper path
 RUN FREERDP_DIR=$(dirname \
-        $(rpm -ql freerdp-libs | grep 'libfreerdp.*\.so' | head -n1)) && \
+        $(dpkg-query -L libfreerdp | grep 'libfreerdp.*\.so' | head -n1)) && \
     FREERDP_PLUGIN_DIR="${FREERDP_DIR}/freerdp" && \
     mkdir -p "$FREERDP_PLUGIN_DIR" && \
     ln -s "$PREFIX_DIR"/lib/freerdp/*.so "$FREERDP_PLUGIN_DIR"

Reply via email to