mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 17:13:21 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #
 | |
| # 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"
 | |
| 
 |