Pascal Brand | c639ac8 | 2015-07-02 08:53:34 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | cd $(dirname $0) |
| 4 | export CDIR=${PWD} |
| 5 | |
| 6 | # Initialization |
| 7 | if [ -f .env ]; then |
| 8 | . .env |
| 9 | else |
| 10 | echo -e " ERROR: .env NOT FOUND"; |
| 11 | echo -e " ERROR: .env must be at the same location as $0"; |
| 12 | exit 0; |
| 13 | fi; |
| 14 | |
| 15 | if [ ${CFG_GP_TESTSUITE_ENABLE} == "y" ]; then |
| 16 | cd ${CDIR} |
| 17 | echo ${CDIR} |
| 18 | ./enable_gp_testsuite.sh |
| 19 | |
| 20 | # openssl .h file installation |
| 21 | if [ -d /usr/include/openssl ]; then |
| 22 | forgpdir=${CFG_DEV_PATH}/optee_test/host/xtest/for_gp/ |
| 23 | mkdir -p ${forgpdir}/include/openssl ${forgpdir}/lib |
| 24 | [ -d /usr/include/x86_64-linux-gnu/openssl ] && LCI_CPD /usr/include/x86_64-linux-gnu/openssl ${forgpdir}/include |
| 25 | for f in /usr/include/openssl/*.h ; do |
| 26 | LCI_CPF $f ${forgpdir}/include/openssl |
| 27 | done |
| 28 | else |
| 29 | LCI_PRINT_WARNING "ERROR: '/usr/include/openssl' NOT FOUND" |
| 30 | exit; |
| 31 | fi; |
| 32 | |
| 33 | if [ "${CFG_ARM32}" = "y" ]; then |
| 34 | LCI_CPF ${CFG_DEV_PATH}/optee_test/host/lib/armv7/libcrypto.a ${forgpdir}/lib |
| 35 | else |
| 36 | LCI_CPF ${CFG_DEV_PATH}/optee_test/host/lib/armv8/libcrypto.a ${forgpdir}/lib |
| 37 | fi |
| 38 | fi |
| 39 | |
| 40 | LCI_PRINT_SEPARATOR |
| 41 | LCI_PRINT_HEADER "Running `basename $0`" |
| 42 | LCI_PRINT_SEPARATOR |
| 43 | LCI_PRINT_HEADER "Patch Global Platform testsuite" |
| 44 | LCI_PRINT_L1 "global platform package: ${CFG_GP_PACKAGE_PATH}" |
| 45 | LCI_PRINT_L1 "stm package: ${CFG_GP_XSL_PACKAGE_PATH}" |
| 46 | LCI_PRINT_L1 "GP api: ${CFG_GP_API}" |
| 47 | |
| 48 | if [ $(basename ${CFG_GP_PACKAGE_PATH}) == "TEE_Initial_Configuration-Test_Suite_v1_1_0_4-2014_11_07" ]; then |
| 49 | LCI_PRINT_L1 "GP package $(basename ${CFG_GP_PACKAGE_PATH}) SUPPORTED" |
| 50 | |
| 51 | |
| 52 | else |
| 53 | LCI_FORCE_QUIT "$(basename ${CFG_GP_PACKAGE_PATH}) NOT SUPPORTED" |
| 54 | exit; |
| 55 | |
| 56 | fi |
| 57 | |
| 58 | |
| 59 | LCI_PRINT_SEPARATOR |
| 60 | LCI_PRINT_L1 "Patch directories structure" |
| 61 | if [ ! -d ${CFG_GP_PACKAGE_PATH}/packages ]; then |
| 62 | LCI_PRINT_MSG "mkdir -p ${CFG_GP_PACKAGE_PATH}/packages" |
| 63 | mkdir -p ${CFG_GP_PACKAGE_PATH}/packages |
| 64 | fi |
| 65 | |
| 66 | DIRLIST="ClientAPI Crypto DataStorage Time_Arithmetical TrustedCoreFw" |
| 67 | for dir in ${DIRLIST} |
| 68 | do |
| 69 | if [ -d ${CFG_GP_PACKAGE_PATH}/${dir} ]; then |
| 70 | LCI_PRINT_MSG "mv ${CFG_GP_PACKAGE_PATH}/${dir}" |
| 71 | LCI_PRINT_MSG "to ${CFG_GP_PACKAGE_PATH}/packages" |
| 72 | mv ${CFG_GP_PACKAGE_PATH}/${dir} \ |
| 73 | ${CFG_GP_PACKAGE_PATH}/packages |
| 74 | fi |
| 75 | done |
| 76 | |
| 77 | LCI_PRINT_SEPARATOR |
| 78 | LCI_PRINT_L1 "Patch XML files" |
| 79 | |
| 80 | declare -A ARRAY |
| 81 | function LCI_PATCHFILE () { |
| 82 | #printf "${LCI_MSG} | apply patch %-s\n" "${2}"; |
| 83 | #printf "${LCI_MSG} | on %-s\n" "${1}"; |
| 84 | if [ ! -e ${1}.orig ]; then |
| 85 | patch -N -b ${1} < ${2}; |
| 86 | else |
| 87 | LCI_PRINT_WARNING "${1}.orig ALREADY EXISTS" |
| 88 | LCI_PRINT_WARNING "PATCH NOT APPLIED" |
| 89 | fi |
| 90 | } |
| 91 | |
| 92 | function LCI_PATCH () { |
| 93 | LCI_PATCH_CHECKFILE ${1} |
| 94 | LCI_PATCH_CHECKFILE "${2}" |
| 95 | LCI_PATCHFILE ${1} ${2} |
| 96 | } |
| 97 | |
| 98 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/ClientAPI/xmlStable/TEE.xml" |
| 99 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/ClientAPI/xmlpatch/v1_1_0_4-2014_11_07/TEE.xml.patch") |
| 100 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 101 | LCI_PRINT_SEPARATOR |
| 102 | |
| 103 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/Crypto/xmlStable/TEE_Crypto_API.xml" |
| 104 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/Crypto/xmlpatch/v1_1_0_4-2014_11_07/TEE_Crypto_API.xml.patch") |
| 105 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 106 | LCI_PRINT_SEPARATOR |
| 107 | |
| 108 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/DataStorage/xmlStable/TEE_DataStorage_API.xml" |
| 109 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/DataStorage/xmlpatch/v1_1_0_4-2014_11_07/TEE_DataStorage_API.xml.patch") |
| 110 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 111 | LCI_PRINT_SEPARATOR |
| 112 | |
| 113 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/Time_Arithmetical/xmlStable/TEE_TimeArithm_API.xml" |
| 114 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/Time_Arithmetical/xmlpatch/v1_1_0_4-2014_11_07/TEE_TimeArithm_API.xml.patch") |
| 115 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 116 | LCI_PRINT_SEPARATOR |
| 117 | |
| 118 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/packages/TrustedCoreFw/xmlStable/TEE_Internal_API.xml" |
| 119 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/packages/TrustedCoreFw/xmlpatch/v1_1_0_4-2014_11_07/TEE_Internal_API.xml.patch") |
| 120 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 121 | LCI_PRINT_SEPARATOR |
| 122 | |
| 123 | LCI_PRINT_SEPARATOR |
| 124 | LCI_PRINT_L1 "Patch TTAs files" |
| 125 | |
| 126 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files/TTA_Arithmetical.c" |
| 127 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Arithmetical/code_patches/v1_1_0_4-2014_11_07/TTA_Arithmetical.c.patch") |
| 128 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 129 | LCI_PRINT_SEPARATOR |
| 130 | |
| 131 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Arithmetical/TTA_Arithmetical/code_files/TTA_Arithmetical_protocol.h" |
| 132 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Arithmetical/code_patches/v1_1_0_4-2014_11_07/TTA_Arithmetical_protocol.h.patch") |
| 133 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 134 | LCI_PRINT_SEPARATOR |
| 135 | |
| 136 | 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" |
| 137 | ["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") |
| 138 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 139 | LCI_PRINT_SEPARATOR |
| 140 | |
| 141 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_testingClientAPI/code_files/TTA_testingClientAPI_protocol.h" |
| 142 | ["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") |
| 143 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 144 | LCI_PRINT_SEPARATOR |
| 145 | |
| 146 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerSuccessTo_OpenSession_Invoke/code_files/TTA_answerSuccessTo_OpenSession_Invoke_protocol.h" |
| 147 | ["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") |
| 148 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 149 | LCI_PRINT_SEPARATOR |
| 150 | |
| 151 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_OpenSession/code_files/TTA_answerErrorTo_OpenSession_protocol.h" |
| 152 | ["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") |
| 153 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 154 | LCI_PRINT_SEPARATOR |
| 155 | |
| 156 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_ClientAPI/TTA_answerErrorTo_Invoke/code_files/TTA_answerErrorTo_Invoke_protocol.h" |
| 157 | ["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") |
| 158 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 159 | LCI_PRINT_SEPARATOR |
| 160 | |
| 161 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Crypto/TTA_Crypto/code_files/TTA_Crypto.c" |
| 162 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Crypto/code_patches/v1_1_0_4-2014_11_07/TTA_Crypto.c.patch") |
| 163 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 164 | LCI_PRINT_SEPARATOR |
| 165 | |
| 166 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Crypto/TTA_Crypto/code_files/TTA_Crypto_protocol.h" |
| 167 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Crypto/code_patches/v1_1_0_4-2014_11_07/TTA_Crypto_protocol.h.patch") |
| 168 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 169 | LCI_PRINT_SEPARATOR |
| 170 | |
| 171 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_DS/TTA_DS/code_files/TTA_DS_protocol.h" |
| 172 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_DS/code_patches/v1_1_0_4-2014_11_07/TTA_DS_protocol.h.patch") |
| 173 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 174 | LCI_PRINT_SEPARATOR |
| 175 | |
| 176 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_DS/TTA_DS/code_files/TTA_DS.c" |
| 177 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_DS/code_patches/v1_1_0_4-2014_11_07/TTA_DS.c.patch") |
| 178 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 179 | LCI_PRINT_SEPARATOR |
| 180 | |
| 181 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TEE_include/tee_internal_api.h" |
| 182 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TEE_include/code_patches/v1_1_0_4-2014_11_07/tee_internal_api.h.patch") |
| 183 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 184 | LCI_PRINT_SEPARATOR |
| 185 | |
| 186 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_ICA/code_files/TTA_TCF_ICA_protocol.h" |
| 187 | ["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") |
| 188 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 189 | LCI_PRINT_SEPARATOR |
| 190 | |
| 191 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_MultipleInstanceTA/code_files/TTA_TCF_MultipleInstanceTA_protocol.h" |
| 192 | ["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") |
| 193 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 194 | LCI_PRINT_SEPARATOR |
| 195 | |
| 196 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF/code_files/TTA_TCF.h" |
| 197 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF/code_patches/v1_1_0_4-2014_11_07/TTA_TCF.h.patch") |
| 198 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 199 | LCI_PRINT_SEPARATOR |
| 200 | |
| 201 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_TCF/TTA_TCF_SingleInstanceTA/code_files/TTA_TCF_SingleInstanceTA_protocol.h" |
| 202 | ["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") |
| 203 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 204 | LCI_PRINT_SEPARATOR |
| 205 | |
| 206 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Time/TTA_Time/code_files/TTA_Time_protocol.h" |
| 207 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Time/code_patches/v1_1_0_4-2014_11_07/TTA_Time_protocol.h.patch") |
| 208 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 209 | LCI_PRINT_SEPARATOR |
| 210 | |
| 211 | ARRAY=(["FILE"]="${CFG_GP_PACKAGE_PATH}/TTAs/TTA_Time/TTA_Time/code_files/TTA_Time.c" |
| 212 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/TTAs/TTA_Time/code_patches/v1_1_0_4-2014_11_07/TTA_Time.c.patch") |
| 213 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 214 | LCI_PRINT_SEPARATOR |
| 215 | |
| 216 | LCI_PRINT_L1 "Patch HOST files" |
| 217 | |
| 218 | ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_6000.c" |
| 219 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_6000.c.patch") |
| 220 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 221 | LCI_PRINT_SEPARATOR |
| 222 | |
| 223 | ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_main.c" |
| 224 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_main.c.patch") |
| 225 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 226 | LCI_PRINT_SEPARATOR |
| 227 | |
| 228 | ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_test.c" |
| 229 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_test.c.patch") |
| 230 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 231 | LCI_PRINT_SEPARATOR |
| 232 | |
| 233 | ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_test.h" |
| 234 | ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_test.h.patch") |
| 235 | LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]} |
| 236 | LCI_PRINT_SEPARATOR |
| 237 | |
| 238 | cd ${CDIR} |
| 239 | |
| 240 | LCI_PRINT_SEPARATOR |
| 241 | LCI_PRINT_HEADER "`basename $0` finished"; |
| 242 | LCI_PRINT_SEPARATOR |