#!/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 "${PYTHONCOMMONENGINELIB_VERSION:-}" ] && return 0; PYTHONCOMMONENGINELIB_VERSION="0.1"; PYTHON27_DIR="/opt/jelastic-python27"; PYTHON33_DIR="/opt/jelastic-python33"; PYTHON34_DIR="/opt/jelastic-python34"; PYTHON35_DIR="/opt/jelastic-python35"; PYTHON_DEFAULT_CLI="/usr/bin/python"; PYTHON_DEFAULT_CONFIG="/usr/bin/python-config"; PYTHON_DEFAULT_PIP="/usr/bin/pip"; PYTHON_VIRTUALENV="/usr/bin/virtualenv"; WSGI_MODULE="/etc/httpd/modules/mod_wsgi.so"; $PROGRAM 'sed'; function switchEngine(){ local engine_type=$1 case $engine_type in "python2.7" ) local python_dir=$PYTHON27_DIR; ;; "python3.3" ) local python_dir=$PYTHON33_DIR; ;; "python3.4" ) local python_dir=$PYTHON34_DIR; ;; "python3.5" ) local python_dir=$PYTHON35_DIR; ;; *) return 1 esac [ -f /usr/bin/python2.6 ] && $SED -i 's/^#!\/usr\/bin\/python$/#!\/usr\/bin\/python2.6/g' /usr/bin/yum #YUM hack for Centos6; [ -f /usr/bin/python2.7 ] && $SED -i 's/^#!\/usr\/bin\/python$/#!\/usr\/bin\/python2.7/g' /usr/bin/yum && $SED -i 's/^#! \/usr\/bin\/python$/#! \/usr\/bin\/python2.7/g' /usr/libexec/urlgrabber-ext-down #YUM hack for Centos7; chown -R ${DATA_OWNER} "$PYTHON27_DIR" 2>>"$JEM_CALLS_LOG"; chown -R ${DATA_OWNER} "$PYTHON33_DIR" 2>>"$JEM_CALLS_LOG"; chown -R ${DATA_OWNER} "$PYTHON34_DIR" 2>>"$JEM_CALLS_LOG"; chown -R ${DATA_OWNER} "$PYTHON35_DIR" 2>>"$JEM_CALLS_LOG"; python_bin=$(set +f;ls -1 ${python_dir}/bin/pytho* | head -n 1) [ -L "$PYTHON_DEFAULT_CLI" ] && rm "$PYTHON_DEFAULT_CLI"; [ -d "$python_dir" ] && ln -sf "${python_bin}" "$PYTHON_DEFAULT_CLI"; python_pip=$(set +f;ls -1 ${python_dir}/bin/pip* | head -n 1) [ -L "$PYTHON_DEFAULT_PIP" ] && rm "$PYTHON_DEFAULT_PIP"; [ -d "$python_dir" ] && ln -sf "${python_pip}" "$PYTHON_DEFAULT_PIP"; python_virtualenv="${python_dir}/bin/virtualenv"; [ -f "$python_virtualenv" ] && ln -sf "$python_virtualenv" "$PYTHON_VIRTUALENV"; [ -L "$PYTHON_DEFAULT_CONFIG" ] && rm "$PYTHON_DEFAULT_CONFIG"; [ -d "$python_dir" ] && ln -sf "${python_dir}/bin/python-config" "$PYTHON_DEFAULT_CONFIG"; echo "${python_dir}/lib" >> /etc/ld.so.conf.d/jeastic_python.conf && ldconfig > /dev/null 2>&1; [ -L "$WSGI_MODULE" ] && rm $WSGI_MODULE; [ -f "${python_dir}/httpd/modules/mod_wsgi.so" ] && ln -sf "${python_dir}/httpd/modules/mod_wsgi.so" $WSGI_MODULE; } function describeSetVersion(){ echo "\n\t\tset python version"; }