5 Source0: file://%{name}-%{version}.tar.gz
6 Summary: Tizen device encryption and secure erase manager
7 Group: Security/Service
12 BuildRequires: gettext-tools
13 BuildRequires: pkgconfig(klay)
14 BuildRequires: pkgconfig(glib-2.0)
15 BuildRequires: pkgconfig(aul)
16 BuildRequires: pkgconfig(bundle)
17 BuildRequires: pkgconfig(libtzplatform-config)
18 BuildRequires: pkgconfig(cynara-client)
19 BuildRequires: pkgconfig(libcrypto)
20 BuildRequires: pkgconfig(libsmack)
23 %global key_storage_plugin_dir %{_libdir}/ode-key-storage-plugin/
26 The ode package provides a daemon which is responsible for encrypting/decryption storages and secure erasing.
29 %manifest ode.manifest
30 %defattr(644,root,root,755)
31 %attr(755,root,root) %{_bindir}/oded
32 %{_unitdir}/ode.service
33 %{_unitdir}/multi-user.target.wants/ode.service
34 %attr(700,root,root) %{TZ_SYS_SBIN}/ode-admin-cli
35 %attr(700,root,root) %{TZ_SYS_SBIN}/ode-fota
37 %dir %{key_storage_plugin_dir}
43 %{!?build_type:%define build_type "RELEASE"}
45 %if %{build_type} == "DEBUG" || %{build_type} == "PROFILING" || %{build_type} == "CCOV"
46 CFLAGS="$CFLAGS -Wp,-U_FORTIFY_SOURCE"
47 CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE"
50 %cmake . -DVERSION=%{version} \
51 -DCMAKE_BUILD_TYPE=%{build_type} \
52 -DRUN_DIR=%{TZ_SYS_RUN} \
53 -DBIN_DIR=%{TZ_SYS_BIN} \
54 -DSBIN_DIR=%{TZ_SYS_SBIN} \
55 -DSYSTEMD_UNIT_DIR=%{_unitdir} \
56 -DAPP_INSTALL_PREFIX="%{TZ_SYS_RO_APP}" \
57 -DAPP_SHARE_PACKAGES_DIR="%{TZ_SYS_RO_PACKAGES}" \
58 -DKEY_STORAGE_PLUGIN_DIR="%{key_storage_plugin_dir}"
64 %install_service multi-user.target.wants ode.service
70 systemctl daemon-reload
73 systemctl start ode.service
76 systemctl restart ode.service
82 systemctl stop ode.service
87 ## ODE Client Package ########################################################
89 Summary: Library for Tizen device encryption and secure erase
90 Group: Security/Libraries
91 BuildRequires: pkgconfig(libtzplatform-config)
92 Requires: %{name} = %{version}-%{release}
93 Requires(post): /sbin/ldconfig
94 Requires(postun): /sbin/ldconfig
96 %description -n libode
97 The libode package contains the libraries needed to encrypt/decrypt storages and secure erasing.
99 %post -n libode -p /sbin/ldconfig
101 %postun -n libode -p /sbin/ldconfig
104 %manifest ode.manifest
105 %defattr(644,root,root,755)
106 %attr(755,root,root) %{_libdir}/libode.so.%{version}
107 %{_libdir}/libode.so.0
109 ## Devel Package ##############################################################
110 %package -n libode-devel
111 Summary: Libraries and header files for device encryption client development
112 Group: Development/Libraries
113 Requires: libode = %{version}-%{release}
115 %description -n libode-devel
116 The libode-devel package includes the libraries and header files necessary for
117 developing device encryption client program.
119 %files -n libode-devel
120 %manifest ode.manifest
121 %defattr(644,root,root,755)
124 %{_libdir}/pkgconfig/ode.pc
126 ## Plugin Devel Package ##############################################################
128 Summary: Header files for key storage plugin development
129 Group: Development/Libraries
131 %description ksp-devel
132 The ode-ksp-devel package includes header files necessary for key storage
136 %manifest ode.manifest
137 %defattr(644,root,root,755)
138 %{_includedir}/ode-key-storage-plugin
139 %{_libdir}/pkgconfig/ode-key-storage-plugin.pc
141 ## Unittest Package ###########################################################
143 Summary: Unit tests to verify components of device encryption
144 Group: Security/Testing
145 Requires: libode = %{version}-%{release}
147 %description unit-tests
148 The libode-devel package includes the libraries and header files necessary for
149 developing device encryption client program.
152 %manifest ode.manifest
153 %defattr(644,root,root,755)
154 %attr(755,root,root) %{_bindir}/ode-engine-unit-tests
156 ## Dummy key storage plugin Package ###########################################################
158 Summary: Dummy key storage plugin for FOTA binary upgrade testing
159 Group: Security/Testing
161 %description dummy-ksp
162 The ode-dummy-ksp package includes the dummy key storage plugin that can be used
163 for testing the binary upgrade process (FOTA). The plugin will be used by ode to
164 store the master encryption key in a file to use during FOTA process.
167 %manifest ode.manifest
168 %attr(755,root,root) %{key_storage_plugin_dir}/*