Current File : //usr/share/lve/modlscapi/include/cpanel-common-lve |
#!/bin/bash
# Copyright (c) Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved
#
# 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.
##################################################
# Common fucntions #
##################################################
VERSION="0.1beta"
common_path_of_cpanel="/usr/share/lve/modlscapi"
common_current_date=$(date +%Y-%m-%d)
common_tmp_path="$common_path_of_cpanel/tmp"
function getLogFile(){
if [ ! -e "$common_path_of_cpanel/logs" ];then
mkdir -p "$common_path_of_cpanel/logs"
fi
current_date_time=$(date +"%Y-%m-%d %k:%M:%S")
echo "$common_path_of_cpanel/logs/$common_current_date.log"
}
function writeToLog(){
if [ ! -e "$common_path_of_cpanel/logs" ];then
mkdir -p "$common_path_of_cpanel/logs"
fi
current_date_time=$(date +"%Y-%m-%d %k:%M:%S")
prg=$(basename "$0")
echo "[$current_date_time from $prg] $1" >> "$common_path_of_cpanel/logs/$common_current_date.log"
}
function writeFileToLog(){
if [ ! -e "$common_path_of_cpanel/logs" ];then
mkdir -p $common_path_of_cpanel/logs
fi
current_date_time=$(date +"%Y-%m-%d %k:%M:%S")
prg=$(basename "$0")
echo "[$current_date_time from $prg] ----------------File Content $1 BEG---------------" >> "$common_path_of_cpanel/logs/$common_current_date.log"
if [ -e "$1" ];then
cat "$1" >> "$common_path_of_cpanel/logs/$common_current_date.log"
fi
echo "[$current_date_time from $prg] ----------------File Content $1 End---------------" >> "$common_path_of_cpanel/logs/$common_current_date.log"
}
function checkForAppNameSyntax(){
isApache2_0syntax=$(echo "$1" | grep [,\;@])
if [ -n "$isApache2_0syntax" ];then
echo "$1" | cut -d',' -f 3 | tr '[:lower:]' '[:lower:]'
else
echo "$1"
fi
}
function removeEmptyStringsFromFile(){
filename="$1"
res=$(sed -e '/^$/d' "$filename")
echo "$res" > "$filename"
}
function deleteAllExcept(){
#1 - hook
#2 - tmp name
#3 - pattern
if [ ! -e "$common_tmp_path" ]; then
mkdir -p "$common_tmp_path"
fi
if [ -e "$1" ];then
cat "$1" | sed -n "$3" > "$common_tmp_path/$2.tmp.$$"
echo "#!/bin/bash" > "$1"
cat "$common_tmp_path/$2.tmp.$$" >> "$1"
rm -f "$common_tmp_path/$2.tmp.$$"
fi
}
function deleteAllInclude(){
#1 - hook
#2 - tmp name
#3 - pattern
if [ ! -e "$common_tmp_path" ]; then
mkdir -p "$common_tmp_path"
fi
if [ -e "$1" ];then
cat "$1" | sed "$3" > "$common_tmp_path/$2.tmp.$$"
cat "$common_tmp_path/$2.tmp.$$" > "$1"
rm -f "$common_tmp_path/$2.tmp.$$"
fi
}
function showBar {
nmb=$(cat "$0" | grep showBar | wc -l)
let "nmb = $nmb"
let "prct = $1 * 30 / $nmb"
let "prct_n = $1 * 100 / $nmb"
prg=$(basename "$0")
echo -n "$prg: [" >&2
for bar in {1..30}
do
if [ $bar -le $prct ];then
echo -n "#" >&2
else
echo -n " " >&2
fi
done
echo -ne "] ($prct_n%)\r" >&2
}
function get_command(){
command=$(which "$1")
if [ $? != 0 ]; then
writeToLog "Can't execute command $1..."
exit 1;
fi
echo "$command"
}
function cmakeSorce(){
CL7=$(uname -r | grep '\.el7')
PARAMS=""
if [ -n "$CL7" ]; then
PARAMS="-DWITH_CRIU:BOOLEAN=TRUE"
fi
cur=$(pwd)
log=$(getLogFile)
iscmake=$(get_command "cmake")
CMAKE_SRC=$common_tmp_path/tmpcmakesrc
if [ -e "$CMAKE_SRC" ];then
rm -rf "$CMAKE_SRC"
fi
mkdir -p $CMAKE_SRC
tar -zxvf "$1" -C $CMAKE_SRC >>$log
(cd "$CMAKE_SRC/$2"
"$iscmake" "$PARAMS" . 1>>$log 2>&1 && make 1>>$log 2>&1 && make install 1>>$log 2>&1)
makeproc=$?
rm -rf $CMAKE_SRC
cd "$cur"
return $makeproc
}
function installModule_lsapi(){
pathtosrc="$common_path_of_cpanel/tars/mod_lsapi.tar.gz"
cmakeSorce $pathtosrc ""
if [[ $? != 0 ]]; then
writeToLog "Linking error mod_lsapi.tar.gz"
exit 1
else
writeToLog "Module mod_lsapi compiled... Ok"
fi
if [ ! -e "/usr/local/apache/conf/conf.d" ];then
mkdir -p /usr/local/apache/conf/conf.d/
fi
if [ ! -e "/usr/local/apache/conf/conf.d/lsapi.conf" ];then
cp -f "$common_path_of_cpanel/confs/lsapi.conf" /usr/local/apache/conf/conf.d/lsapi.conf
fi
return 0
}