Add secure-erase interface
[platform/core/security/ode.git] / packaging / ode.spec
1 Name:    ode
2 Version: 0.0.1
3 Release: 0
4 License: Apache-2.0
5 Source0: file://%{name}-%{version}.tar.gz
6 Summary: Tizen device encryption and secure erase manager
7 Group:   Security/Service
8 Requires: systemd
9 BuildRequires: gcc
10 BuildRequires: cmake
11 BuildRequires: gettext-tools
12 BuildRequires: pkgconfig(klay)
13 BuildRequires: pkgconfig(glib-2.0)
14 BuildRequires: pkgconfig(aul)
15 BuildRequires: pkgconfig(bundle)
16 BuildRequires: pkgconfig(libtzplatform-config)
17 BuildRequires: pkgconfig(key-manager)
18 BuildRequires: pkgconfig(cynara-client)
19 BuildRequires: pkgconfig(cynara-session)
20 BuildRequires: pkgconfig(openssl)
21
22 %description
23 The ode package provides a daemon which is responsible for encrypting/decryption storages and secure erasing.
24
25 %files
26 %manifest ode.manifest
27 %defattr(644,root,root,755)
28 %attr(755,root,root) %{_bindir}/oded
29 %{_unitdir}/ode.service
30 %{_unitdir}/multi-user.target.wants/ode.service
31 %attr(700,root,root) %{_sbindir}/ode-admin-cli
32
33 %prep
34 %setup -q
35
36 %build
37 %{!?build_type:%define build_type "RELEASE"}
38
39 %if %{build_type} == "DEBUG" || %{build_type} == "PROFILING" || %{build_type} == "CCOV"
40         CFLAGS="$CFLAGS -Wp,-U_FORTIFY_SOURCE"
41         CXXFLAGS="$CXXFLAGS -Wp,-U_FORTIFY_SOURCE"
42 %endif
43
44 %cmake . -DVERSION=%{version} \
45          -DCMAKE_BUILD_TYPE=%{build_type} \
46          -DRUN_DIR=%{TZ_SYS_RUN} \
47          -DBIN_DIR=%{TZ_SYS_BIN} \
48          -DSYSTEMD_UNIT_DIR=%{_unitdir} \
49          -DAPP_INSTALL_PREFIX="%{TZ_SYS_RO_APP}" \
50          -DAPP_SHARE_PACKAGES_DIR="%{TZ_SYS_RO_PACKAGES}"
51
52 make %{?jobs:-j%jobs}
53
54 %install
55 %make_install
56 mkdir -p %{buildroot}/%{_unitdir}/multi-user.target.wants
57 ln -s ../ode.service %{buildroot}/%{_unitdir}/multi-user.target.wants/ode.service
58
59 %find_lang secure-erase
60
61 %clean
62 rm -rf %{buildroot}
63
64 %postun
65
66 ## ODE Client Package ########################################################
67 %package -n libode
68 Summary: Library for Tizen device encryption and secure erase
69 Group: Security/Libraries
70 BuildRequires: pkgconfig(libtzplatform-config)
71 Requires: %{name} = %{version}-%{release}
72 Requires(post): /sbin/ldconfig
73 Requires(postun): /sbin/ldconfig
74
75 %description -n libode
76 The libode package contains the libraries needed to encrypt/decrypt storages and secure erasing.
77
78 %post -n libode -p /sbin/ldconfig
79
80 %postun -n libode -p /sbin/ldconfig
81
82 %files -n libode
83 %manifest ode.manifest
84 %defattr(644,root,root,755)
85 %attr(755,root,root) %{_libdir}/libode.so.%{version}
86 %{_libdir}/libode.so.0
87
88 ## Devel Package ##############################################################
89 %package -n libode-devel
90 Summary: Libraries and header files for device encryption client development
91 Group: Development/Libraries
92 Requires: libode = %{version}-%{release}
93
94 %description -n libode-devel
95 The libode-devel package includes the libraries and header files necessary for
96 developing device encryption client program.
97
98 %files -n libode-devel
99 %manifest ode.manifest
100 %defattr(644,root,root,755)
101 %{_libdir}/libode.so
102 %{_includedir}/ode
103 %{_libdir}/pkgconfig/ode.pc
104
105 ## Unittest Package ###########################################################
106 %package -n unit-tests
107 Summary: Unit tests to verify components of device encryption
108 Group: Security/Testing
109 Requires: libode = %{version}-%{release}
110
111 %description -n unit-tests
112 The libode-devel package includes the libraries and header files necessary for
113 developing device encryption client program.
114
115 %files -n unit-tests
116 %manifest ode.manifest
117 %defattr(644,root,root,755)
118 %attr(755,root,root) %{_bindir}/ode-engine-unit-tests
119
120 ## ODE App package #############################################################
121 %package -n org.tizen.ode-gui
122 Summary: Tizen ODE User Interface
123 Group: Security/Other
124 BuildRequires: pkgconfig(glib-2.0)
125 BuildRequires: pkgconfig(dlog)
126 BuildRequires: pkgconfig(evas)
127 BuildRequires: pkgconfig(elementary)
128 BuildRequires: pkgconfig(efl-extension)
129 BuildRequires: pkgconfig(capi-ui-efl-util)
130 BuildRequires: pkgconfig(capi-appfw-app-control)
131 BuildRequires: pkgconfig(capi-appfw-application)
132
133 %description -n org.tizen.ode-gui
134 Tizen ODE User Interface for device policy management
135
136 %define odeguiapp_home %{TZ_SYS_RO_APP}/org.tizen.ode-gui
137
138 %post -n org.tizen.ode-gui
139 ln -sf %{odeguiapp_home}/bin/org.tizen.ode-gui /usr/bin/ode-gui
140
141 %files -n org.tizen.ode-gui
142 %defattr(-,root,root,-)
143 %{odeguiapp_home}/bin/*
144 %{odeguiapp_home}/res/*
145 %{TZ_SYS_RO_PACKAGES}/org.tizen.ode-gui.xml
146
147 ## ODE App package ################################################
148 %package -n org.tizen.ode
149 Summary: Tizen ODE User Interface
150 Group: Security/Other
151 BuildRequires: pkgconfig(glib-2.0)
152 BuildRequires: pkgconfig(elementary)
153 BuildRequires: pkgconfig(dlog)
154 BuildRequires: pkgconfig(efl-extension)
155 BuildRequires: pkgconfig(libxml-2.0)
156 BuildRequires: pkgconfig(evas)
157 BuildRequires: pkgconfig(vconf)
158 BuildRequires: pkgconfig(capi-appfw-app-control)
159 BuildRequires: pkgconfig(capi-appfw-application)
160 BuildRequires: pkgconfig(capi-system-runtime-info)
161 BuildRequires: pkgconfig(capi-system-device)
162 BuildRequires: pkgconfig(capi-system-system-settings)
163
164 %description -n org.tizen.ode
165 Tizen ODE User Interface for device policy management
166
167 %define odeapp_home %{TZ_SYS_RO_APP}/org.tizen.ode
168
169 %files -n org.tizen.ode
170 %defattr(-,root,root,-)
171 %{odeapp_home}/bin/*
172 %{odeapp_home}/res/*
173 %{TZ_SYS_RO_PACKAGES}/org.tizen.ode.xml
174
175 ## Secure Erase Interface Package ################################
176 %package -n org.tizen.secure-erase
177 Summary: Tizen ODE Secure Erase Interface
178 Group: Security/Other
179 BuildRequires: pkgconfig(vconf)
180 BuildRequires: pkgconfig(aul)
181 BuildRequires: pkgconfig(evas)
182 BuildRequires: pkgconfig(appsvc)
183 BuildRequires: pkgconfig(efl-extension)
184 BuildRequires: pkgconfig(elementary)
185 BuildRequires: pkgconfig(capi-ui-efl-util)
186 BuildRequires: pkgconfig(capi-appfw-application)
187 BuildRequires: pkgconfig(capi-system-system-settings)
188 BuildRequires: pkgconfig(notification)
189
190 %description -n org.tizen.secure-erase
191 The org.tizen.secure-erase package provides a interface of Tizen ODE Secure Erase
192
193 %define secure_erase_home %{TZ_SYS_RO_APP}/org.tizen.secure-erase
194
195 %files -n org.tizen.secure-erase -f secure-erase.lang
196 %defattr(-,root,root,-)
197 %manifest tools/apps/secure-erase/org.tizen.secure-erase.manifest
198 %{secure_erase_home}/bin/*
199 /usr/share/icons/default/small/org.tizen.secure-erase.png
200 %{TZ_SYS_RO_PACKAGES}/org.tizen.secure-erase.xml