blob: 75efaef0b5e788a32e1ab5a216e11b13e1e3e41b [file] [log] [blame]
#!/bin/bash
cd $(dirname $0)
export CDIR=${PWD}
# Initialization
if [ -f .env ]; then
. .env
else
echo -e " ERROR: .env NOT FOUND";
echo -e " ERROR: .env must be at the same location as $0";
exit 0;
fi;
LCI_PRINT_SEPARATOR
LCI_PRINT_HEADER "Running `basename $0`"
LCI_PRINT_SEPARATOR
LCI_PRINT_HEADER "Patch Global Platform testsuite"
LCI_PRINT_L1 "global platform package: ${CFG_GP_PACKAGE_PATH}"
LCI_PRINT_L1 "stm package: ${CFG_GP_XSL_PACKAGE_PATH}"
LCI_PRINT_L1 "GP api: ${CFG_GP_API}"
if [ $(basename ${CFG_GP_PACKAGE_PATH}) == "TEE_Initial_Configuration-Test_Suite_v1_1_0_4-2014_11_07" ]; then
LCI_PRINT_L1 "GP package $(basename ${CFG_GP_PACKAGE_PATH}) SUPPORTED"
else
LCI_FORCE_QUIT "$(basename ${CFG_GP_PACKAGE_PATH}) NOT SUPPORTED"
exit;
fi
LCI_PRINT_SEPARATOR
LCI_PRINT_L1 "Patch directories structure"
if [ ! -d ${CFG_GP_PACKAGE_PATH}/packages ]; then
LCI_PRINT_MSG "mkdir -p ${CFG_GP_PACKAGE_PATH}/packages"
mkdir -p ${CFG_GP_PACKAGE_PATH}/packages
fi
DIRLIST="ClientAPI Crypto DataStorage Time_Arithmetical TrustedCoreFw"
for dir in ${DIRLIST}
do
if [ -d ${CFG_GP_PACKAGE_PATH}/${dir} ]; then
LCI_PRINT_MSG "mv ${CFG_GP_PACKAGE_PATH}/${dir}"
LCI_PRINT_MSG "to ${CFG_GP_PACKAGE_PATH}/packages"
mv ${CFG_GP_PACKAGE_PATH}/${dir} \
${CFG_GP_PACKAGE_PATH}/packages
fi
done
LCI_PRINT_SEPARATOR
LCI_PRINT_L1 "Patch XML files"
declare -A ARRAY
function LCI_PATCHFILE () {
#printf "${LCI_MSG} | apply patch %-s\n" "${2}";
#printf "${LCI_MSG} | on %-s\n" "${1}";
if [ ! -e ${1}.orig ]; then
patch -N -b ${1} < ${2};
else
LCI_PRINT_WARNING "${1}.orig ALREADY EXISTS"
LCI_PRINT_WARNING "PATCH NOT APPLIED"
fi
}
function LCI_PATCH () {
LCI_PATCH_CHECKFILE ${1}
LCI_PATCH_CHECKFILE "${2}"
LCI_PATCHFILE ${1} ${2}
}
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/ClientAPI/xmlStable/TEE.xml"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/ClientAPI/xmlpatch/v1_1_0_4-2014_11_07/TEE.xml.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/Crypto/xmlStable/TEE_Crypto_API.xml"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/Crypto/xmlpatch/v1_1_0_4-2014_11_07/TEE_Crypto_API.xml.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/DataStorage/xmlStable/TEE_DataStorage_API.xml"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/DataStorage/xmlpatch/v1_1_0_4-2014_11_07/TEE_DataStorage_API.xml.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/Time_Arithmetical/xmlStable/TEE_TimeArithm_API.xml"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/Time_Arithmetical/xmlpatch/v1_1_0_4-2014_11_07/TEE_TimeArithm_API.xml.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/TrustedCoreFw/xmlStable/TEE_Internal_API.xml"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/TrustedCoreFw/xmlpatch/v1_1_0_4-2014_11_07/TEE_Internal_API.xml.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
LCI_PRINT_SEPARATOR
LCI_PRINT_L1 "Patch TTAs files"
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files/TTA_Arithmetical.c"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Arithmetical/code_patches/v1_1_0_4-2014_11_07/TTA_Arithmetical.c.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files/TTA_Arithmetical_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Arithmetical/code_patches/v1_1_0_4-2014_11_07/TTA_Arithmetical_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_check_OpenSession_with_4_parameters/code_files/TTA_check_OpenSession_with_4_parameters_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_check_OpenSession_with_4_parameters/code_patches/v1_1_0_4-2014_11_07/TTA_check_OpenSession_with_4_parameters_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_files/TTA_testingClientAPI_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_patches/v1_1_0_4-2014_11_07/TTA_testingClientAPI_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_files/TTA_answerSuccessTo_OpenSession_Invoke_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_patches/v1_1_0_4-2014_11_07/TTA_answerSuccessTo_OpenSession_Invoke_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_files/TTA_answerErrorTo_OpenSession_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_patches/v1_1_0_4-2014_11_07/TTA_answerErrorTo_OpenSession_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_files/TTA_answerErrorTo_Invoke_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_patches/v1_1_0_4-2014_11_07/TTA_answerErrorTo_Invoke_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Crypto/TTA_Crypto/code_files/TTA_Crypto.c"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Crypto/code_patches/v1_1_0_4-2014_11_07/TTA_Crypto.c.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Crypto/TTA_Crypto/code_files/TTA_Crypto_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Crypto/code_patches/v1_1_0_4-2014_11_07/TTA_Crypto_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_DS/TTA_DS/code_files/TTA_DS_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_DS/code_patches/v1_1_0_4-2014_11_07/TTA_DS_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_DS/TTA_DS/code_files/TTA_DS.c"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_DS/code_patches/v1_1_0_4-2014_11_07/TTA_DS.c.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TEE_include/tee_internal_api.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TEE_include/code_patches/v1_1_0_4-2014_11_07/tee_internal_api.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_ICA/code_files/TTA_TCF_ICA_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_ICA/code_patches/v1_1_0_4-2014_11_07/TTA_TCF_ICA_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_files/TTA_TCF_MultipleInstanceTA_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_patches/v1_1_0_4-2014_11_07/TTA_TCF_MultipleInstanceTA_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF/code_files/TTA_TCF.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF/code_patches/v1_1_0_4-2014_11_07/TTA_TCF.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_files/TTA_TCF_SingleInstanceTA_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_patches/v1_1_0_4-2014_11_07/TTA_TCF_SingleInstanceTA_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Time/TTA_Time/code_files/TTA_Time_protocol.h"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Time/code_patches/v1_1_0_4-2014_11_07/TTA_Time_protocol.h.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Time/TTA_Time/code_files/TTA_Time.c"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Time/code_patches/v1_1_0_4-2014_11_07/TTA_Time.c.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
LCI_PRINT_L1 "Patch HOST files"
cd ${CDIR}
if [ ${CFG_GP_TESTSUITE_ENABLE} == "y" ]; then
cd ${CDIR}
echo ${CDIR}
./enable_gp_testsuite.sh
# openssl .h file installation
if [ -d /usr/include/openssl ]; then
forgpdir=${OPTEE_TEST_ROOT}/host/xtest/for_gp/
mkdir -p ${forgpdir}/include/openssl ${forgpdir}/lib
[ -d /usr/include/x86_64-linux-gnu/openssl ] && LCI_CPD /usr/include/x86_64-linux-gnu/openssl ${forgpdir}/include
for f in /usr/include/openssl/*.h ; do
LCI_CPF $f ${forgpdir}/include/openssl
done
else
LCI_PRINT_WARNING "ERROR: '/usr/include/openssl' NOT FOUND"
exit;
fi;
fi
cd ${CDIR}
LCI_PRINT_L1 "Update test: 9238 (TEE_GetOperationInfoMultiple)"
ARRAY=(["FILE"]="${OPTEE_TEST_ROOT}/host/xtest/xtest_9000.c"
["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_9000.c.patch")
LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
LCI_PRINT_SEPARATOR
LCI_PRINT_SEPARATOR
LCI_PRINT_HEADER "`basename $0` finished";
LCI_PRINT_SEPARATOR