guacamole-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jmuehl...@apache.org
Subject [1/3] incubator-guacamole-server git commit: GUACAMOLE-93: Build guacd-docker using parent guacamole-server source.
Date Sun, 28 Aug 2016 21:56:01 GMT
Repository: incubator-guacamole-server
Updated Branches:
  refs/heads/master 432602998 -> 701e44a0c


GUACAMOLE-93: Build guacd-docker using parent guacamole-server source.


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

Branch: refs/heads/master
Commit: b6a988fcb189655946cacda5fcf655d2b10e422d
Parents: 4326029
Author: Michael Jumper <mjumper@apache.org>
Authored: Fri Aug 26 12:56:41 2016 -0700
Committer: Michael Jumper <mjumper@apache.org>
Committed: Fri Aug 26 14:37:58 2016 -0700

----------------------------------------------------------------------
 src/guacd-docker/Dockerfile            | 78 ++++++++++++++++++-----------
 src/guacd-docker/bin/build-guacd.sh    | 62 +++++++++++++++++++++++
 src/guacd-docker/bin/download-guacd.sh | 74 ---------------------------
 3 files changed, 112 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/blob/b6a988fc/src/guacd-docker/Dockerfile
----------------------------------------------------------------------
diff --git a/src/guacd-docker/Dockerfile b/src/guacd-docker/Dockerfile
index c045166..adbccd3 100644
--- a/src/guacd-docker/Dockerfile
+++ b/src/guacd-docker/Dockerfile
@@ -27,39 +27,61 @@ MAINTAINER Michael Jumper <mike.jumper@guac-dev.org>
 
 # Environment variables
 ENV \
-    GUAC_VERSION=0.9.9 \
-    LC_ALL=en_US.UTF-8
+    BUILD_DIR=/tmp/guacd-docker-BUILD \
+    LC_ALL=en_US.UTF-8                \
+    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"                         \
+    BUILD_DEPENDENCIES="              \
+        autoconf                      \
+        automake                      \
+        cairo-devel                   \
+        freerdp-devel                 \
+        gcc                           \
+        libjpeg-turbo-devel           \
+        libssh2-devel                 \
+        libtool                       \
+        libtelnet-devel               \
+        libvorbis-devel               \
+        libvncserver-devel            \
+        libwebp-devel                 \
+        make                          \
+        pango-devel                   \
+        pulseaudio-libs-devel         \
+        uuid-devel"
 
-# Bring environment up-to-date, install guacamole-server build dependencies
-RUN yum -y update i             && \
-    yum -y install epel-release && \
-    yum -y install             \
-        cairo-devel            \
-        dejavu-sans-mono-fonts \
-        freerdp-devel          \
-        freerdp-plugins        \
-        gcc                    \
-        ghostscript            \
-        libjpeg-turbo-devel    \
-        libssh2-devel          \
-        liberation-mono-fonts  \
-        libtelnet-devel        \
-        libvorbis-devel        \
-        libvncserver-devel     \
-        libwebp-devel          \
-        make                   \
-        pango-devel            \
-        pulseaudio-libs-devel  \
-        tar                    \
-        terminus-fonts         \
-        uuid-devel              && \
+# Bring environment up-to-date and install guacamole-server dependencies
+RUN yum -y update                        && \
+    yum -y install epel-release          && \
+    yum -y install $RUNTIME_DEPENDENCIES && \
     yum clean all
 
 # Add configuration scripts
-COPY bin /opt/guacd/bin/
+COPY src/guacd-docker/bin /opt/guacd/bin/
 
