Files
2022-09-16 11:48:59 +08:00

93 lines
3.2 KiB
Bash

#!/bin/bash
# Perform PL/Java lib installation.
# Copyright (c) Huawei Technologies Co., Ltd. 2010-2018. All rights reserved.
# description: the script that make install pljava libs
# date: 2019-5-16
# modified:
# version: 1.0
# history:
WORK_PATH="$(dirname ${0})"
source "${WORK_PATH}/build_global.sh"
#######################################################################
# make patch md5sum for a new patch, make sure to
# run "diff -ruN old new > huawei_pljava.patch" to create one first
#######################################################################
function make_patch_md5()
{
md5sum huawei_pljava.patch | cut -d ' ' -f1 >> patch_ids.dat
}
#######################################################################
# Return whether the pljava folder matches the current patch
#######################################################################
function is_match_patch(){
if [ ! -d "${SOURCE_CODE_PATH}" ] || [ ! -f "tmp_id.dat" ]; then
return 0
fi
last_src_id="$(tail -n 1 patch_ids.dat | cut -d ' ' -f1)"
last_make_id="$(tail -n 1 tmp_id.dat | cut -d ' ' -f1)"
if [ "$last_make_id" = "$last_src_id" ]; then
return 1
else
return 0
fi
}
#######################################################################
# Decompression and do patch
#######################################################################
function do_patch(){
clean_component
patch -p1 < ../pljava.patch 2>&1
if [ $? -ne 0 ]; then
die "[Error] do plajva patch failed."
fi
}
#######################################################################
# build .so and dist
#######################################################################
function build_dist_so()
{
cd ${LOCAL_DIR}
# patch
do_patch
# build
# log "[Notice] pljava start configure"
cd ${LOCAL_DIR}/${SOURCE_CODE_PATH}
make pljava_so
if [ $? -ne 0 ]; then
die "pljava make failed."
fi
# log "[Notice] pljava End make"
# shark
mkdir -p ${LOCAL_DIR}/install_comm_dist/lib
cp ${LOCAL_DIR}/pljava-1_5_2/lib/* ${LOCAL_DIR}/install_comm_dist/lib -r
if [ $? -ne 0 ]; then
die "[Error] \"cp -r ${LOCAL_DIR}/lib/* ${LOCAL_DIR}/install_comm_dist\" failed."
fi
mkdir -p ${LOCAL_DIR}/install_llt_dist/lib
cp ${LOCAL_DIR}/pljava-1_5_2/lib/* ${LOCAL_DIR}/install_llt_dist/lib -r
if [ $? -ne 0 ]; then
die "[Error] \"cp -r ${LOCAL_DIR}/lib/* ${LOCAL_DIR}/install_llt_dist\" failed."
fi
# dist
if [ ! -d "${INSTALL_COMPONENT_PATH_NAME}/comm" ];then
die "[Error] Not found \"${INSTALL_COMPONENT_PATH_NAME}/comm/java/pljava.jar\". Please git pull. failed."
else
cp -r ${LOCAL_DIR}/install_comm_dist/* ${INSTALL_COMPONENT_PATH_NAME}/comm
fi
if [ ! -d "${INSTALL_COMPONENT_PATH_NAME}/llt" ];then
die "[Error] Not found \"${INSTALL_COMPONENT_PATH_NAME}/llt/java/pljava.jar\". Please git pull. failed."
else
cp -r ${LOCAL_DIR}/install_llt_dist/* ${INSTALL_COMPONENT_PATH_NAME}/llt
fi
if [ $? -ne 0 ]; then
die "[Error] \"cp pljava.so\" failed."
fi
cd ${LOCAL_DIR}
nowtime="$(date --date='0 days ago' "+%Y-%m-%d %H:%M:%S")"
make_id="$(tail -n 1 patch_ids.dat)"
echo "$make_id $nowtime" >> tmp_id.dat
}