Remove dead code related to downloadable TA
[platform/core/security/tef-simulator.git] / packaging / tef-simulator.spec
1 Name:       tef-simulator
2 Summary:    TEF TrustZone simulator and it's utilities
3 Version:    0.0.1
4 Release:    1
5 Group:      Security
6 License:    Apache-2.0
7 Source0:    %{name}-%{version}.tar.gz
8 ExcludeArch: armv6l armv7hl armv7l aarch64
9 BuildRequires: cmake
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)
19 PreReq: tef-libteec
20
21 %{?systemd_requires}
22
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
29
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}
36
37 %define smack_domain_name System
38
39 %description
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).
43
44
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
50
51 %description -n %{name}-client
52 TEF Simulator Client contains a libteec library compatible
53 with TEF Simulator, required to build Client Applications.
54
55
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
60
61 Requires: tef-simulator
62
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
66 with TEF Simulator.
67
68 %prep
69 %setup -q
70
71 %build
72 # cannot call cmake rpmbuild macro because of scripts removing libTEEStub.a, which is a part of devkit
73 cmake . \
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} \
87         -DTIZEN=1
88 make %{?jobs:-j%jobs}
89
90 %install
91 make install
92
93 %pre
94
95 %post
96 ln -sf %{tastore_dir} %{link_tastore_dir}
97 tef-update.sh simulator
98 systemctl enable tef-simulator
99
100 %preun
101
102 %postun
103 if [ $1 = 0 ] ; then
104     tef-update.sh
105 fi
106
107 %files -n %{name}
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
114
115
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