Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id F3764200B6C for ; Sun, 28 Aug 2016 23:56:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id F21F4160AC7; Sun, 28 Aug 2016 21:56:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 27676160AA6 for ; Sun, 28 Aug 2016 23:56:06 +0200 (CEST) Received: (qmail 47693 invoked by uid 500); 28 Aug 2016 21:56:05 -0000 Mailing-List: contact commits-help@guacamole.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@guacamole.incubator.apache.org Delivered-To: mailing list commits@guacamole.incubator.apache.org Received: (qmail 47677 invoked by uid 99); 28 Aug 2016 21:56:05 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 28 Aug 2016 21:56:05 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id F09C71A0CC4 for ; Sun, 28 Aug 2016 21:56:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.646 X-Spam-Level: X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id 1_kA6KT2KpiV for ; Sun, 28 Aug 2016 21:56:03 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with SMTP id 7C2195F307 for ; Sun, 28 Aug 2016 21:56:02 +0000 (UTC) Received: (qmail 47656 invoked by uid 99); 28 Aug 2016 21:56:02 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 28 Aug 2016 21:56:02 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id E4CD6E0E06; Sun, 28 Aug 2016 21:56:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jmuehlner@apache.org To: commits@guacamole.incubator.apache.org Date: Sun, 28 Aug 2016 21:56:01 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/3] incubator-guacamole-server git commit: GUACAMOLE-93: Build guacd-docker using parent guacamole-server source. archived-at: Sun, 28 Aug 2016 21:56:07 -0000 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 Authored: Fri Aug 26 12:56:41 2016 -0700 Committer: Michael Jumper 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 # 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" -