blob: 8e15b1350a606f5a4cfed345a366239af999d7cb [file] [log] [blame]
Pascal Brandc639ac82015-07-02 08:53:34 +02001#!/bin/bash
2
3cd $(dirname $0)
4export CDIR=${PWD}
5
6# Initialization
7if [ -f .env ]; then
8. .env
9else
10echo -e " ERROR: .env NOT FOUND";
11echo -e " ERROR: .env must be at the same location as $0";
12exit 0;
13fi;
14
15if [ ${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
38fi
39
40LCI_PRINT_SEPARATOR
41LCI_PRINT_HEADER "Running `basename $0`"
42LCI_PRINT_SEPARATOR
43LCI_PRINT_HEADER "Patch Global Platform testsuite"
44LCI_PRINT_L1 "global platform package: ${CFG_GP_PACKAGE_PATH}"
45LCI_PRINT_L1 "stm package: ${CFG_GP_XSL_PACKAGE_PATH}"
46LCI_PRINT_L1 "GP api: ${CFG_GP_API}"
47
48if [ $(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
52else
53 LCI_FORCE_QUIT "$(basename ${CFG_GP_PACKAGE_PATH}) NOT SUPPORTED"
54 exit;
55
56fi
57
58
59LCI_PRINT_SEPARATOR
60LCI_PRINT_L1 "Patch directories structure"
61if [ ! -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
64fi
65
66DIRLIST="ClientAPI Crypto DataStorage Time_Arithmetical TrustedCoreFw"
67for 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
75done
76
77LCI_PRINT_SEPARATOR
78LCI_PRINT_L1 "Patch XML files"
79
80declare -A ARRAY
81function 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
92function LCI_PATCH () {
93 LCI_PATCH_CHECKFILE ${1}
94 LCI_PATCH_CHECKFILE "${2}"
95 LCI_PATCHFILE ${1} ${2}
96}
97
98ARRAY=(["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")
100LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
101LCI_PRINT_SEPARATOR
102
103ARRAY=(["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")
105LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
106LCI_PRINT_SEPARATOR
107
108ARRAY=(["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")
110LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
111LCI_PRINT_SEPARATOR
112
113ARRAY=(["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")
115LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
116LCI_PRINT_SEPARATOR
117
118ARRAY=(["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")
120LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
121LCI_PRINT_SEPARATOR
122
123LCI_PRINT_SEPARATOR
124LCI_PRINT_L1 "Patch TTAs files"
125
126ARRAY=(["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")
128LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
129LCI_PRINT_SEPARATOR
130
131ARRAY=(["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")
133LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
134LCI_PRINT_SEPARATOR
135
136ARRAY=(["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")
138LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
139LCI_PRINT_SEPARATOR
140
141ARRAY=(["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")
143LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
144LCI_PRINT_SEPARATOR
145
146ARRAY=(["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")
148LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
149LCI_PRINT_SEPARATOR
150
151ARRAY=(["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")
153LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
154LCI_PRINT_SEPARATOR
155
156ARRAY=(["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")
158LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
159LCI_PRINT_SEPARATOR
160
161ARRAY=(["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")
163LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
164LCI_PRINT_SEPARATOR
165
166ARRAY=(["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")
168LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
169LCI_PRINT_SEPARATOR
170
171ARRAY=(["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")
173LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
174LCI_PRINT_SEPARATOR
175
176ARRAY=(["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")
178LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
179LCI_PRINT_SEPARATOR
180
181ARRAY=(["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")
183LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
184LCI_PRINT_SEPARATOR
185
186ARRAY=(["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")
188LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
189LCI_PRINT_SEPARATOR
190
191ARRAY=(["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")
193LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
194LCI_PRINT_SEPARATOR
195
196ARRAY=(["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")
198LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
199LCI_PRINT_SEPARATOR
200
201ARRAY=(["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")
203LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
204LCI_PRINT_SEPARATOR
205
206ARRAY=(["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")
208LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
209LCI_PRINT_SEPARATOR
210
211ARRAY=(["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")
213LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
214LCI_PRINT_SEPARATOR
215
216LCI_PRINT_L1 "Patch HOST files"
217
218ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_6000.c"
219 ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_6000.c.patch")
220LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
221LCI_PRINT_SEPARATOR
222
223ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_main.c"
224 ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_main.c.patch")
225LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
226LCI_PRINT_SEPARATOR
227
228ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_test.c"
229 ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_test.c.patch")
230LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
231LCI_PRINT_SEPARATOR
232
233ARRAY=(["FILE"]="${CFG_OPTEE_TEST_PATH}/host/xtest/xtest_test.h"
234 ["PATCH"]="${CFG_GP_XSL_PACKAGE_PATH}/host/xtest/xtest_test.h.patch")
235LCI_PATCH ${ARRAY[FILE]} ${ARRAY[PATCH]}
236LCI_PRINT_SEPARATOR
237
238cd ${CDIR}
239
240LCI_PRINT_SEPARATOR
241LCI_PRINT_HEADER "`basename $0` finished";
242LCI_PRINT_SEPARATOR