-# Download and install latest guacamole-server
-RUN /opt/guacd/bin/download-guacd.sh "$GUAC_VERSION"
+# Copy source to container for sake of build
+COPY . "$BUILD_DIR"
+
+# Build guacamole-server from local source
+RUN yum -y install $BUILD_DEPENDENCIES         && \
+    /opt/guacd/bin/build-guacd.sh "$BUILD_DIR" && \
+    rm -Rf "$BUILD_DIR"                        && \
+    yum -y autoremove $BUILD_DEPENDENCIES      && \
+    yum clean all
 
 # Start guacd, listening on port 0.0.0.0:4822
 EXPOSE 4822

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/blob/b6a988fc/src/guacd-docker/bin/build-guacd.sh
----------------------------------------------------------------------
diff --git a/src/guacd-docker/bin/build-guacd.sh b/src/guacd-docker/bin/build-guacd.sh
new file mode 100755
index 0000000..fe36268
--- /dev/null
+++ b/src/guacd-docker/bin/build-guacd.sh
@@ -0,0 +1,62 @@
+#!/bin/sh -e
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+##
+## @fn build-guacd.sh
+##
+## Builds the source of guacamole-server, automatically creating any required
+## symbolic links for the proper loading of FreeRDP plugins.
+##
+## @param BUILD_DIR
+##     The directory which currently contains the guacamole-server source and
+##     in which the build should be performed.
+##
+
+BUILD_DIR="$1"
+
+##
+## Locates the directory in which the FreeRDP libraries (.so files) are
+## located, printing the result to STDOUT.
+##
+where_is_freerdp() {
+    dirname `rpm -ql freerdp-libs | grep 'libfreerdp.*\.so' | head -n1`
+}
+
+#
+# Build guacamole-server
+#
+
+cd "$BUILD_DIR"
+autoreconf -fi
+./configure
+make
+make install
+ldconfig
+
+#
+# Add FreeRDP plugins to proper path
+#
+
+FREERDP_DIR=`where_is_freerdp`
+FREERDP_PLUGIN_DIR="$FREERDP_DIR/freerdp"
+
+mkdir -p "$FREERDP_PLUGIN_DIR"
+ln -s /usr/local/lib/freerdp/*.so "$FREERDP_PLUGIN_DIR"
+

http://git-wip-us.apache.org/repos/asf/incubator-guacamole-server/blob/b6a988fc/src/guacd-docker/bin/download-guacd.sh
----------------------------------------------------------------------
diff --git a/src/guacd-docker/bin/download-guacd.sh b/src/guacd-docker/bin/download-guacd.sh
deleted file mode 100755
index 638b276..0000000
--- a/src/guacd-docker/bin/download-guacd.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/bin/sh -e
-#
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-##
-## @fn download-guacd.sh
-##
-## Downloads and builds the given version of guacamole-server, automatically
-## creating any required symbolic links for the proper loading of FreeRDP
-## plugins.
-##
-## @param VERSION
-##     The version of guacamole-server to download, such as "0.9.6".
-##
-
-VERSION="$1"
-BUILD_DIR="/tmp"
-
-##
-## Locates the directory in which the FreeRDP libraries (.so files) are
-## located, printing the result to STDOUT.
-##
-where_is_freerdp() {
-    dirname `rpm -ql freerdp-devel | grep 'libfreerdp.*\.so' | head -n1`
-}
-
-#
-# Download latest guacamole-server
-#
-
-curl -L "http://sourceforge.net/projects/guacamole/files/current/source/guacamole-server-$VERSION.tar.gz"
| tar -xz -C "$BUILD_DIR"
-
-#
-# Build guacamole-server
-#
-
-cd "$BUILD_DIR/guacamole-server-$VERSION"
-./configure
-make
-make install
-ldconfig
-
-#
-# Clean up after build
-#
-
-rm -Rf "$BUILD_DIR/guacamole-server-$VERSION"
-
-#
-# Add FreeRDP plugins to proper path
-#
-
-FREERDP_DIR=`where_is_freerdp`
-FREERDP_PLUGIN_DIR="$FREERDP_DIR/freerdp"
-
-mkdir -p "$FREERDP_PLUGIN_DIR"
-ln -s /usr/local/lib/freerdp/*.so "$FREERDP_PLUGIN_DIR"
-


Mime
View raw message