You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesatee.apache.org by ms...@apache.org on 2019/12/04 03:39:26 UTC
[incubator-mesatee] branch master updated: [build] Put
enclave.signed.so files into different dirs according to their src paths.
(#120)
This is an automated email from the ASF dual-hosted git repository.
mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mesatee.git
The following commit(s) were added to refs/heads/master by this push:
new ee345b2 [build] Put enclave.signed.so files into different dirs according to their src paths. (#120)
ee345b2 is described below
commit ee345b26ae0440e43844ed65b4e0f4bd3ddd9f08
Author: Rundong Zhou <ru...@gmail.com>
AuthorDate: Tue Dec 3 19:39:17 2019 -0800
[build] Put enclave.signed.so files into different dirs according to their src paths. (#120)
---
CMakeLists.txt | 3 +++
cmake/MesaTEEUtils.cmake | 11 +++++++++--
cmake/scripts/sgx_link_sign.sh | 6 +++---
tests/functional_test.sh | 5 +++--
tests/integration_test.sh | 5 +++--
5 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ae71b33..583040f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,7 @@ parse_cargo_packages(SGX_APPS
parse_cargo_packages(SGX_LIBS
CARGO_TOML_PATH ${PROJECT_SOURCE_DIR}/cmake/tomls/Cargo.sgx_trusted_lib.toml
+ CATEGORIES SGX_LIB_CATEGORIES
PKG_PATHS SGX_LIB_PATHS
)
@@ -106,9 +107,11 @@ math(EXPR SGX_LIB_LAST_INDEX "${SGX_LIB_LEN} - 1")
foreach(_i RANGE ${SGX_LIB_LAST_INDEX})
list(GET SGX_LIBS ${_i} _pkg_name)
list(GET SGX_LIB_PATHS ${_i} _pkg_path)
+ list(GET SGX_LIB_CATEGORIES ${_i} _category)
sgxlib_pkgname_2_modname(${_pkg_name} _mod_name)
add_sgx_build_target(${_pkg_path} ${_pkg_name}
DEPENDS prep ${TARGET_CONFIG_GEN} "${SGXAPP_PREFIX}-${_mod_name}" pycomponent
+ INSTALL_DIR ${MESATEE_INSTALL_DIR}/${_category}
)
endforeach()
diff --git a/cmake/MesaTEEUtils.cmake b/cmake/MesaTEEUtils.cmake
index 2fbcf75..823ac36 100644
--- a/cmake/MesaTEEUtils.cmake
+++ b/cmake/MesaTEEUtils.cmake
@@ -124,11 +124,12 @@ endfunction()
# add_sgx_build_target(sgx_lib_path
# [DEPENDS [dep]...]
+# [INSTALL_DIR dir]
# [EXTRA_CARGO_FLAGS flg...]
# )
function(add_sgx_build_target sgx_lib_path pkg_name)
set(options)
- set(oneValueArgs)
+ set(oneValueArgs INSTALL_DIR)
set(multiValueArgs DEPENDS EXTRA_CARGO_FLAGS)
cmake_parse_arguments(MTEE "${options}" "${oneValueArgs}"
"${multiValueArgs}" ${ARGN})
@@ -139,6 +140,12 @@ function(add_sgx_build_target sgx_lib_path pkg_name)
set(_depends)
endif()
+ if (DEFINED MTEE_INSTALL_DIR)
+ set(_copy_dir ${MTEE_INSTALL_DIR})
+ else()
+ set(_copy_dir ${MESATEE_INSTALL_DIR})
+ endif()
+
# remove trailing "_enclave" to get _module_name
sgxlib_pkgname_2_modname(${pkg_name} _module_name)
@@ -149,7 +156,7 @@ function(add_sgx_build_target sgx_lib_path pkg_name)
${MT_SCRIPT_DIR}/cargo_build_ex.sh -p ${pkg_name}
--target-dir ${TRUSTED_TARGET_DIR} ${CARGO_BUILD_FLAGS} ${SGX_ENCLAVE_FEATURES} ${MTEE_EXTRA_CARGO_FLAGS}
COMMAND ${CMAKE_COMMAND} -E env ${TARGET_SGXLIB_ENVS} SGX_COMMON_CFLAGS=${STR_SGX_COMMON_CFLAGS}
- CUR_MODULE_NAME=${_module_name} CUR_MODULE_PATH=${sgx_lib_path} ${MT_SCRIPT_DIR}/sgx_link_sign.sh
+ CUR_MODULE_NAME=${_module_name} CUR_MODULE_PATH=${sgx_lib_path} CUR_INSTALL_DIR=${_copy_dir} ${MT_SCRIPT_DIR}/sgx_link_sign.sh
${_depends}
COMMENT "Building ${_target_name}"
WORKING_DIRECTORY ${MT_SGXLIB_TOML_DIR}
diff --git a/cmake/scripts/sgx_link_sign.sh b/cmake/scripts/sgx_link_sign.sh
index 039341a..880f20f 100755
--- a/cmake/scripts/sgx_link_sign.sh
+++ b/cmake/scripts/sgx_link_sign.sh
@@ -1,7 +1,7 @@
#!/bin/bash
set -e
REQUIRED_ENVS=("CMAKE_C_COMPILER" "CUR_MODULE_NAME" "CUR_MODULE_PATH"
-"MESATEE_SERVICE_INSTALL_DIR" "MESATEE_OUT_DIR" "MESATEE_PROJECT_ROOT" "Service_Library_Name"
+"CUR_INSTALL_DIR" "MESATEE_OUT_DIR" "MESATEE_PROJECT_ROOT" "Service_Library_Name"
"SGX_COMMON_CFLAGS" "SGX_ENCLAVE_SIGNER" "SGX_LIBRARY_PATH" "TARGET" "Trts_Library_Name"
"TRUSTED_TARGET_DIR")
for var in "${REQUIRED_ENVS[@]}"; do
@@ -10,7 +10,7 @@ done
LIBENCLAVE_PATH="${TRUSTED_TARGET_DIR}/${TARGET}/lib${CUR_MODULE_NAME}_enclave.a"
CONFIG_PATH="${MESATEE_PROJECT_ROOT}/${CUR_MODULE_PATH}/Enclave.config.xml"
-SIGNED_PATH="${MESATEE_SERVICE_INSTALL_DIR}/${CUR_MODULE_NAME}.enclave.signed.so"
+SIGNED_PATH="${CUR_INSTALL_DIR}/${CUR_MODULE_NAME}.enclave.signed.so"
CUR_ENCLAVE_INFO_PATH="${MESATEE_OUT_DIR}/${CUR_MODULE_NAME}_enclave_info.txt"
if [ ! "$LIBENCLAVE_PATH" -nt "$SIGNED_PATH" ] \
&& [ ! "$CONFIG_PATH" -nt "$SIGNED_PATH" ] \
@@ -35,7 +35,7 @@ ${CMAKE_C_COMPILER} libEnclave_t.o -o \
-Wl,--version-script=${MESATEE_PROJECT_ROOT}/cmake/scripts/Enclave.lds
${SGX_ENCLAVE_SIGNER} sign -key ${MESATEE_PROJECT_ROOT}/cert/Enclave_private.pem \
-enclave ${CUR_MODULE_NAME}.enclave.so \
- -out ${MESATEE_SERVICE_INSTALL_DIR}/${CUR_MODULE_NAME}.enclave.signed.so \
+ -out ${CUR_INSTALL_DIR}/${CUR_MODULE_NAME}.enclave.signed.so \
-config ${MESATEE_PROJECT_ROOT}/${CUR_MODULE_PATH}/Enclave.config.xml \
-dumpfile ${CUR_MODULE_NAME}.enclave.meta.txt > /dev/null 2>&1
echo ${CUR_MODULE_NAME} > ${CUR_MODULE_NAME}_enclave_info.txt
diff --git a/tests/functional_test.sh b/tests/functional_test.sh
index e626d41..aae5b73 100755
--- a/tests/functional_test.sh
+++ b/tests/functional_test.sh
@@ -5,7 +5,7 @@ trap "pkill -2 -P $$; wait" SIGINT SIGTERM EXIT
cd ../release/services
# prepare test data
-cp -r ../../tests/integration_test/test_data ./
+cp -r ../../tests/integration_test/test_data ../tests/
# check port
if lsof -i :6016; then
@@ -65,5 +65,6 @@ wait_service tms 5555 30
wait_service fns 3444 30
wait_service acs 5077 30
-../tests/functional_test 2>&1 | tee functional_test.log
+cd ../tests
+./functional_test 2>&1 | tee functional_test.log
exit ${PIPESTATUS[0]}
diff --git a/tests/integration_test.sh b/tests/integration_test.sh
index 754ad12..19d77a9 100755
--- a/tests/integration_test.sh
+++ b/tests/integration_test.sh
@@ -5,7 +5,7 @@ trap "pkill -2 -P $$; wait" SIGINT SIGTERM EXIT
cd ../release/services
# prepare test data
-cp -r ../../tests/integration_test/test_data ./
+cp -r ../../tests/integration_test/test_data ../tests/
# check ports
for port in 5554 5555 3444 6016 5065 5066; do
@@ -49,7 +49,8 @@ wait_service "tms" 5555 30
wait_service "fns" 3444 30
echo "[+] run integration_test"
-../tests/integration_test 2>&1 | tee integration_test.log
+cd ../tests
+./integration_test 2>&1 | tee integration_test.log
[ ${PIPESTATUS[0]} -eq 0 ] || exit ${PIPESTATUS[0]}
echo "[+] run three_party_demo"
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@mesatee.apache.org
For additional commands, e-mail: commits-help@mesatee.apache.org