168 lines
5.6 KiB
Bash
Executable File
168 lines
5.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright (c) Huawei Technologies Co., Ltd. 2010-2022. All rights reserved.
|
|
# date: 2020-12-22
|
|
# version: 1.0
|
|
|
|
SRC_CODE="here will be change by cmake"
|
|
TO_DEST="here will be change by cmake"
|
|
|
|
DO_CMD=$1
|
|
|
|
function build_timezone()
|
|
{
|
|
export LD_LIBRARY_PATH=$1:$LD_LIBRARY_PATH
|
|
echo LD_LIBRARY_PATH:${LD_LIBRARY_PATH}
|
|
ZIC_CMD="${CMAKE_BUILD_PATH}/zic"
|
|
TIMEZONE_DATA_PATH=${TRUNK_CODE_PATH}
|
|
$($CMAKE_BUILD_PATH/zic -d $CMAKE_BUILD_PATH/timezone -p 'US/Eastern' $TIMEZONE_DATA_PATH/africa $TIMEZONE_DATA_PATH/antarctica $TIMEZONE_DATA_PATH/asia $TIMEZONE_DATA_PATH/australasia $TIMEZONE_DATA_PATH/europe $TIMEZONE_DATA_PATH/northamerica $TIMEZONE_DATA_PATH/southamerica $TIMEZONE_DATA_PATH/pacificnew $TIMEZONE_DATA_PATH/etcetera $TIMEZONE_DATA_PATH/factory $TIMEZONE_DATA_PATH/backward $TIMEZONE_DATA_PATH/systemv $TIMEZONE_DATA_PATH/solar87 $TIMEZONE_DATA_PATH/solar88 $TIMEZONE_DATA_PATH/solar89)
|
|
}
|
|
|
|
function export_ldpath()
|
|
{
|
|
export LD_LIBRARY_PATH=$2:$LD_LIBRARY_PATH
|
|
}
|
|
|
|
|
|
function create_conversionfile()
|
|
{
|
|
sqlin=$(cat ${OPENGS_TOP_PATH}/src/common/backend/utils/mb/conversion_procs/conversion_create.sql.in)
|
|
set $sqlin
|
|
while [ "$#" -gt 0 ] ;
|
|
do
|
|
name=$1;shift;
|
|
se=$1;shift;
|
|
de=$1; shift;
|
|
func=$1; shift;
|
|
obj=$1; shift;
|
|
echo "-- $se --> $de";
|
|
echo "CREATE OR REPLACE FUNCTION $func (INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) RETURNS VOID AS '\$libdir/$obj', '$func' LANGUAGE C STRICT NOT FENCED;";
|
|
echo "COMMENT ON FUNCTION $func(INTEGER, INTEGER, CSTRING, INTERNAL, INTEGER) IS 'internal conversion function for $se to $de';";
|
|
echo "DROP CONVERSION pg_catalog.$name;";
|
|
echo "CREATE DEFAULT CONVERSION pg_catalog.$name FOR '$se' TO '$de' FROM $func;";
|
|
echo "COMMENT ON CONVERSION pg_catalog.$name IS 'conversion for $se to $de';";
|
|
done > $CMAKE_BUILD_PATH/conversion_create.sql
|
|
}
|
|
|
|
function create_snowballfile()
|
|
{
|
|
sqlin=$(cat ${OPENGS_TOP_PATH}/src/common/backend/snowball/snowball.sql.in)
|
|
echo '-- Language-specific snowball dictionaries' > $CMAKE_BUILD_PATH/snowball_create.sql
|
|
cat ${OPENGS_TOP_PATH}/src/common/backend/snowball/snowball_func.sql.in >> $CMAKE_BUILD_PATH/snowball_create.sql
|
|
LANGUAGES="
|
|
danish danish
|
|
dutch dutch
|
|
english english
|
|
finnish finnish
|
|
french french
|
|
german german
|
|
hungarian hungarian
|
|
italian italian
|
|
norwegian norwegian
|
|
portuguese portuguese
|
|
romanian romanian
|
|
russian english
|
|
spanish spanish
|
|
swedish swedish
|
|
turkish turkish
|
|
"
|
|
|
|
set $LANGUAGES
|
|
while [ "$#" -gt 0 ] ;
|
|
do
|
|
lang=$1; shift;
|
|
nonascdictname=$lang;
|
|
ascdictname=$1; shift;
|
|
if [ -s "${OPENGS_TOP_PATH}/src/common/backend/snowball/stopwords/${lang}.stop" ] ; then
|
|
stop=", StopWords=${lang}" ;
|
|
else
|
|
stop="";
|
|
fi;
|
|
echo "$sqlin" |
|
|
sed -e "s#_LANGNAME_#$lang#g" |
|
|
sed -e "s#_DICTNAME_#${lang}_stem#g" |
|
|
sed -e "s#_CFGNAME_#${lang}#g" |
|
|
sed -e "s#_ASCDICTNAME_#${ascdictname}_stem#g" |
|
|
sed -e "s#_NONASCDICTNAME_#${nonascdictname}_stem#g" |
|
|
sed -e "s#_STOPWORDS_#${stop}#g" ;
|
|
done >> $CMAKE_BUILD_PATH/snowball_create.sql
|
|
}
|
|
|
|
function runscript()
|
|
{
|
|
if [ ! "X$1" = "X" ]; then
|
|
eval $1
|
|
echo "$1" >> $CMAKE_BUILD_PATH/runscript.log
|
|
fi
|
|
if [ ! "X$2" = "X" ]; then
|
|
eval $2
|
|
echo "$2" >> $CMAKE_BUILD_PATH/runscript.log
|
|
fi
|
|
if [ ! "X$3" = "X" ]; then
|
|
eval $3
|
|
echo "$3" >> $CMAKE_BUILD_PATH/runscript.log
|
|
fi
|
|
if [ ! "X$4" = "X" ]; then
|
|
eval $4
|
|
echo "$4" >> $CMAKE_BUILD_PATH/runscript.log
|
|
fi
|
|
}
|
|
|
|
function get_gs_version()
|
|
{
|
|
cd $1
|
|
csv_version=$(git log | grep commit | head -1 | awk '{print $2}' | cut -b 1-8)
|
|
commits=$(git log | grep "See merge request" | wc -l)
|
|
mrid=$(git log | grep "See merge request" | head -1 | awk -F! '{print $2}' | grep -o '[0-9]\+')
|
|
debug_str="$DEBUG_TYPE"
|
|
product=$(cat build/script/gaussdb.ver | grep 'PRODUCT' | awk -F "=" '{print $2}')
|
|
version=$(cat build/script/gaussdb.ver | grep 'VERSION' | awk -F "=" '{print $2}')
|
|
if [ "${ENABLE_LITE_MODE}" == "ON" ]; then
|
|
product="$product-lite"
|
|
fi
|
|
if test "$enable_ccache" = yes; then
|
|
default_gs_version="(${product} ${version} build 1f1f1f1f) compiled at 2100-00-00 00:00:00 commit 9999 last mr 9999 debug"
|
|
else
|
|
date_time=$(date -d today +"%Y-%m-%d %H:%M:%S")
|
|
default_gs_version="(${product} ${version} build ${csv_version}) compiled at $date_time commit $commits last mr $mrid $debug_str"
|
|
fi
|
|
printf "${default_gs_version}"
|
|
}
|
|
|
|
function get_time_for_roach()
|
|
{
|
|
tmp=$(date +'%d %b %Y %H:%M:%S')
|
|
printf "${tmp}"
|
|
}
|
|
|
|
#These only used for *check cmd.
|
|
TRUNK_CODE_PATH=$2
|
|
CMAKE_BUILD_PATH=$3
|
|
INSTALLED_PATH=$4
|
|
ENABLE_MEMORY_CHECK=""
|
|
MAKE_PROGRAM=$6
|
|
|
|
OPENGS_TOP_PATH=${TRUNK_CODE_PATH}/${openGauss}
|
|
|
|
case "${DO_CMD}" in
|
|
--build_timezone|build_timezone)
|
|
build_timezone $5 ;;
|
|
--export_ldpath|export_ldpath)
|
|
export_ldpath $2;;
|
|
--create_conversionfile|conversion)
|
|
create_conversionfile ;;
|
|
--create_snowballfile|snowball)
|
|
create_snowballfile ;;
|
|
--get_gs_versionstr|--s)
|
|
get_gs_version "$2";;
|
|
--get_time_for_roach)
|
|
get_time_for_roach ;;
|
|
--runscript*|runscript)
|
|
runscript "$4" "$5" "$6" "$7" ;;
|
|
--build-package*|package*|--p)
|
|
cd ${TRUNK_CODE_PATH}/Build/Script && ./mpp_package_cmake.sh -i ${INSTALLED_PATH} -m;;
|
|
|
|
*)
|
|
echo "no $1: after you add cmd in cmake, then add response function in buildfunction.sh" ;;
|
|
esac
|
|
|