#!/bin/bash # Copyright: 2023 Virtuozzo International GmbH # Licensed 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. [ -n "${NODEJSCOMMONENGINELIB_VERSION:-}" ] && return 0; NODEJSCOMMONENGINELIB_VERSION="0.1"; NODEJS010_DIR="/opt/jelastic-nodejs0.10"; NODEJS012_DIR="/opt/jelastic-nodejs0.12"; NODEJS42_DIR="/opt/jelastic-nodejs4.2"; NODEJS43_DIR="/opt/jelastic-nodejs4.3"; NODEJS45_DIR="/opt/jelastic-nodejs4.5"; NODEJS51_DIR="/opt/jelastic-nodejs5.1"; NODEJS56_DIR="/opt/jelastic-nodejs5.6"; NODEJS65_DIR="/opt/jelastic-nodejs6.5"; NODEJS_DEFAULT_CLI="/usr/bin/node"; NODEJS_DEFAULT_NMP="/usr/bin/npm"; function switchEngine(){ local engine_type=$1 case $engine_type in "nodejs0.10" ) local nodejs_dir=$NODEJS010_DIR; ;; "nodejs0.12" ) local nodejs_dir=$NODEJS012_DIR; ;; "nodejs4.2" ) local nodejs_dir=$NODEJS42_DIR; ;; "nodejs4.3" ) local nodejs_dir=$NODEJS43_DIR; ;; "nodejs4.5" ) local nodejs_dir=$NODEJS45_DIR; ;; "nodejs5.1" ) local nodejs_dir=$NODEJS51_DIR; ;; "nodejs5.6" ) local nodejs_dir=$NODEJS56_DIR; ;; "nodejs6.5" ) local nodejs_dir=$NODEJS65_DIR; ;; *) return 1 esac [ -d "$NODEJS010_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS010_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS012_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS012_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS42_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS42_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS43_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS43_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS45_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS45_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS51_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS51_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS56_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS56_DIR" 2>>"$JEM_CALLS_LOG"; [ -d "$NODEJS65_DIR" ] && chown -R ${DATA_OWNER} "$NODEJS65_DIR" 2>>"$JEM_CALLS_LOG"; nodejs_bin="${nodejs_dir}/bin/node"; [ -L "$NODEJS_DEFAULT_CLI" ] && rm "$NODEJS_DEFAULT_CLI"; [ -d "$nodejs_dir" ] && ln -sf "${nodejs_bin}" "$NODEJS_DEFAULT_CLI"; nodejs_npm="${nodejs_dir}/bin/npm"; ln -sf "../lib/node_modules/npm/bin/npm-cli.js" "$nodejs_npm"; [ -L "$NODEJS_DEFAULT_NMP" ] && rm "$NODEJS_DEFAULT_NMP"; [ -d "$nodejs_dir" ] && ln -sf "${nodejs_npm}" "$NODEJS_DEFAULT_NMP"; ln -sf "${nodejs_dir}/lib/node_modules/supervisor/lib/cli-wrapper.js" "/usr/bin/supervisor" restartServiceSilent $SERVICE; } function describeSetVersion(){ echo "\n\t\tset nodejs version"; }