2 Summary: TEF TrustZone simulator and it's utilities
7 Source0: %{name}-%{version}.tar.gz
8 ExcludeArch: armv6l armv7hl armv7l aarch64
10 BuildRequires: boost-devel
11 BuildRequires: pkgconfig(dlog)
12 BuildRequires: pkgconfig(openssl)
13 BuildRequires: pkgconfig(cynara-client)
14 BuildRequires: pkgconfig(cynara-session)
15 BuildRequires: pkgconfig(cynara-creds-socket)
16 BuildRequires: pkgconfig(security-manager)
17 BuildRequires: pkgconfig(libsystemd-daemon)
18 BuildRequires: pkgconfig(tef-libteec)
23 %define bin_dir %{?TZ_SYS_BIN:%TZ_SYS_BIN}%{!?TZ_SYS_BIN:%_bindir}
24 %define lib_dir %{?TZ_SYS_LIB:%TZ_SYS_LIB}%{!?TZ_SYS_LIB:%_libdir}
25 %define data_dir %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:%_datadir}
26 %define include_dir %{?TZ_SYS_INCLUDE:%TZ_SYS_INCLUDE}%{!?TZ_SYS_INCLUDE:%_includedir}
27 %define tastore_dir /opt/tastore
28 %define link_tastore_dir %{lib_dir}/tastore
30 %define build_bin_dir %{buildroot}%{bin_dir}
31 %define build_lib_dir %{buildroot}%{lib_dir}
32 %define build_data_dir %{buildroot}%{data_dir}
33 %define build_include_dir %{buildroot}%{include_dir}
34 %define build_tastore_dir %{buildroot}%{tastore_dir}
35 %define build_unit_dir %{buildroot}%{_unitdir}
37 %define smack_domain_name System
40 TEF Simulator provides a TrustZone simulated environment
41 which can be used on platforms not supporting ARM TrustZone
42 environment natively (ex. on an emulator).
45 %package -n %{name}-client
46 Summary: TEF TrustZone simulator client for CA compilation
47 Group: Security/Libraries
48 License: Apache-2.0 and BSD-3-Clause
49 Requires: tef-simulator
51 %description -n %{name}-client
52 TEF Simulator Client contains a libteec library compatible
53 with TEF Simulator, required to build Client Applications.
56 %package -n %{name}-devkit
57 Summary: TEF TrustZone simulator devkit for TA compilation
58 Group: Security/Libraries
59 License: Apache-2.0 and BSD-3-Clause
61 Requires: tef-simulator
63 %description -n %{name}-devkit
64 TEF Simulator Devkit provides a static library required to
65 build Trusted Applications, which are meant to work together
72 # cannot call cmake rpmbuild macro because of scripts removing libTEEStub.a, which is a part of devkit
74 -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
75 -DBIN_DIR=%{build_bin_dir} \
76 -DLIB_DIR=%{build_lib_dir} \
77 -DDATA_DIR=%{build_data_dir} \
78 -DINCLUDE_DIR=%{build_include_dir} \
79 -DTASTORE_DIR=%{build_tastore_dir} \
80 -DSYSTEMD_UNIT_DIR=%{build_unit_dir} \
81 -DSYSTEMD_CFG_BIN_DIR=%{bin_dir} \
82 -DPKGCFG_LIB_DIR=%{lib_dir} \
83 -DPKGCFG_PREFIX=/usr \
84 -DPKGCFG_VERSION=%{version} \
85 -DSMACK_DOMAIN_NAME=%{smack_domain_name} \
86 -DARCH=%{__isa_bits} \
96 ln -sf %{tastore_dir} %{link_tastore_dir}
97 tef-update.sh simulator
98 systemctl enable tef-simulator
108 %attr(111,security_fw,security_fw) %{bin_dir}/tef-simulator-daemon
109 %{lib_dir}/libtef-simulator-ssflib.so
110 %attr(770,root,security_fw) %{tastore_dir}
111 %attr(444,security_fw,security_fw) %{_unitdir}/tef-simulator.service
112 %attr(444,security_fw,security_fw) %{_unitdir}/tef-simulator.socket
113 %attr(755,security_fw,security_fw) %{lib_dir}/tef/simulator/libteec.so
116 %files -n %{name}-devkit
117 %{bin_dir}/TA_PackageBuilder.sh
118 %{bin_dir}/TAPackageMaker
119 %{lib_dir}/libTEEStub.a
120 %{lib_dir}/libtef-simulator-log.a
121 %{lib_dir}/libtef-simulator-osal.a
122 %{include_dir}/tee_internal_api.h
123 %{lib_dir}/pkgconfig/tef-simulator-devkit.pc
124 %{data_dir}/cmake/Modules/TEFSimulatorDevkit.cmake