GUACAMOLE-93: Build guacd-docker using parent guacamole-server source.
This commit is contained in:
parent
4326029984
commit
b6a988fcb1
@ -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
|
||||
|
@ -19,49 +19,37 @@
|
||||
#
|
||||
|
||||
##
|
||||
## @fn download-guacd.sh
|
||||
## @fn build-guacd.sh
|
||||
##
|
||||
## Downloads and builds the given version of guacamole-server, automatically
|
||||
## creating any required symbolic links for the proper loading of FreeRDP
|
||||
## plugins.
|
||||
## Builds the source 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".
|
||||
## @param BUILD_DIR
|
||||
## The directory which currently contains the guacamole-server source and
|
||||
## in which the build should be performed.
|
||||
##
|
||||
|
||||
VERSION="$1"
|
||||
BUILD_DIR="/tmp"
|
||||
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-devel | grep 'libfreerdp.*\.so' | head -n1`
|
||||
dirname `rpm -ql freerdp-libs | 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"
|
||||
cd "$BUILD_DIR"
|
||||
autoreconf -fi
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
ldconfig
|
||||
|
||||
#
|
||||
# Clean up after build
|
||||
#
|
||||
|
||||
rm -Rf "$BUILD_DIR/guacamole-server-$VERSION"
|
||||
|
||||
#
|
||||
# Add FreeRDP plugins to proper path
|
||||
#
|
Loading…
Reference in New Issue
Block a user