mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
GUACAMOLE-374: Support absolutely all properties and extensions.
This commit is contained in:
99
guacamole-docker/build.d/020-download-drivers.sh
Normal file
99
guacamole-docker/build.d/020-download-drivers.sh
Normal file
@@ -0,0 +1,99 @@
|
||||
#
|
||||
# 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 030-download-drivers.sh
|
||||
##
|
||||
## Downloads all JDBC drivers required by the various supported databases. Each
|
||||
## downloaded driver is stored beneath /opt/guacamole/drivers, with symbolic
|
||||
## links added to the mappings beneath /opt/guacamole/environment to ensure any
|
||||
## required drivers are added to GUACAMOLE_HOME if necessary to support a
|
||||
## requested database.
|
||||
##
|
||||
|
||||
##
|
||||
## Downloads the JDBC driver at the given URL, storing the driver's .jar file
|
||||
## under the given name and environment variable prefix. The downloaded .jar
|
||||
## file is stored such that it is pulled into GUACAMOLE_HOME automatically if
|
||||
## environment variables with that prefix are used.
|
||||
##
|
||||
## If the URL is for a .tar.gz file and not a .jar file, the .jar will be
|
||||
## automatically extracted from the .tar.gz as it is downloaded.
|
||||
##
|
||||
## @param VAR_PREFIX
|
||||
## The environment variable prefix used by the extension that requires the
|
||||
## driver.
|
||||
##
|
||||
## @param URL
|
||||
## The URL that the driver should be downloaded from.
|
||||
##
|
||||
## @param DEST_JAR
|
||||
## The filename to assign to the downloaded .jar file. This is mainly
|
||||
## needed to ensure that the drivers bundled with the image have names that
|
||||
## are predictable and reliable enough that they can be consumed by
|
||||
## third-party use of this image.
|
||||
##
|
||||
download_driver() {
|
||||
|
||||
local VAR_PREFIX="$1"
|
||||
local URL="$2"
|
||||
local DEST_JAR="$3"
|
||||
|
||||
# Ensure primary destination path for .jar file exists
|
||||
local DEST_PATH="$DESTINATION/drivers/"
|
||||
mkdir -p "$DEST_PATH"
|
||||
|
||||
# Download requested .jar file, extracting from .tar.gz if necessary
|
||||
if [[ "$URL" == *.tar.gz ]]; then
|
||||
curl -L "$URL" | tar -xz \
|
||||
--wildcards \
|
||||
--no-anchored \
|
||||
--no-wildcards-match-slash \
|
||||
--to-stdout \
|
||||
"*.jar" > "$DEST_PATH/$DEST_JAR"
|
||||
else
|
||||
curl -L "$URL" > "$DEST_PATH/$DEST_JAR"
|
||||
fi
|
||||
|
||||
# Add any required link to ensure the .jar file is loaded along with the
|
||||
# extension that requires it
|
||||
mkdir -p "$DESTINATION/environment/$VAR_PREFIX/lib"
|
||||
ln -s "$DEST_PATH/$DEST_JAR" "$DESTINATION/environment/$VAR_PREFIX/lib/"
|
||||
|
||||
}
|
||||
|
||||
#
|
||||
# Download and link any required JDBC drivers
|
||||
#
|
||||
|
||||
# MySQL JDBC driver
|
||||
download_driver "MYSQL_" \
|
||||
"https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-j-$MYSQL_JDBC_VERSION.tar.gz" \
|
||||
"mysql-jdbc.jar"
|
||||
|
||||
# PostgreSQL JDBC driver
|
||||
download_driver "POSTGRESQL_" \
|
||||
"https://jdbc.postgresql.org/download/postgresql-$PGSQL_JDBC_VERSION.jar" \
|
||||
"postgresql-jdbc.jar"
|
||||
|
||||
# SQL Server JDBC driver
|
||||
download_driver "SQLSERVER_" \
|
||||
"https://github.com/microsoft/mssql-jdbc/releases/download/v$MSSQL_JDBC_VERSION/mssql-jdbc-$MSSQL_JDBC_VERSION.jre8.jar" \
|
||||
"mssql-jdbc.jar"
|
||||
|
Reference in New Issue
Block a user