2 Summary: TEF TrustZone simulator and it's utilities
6 License: Apache-2.0 and MIT and BSD
7 Source0: %{name}-%{version}.tar.gz
8 Source1: %{name}.manifest
9 ExcludeArch: armv6l armv7hl armv7l aarch64
11 BuildRequires: boost-devel
12 BuildRequires: pkgconfig(dlog)
13 BuildRequires: pkgconfig(openssl)
14 BuildRequires: pkgconfig(cynara-client)
15 BuildRequires: pkgconfig(cynara-session)
16 BuildRequires: pkgconfig(cynara-creds-socket)
17 BuildRequires: pkgconfig(security-manager)
18 BuildRequires: pkgconfig(libsystemd-daemon)
19 BuildRequires: pkgconfig(tef-libteec)
24 %define bin_dir %{?TZ_SYS_BIN:%TZ_SYS_BIN}%{!?TZ_SYS_BIN:%_bindir}
25 %define lib_dir %{?TZ_SYS_LIB:%TZ_SYS_LIB}%{!?TZ_SYS_LIB:%_libdir}
26 %define data_dir %{?TZ_SYS_RO_SHARE:%TZ_SYS_RO_SHARE}%{!?TZ_SYS_RO_SHARE:%_datadir}
27 %define include_dir %{?TZ_SYS_INCLUDE:%TZ_SYS_INCLUDE}%{!?TZ_SYS_INCLUDE:%_includedir}
28 %define tastore_dir /opt/tastore
29 %define link_tastore_dir %{lib_dir}/tastore
31 %define build_bin_dir %{buildroot}%{bin_dir}
32 %define build_lib_dir %{buildroot}%{lib_dir}
33 %define build_data_dir %{buildroot}%{data_dir}
34 %define build_include_dir %{buildroot}%{include_dir}
35 %define build_tastore_dir %{buildroot}%{tastore_dir}
36 %define build_unit_dir %{buildroot}%{_unitdir}
38 %define smack_domain_name System
41 TEF Simulator provides a TrustZone simulated environment
42 which can be used on platforms not supporting ARM TrustZone
43 environment natively (ex. on an emulator).
46 %package -n %{name}-client
47 Summary: TEF TrustZone simulator client for CA compilation
48 Group: Security/Libraries
49 License: Apache-2.0 and BSD-3-Clause
50 Requires: tef-simulator
52 %description -n %{name}-client
53 TEF Simulator Client contains a libteec library compatible
54 with TEF Simulator, required to build Client Applications.
57 %package -n %{name}-devkit
58 Summary: TEF TrustZone simulator devkit for TA compilation
59 Group: Security/Libraries
60 License: Apache-2.0 and BSD-3-Clause
62 Requires: tef-simulator
64 %description -n %{name}-devkit
65 TEF Simulator Devkit provides a static library required to
66 build Trusted Applications, which are meant to work together
74 # cannot call cmake rpmbuild macro because of scripts removing libTEEStub.a, which is a part of devkit
76 -DCMAKE_BUILD_TYPE=%{?build_type:%build_type}%{!?build_type:RELEASE} \
77 -DBIN_DIR=%{build_bin_dir} \
78 -DLIB_DIR=%{build_lib_dir} \
79 -DDATA_DIR=%{build_data_dir} \
80 -DINCLUDE_DIR=%{build_include_dir} \
81 -DTASTORE_DIR=%{build_tastore_dir} \
82 -DSYSTEMD_UNIT_DIR=%{build_unit_dir} \
83 -DSYSTEMD_CFG_BIN_DIR=%{bin_dir} \
84 -DPKGCFG_LIB_DIR=%{lib_dir} \
85 -DPKGCFG_PREFIX=/usr \
86 -DPKGCFG_VERSION=%{version} \
87 -DSMACK_DOMAIN_NAME=%{smack_domain_name} \
88 -DARCH=%{__isa_bits} \
94 cp rapidxml/license.txt LICENSE.MIT
95 cp include/include/LICENSE LICENSE.BSD
100 ln -sf %{tastore_dir} %{link_tastore_dir}
101 tef-update.sh simulator
102 systemctl enable tef-simulator
114 %license LICENSE.Krb5-MIT
115 %manifest tef-simulator.manifest
116 %attr(111,security_fw,security_fw) %{bin_dir}/tef-simulator-daemon
117 %{lib_dir}/libtef-simulator-ssflib.so
118 %attr(770,root,security_fw) %{tastore_dir}
119 %attr(444,security_fw,security_fw) %{_unitdir}/tef-simulator.service
120 %attr(444,security_fw,security_fw) %{_unitdir}/tef-simulator.socket
121 %attr(755,security_fw,security_fw) %{lib_dir}/tef/simulator/libteec.so
123 %files -n %{name}-devkit
127 %{bin_dir}/TA_PackageBuilder.sh
128 %{bin_dir}/TAPackageMaker
129 %{lib_dir}/libTEEStub.a
130 %{lib_dir}/libtef-simulator-log.a
131 %{lib_dir}/libtef-simulator-osal.a
132 %{include_dir}/tee_internal_api.h
133 %{lib_dir}/pkgconfig/tef-simulator-devkit.pc
134 %{data_dir}/cmake/Modules/TEFSimulatorDevkit.cmake