Move a ode app from device-policy-manager
[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 %clean
60 rm -rf %{buildroot}
61
62 %postun
63
64 ## ODE Client Package ########################################################
65 %package -n libode
66 Summary: Library for Tizen device encryption and secure erase
67 Group: Security/Libraries
68 BuildRequires: pkgconfig(libtzplatform-config)
69 Requires: %{name} = %{version}-%{release}
70 Requires(post): /sbin/ldconfig
71 Requires(postun): /sbin/ldconfig
72
73 %description -n libode
74 The libode package contains the libraries needed to encrypt/decrypt storages and secure erasing.
75
76 %post -n libode -p /sbin/ldconfig
77
78 %postun -n libode -p /sbin/ldconfig
79
80 %files -n libode
81 %manifest ode.manifest
82 %defattr(644,root,root,755)
83 %attr(755,root,root) %{_libdir}/libode.so.%{version}
84 %{_libdir}/libode.so.0
85
86 ## Devel Package ##############################################################
87 %package -n libode-devel
88 Summary: Libraries and header files for device encryption client development
89 Group: Development/Libraries
90 Requires: libode = %{version}-%{release}
91
92 %description -n libode-devel
93 The libode-devel package includes the libraries and header files necessary for
94 developing device encryption client program.
95
96 %files -n libode-devel
97 %manifest ode.manifest
98 %defattr(644,root,root,755)
99 %{_libdir}/libode.so
100 %{_includedir}/ode
101 %{_libdir}/pkgconfig/ode.pc
102
103 ## Unittest Package ###########################################################
104 %package -n unit-tests
105 Summary: Unit tests to verify components of device encryption
106 Group: Security/Testing
107 Requires: libode = %{version}-%{release}
108
109 %description -n unit-tests
110 The libode-devel package includes the libraries and header files necessary for
111 developing device encryption client program.
112
113 %files -n unit-tests
114 %manifest ode.manifest
115 %defattr(644,root,root,755)
116 %attr(755,root,root) %{_bindir}/ode-engine-unit-tests
117
118 ## ODE App package #############################################################
119 %package -n org.tizen.ode-gui
120 Summary: Tizen ODE User Interface
121 Group: Security/Other
122 BuildRequires: pkgconfig(glib-2.0)
123 BuildRequires: pkgconfig(dlog)
124 BuildRequires: pkgconfig(evas)
125 BuildRequires: pkgconfig(elementary)
126 BuildRequires: pkgconfig(efl-extension)
127 BuildRequires: pkgconfig(capi-ui-efl-util)
128 BuildRequires: pkgconfig(capi-appfw-app-control)
129 BuildRequires: pkgconfig(capi-appfw-application)
130
131 %description -n org.tizen.ode-gui
132 Tizen ODE User Interface for device policy management
133
134 %define odeguiapp_home %{TZ_SYS_RO_APP}/org.tizen.ode-gui
135
136 %post -n org.tizen.ode-gui
137 ln -sf %{odeguiapp_home}/bin/org.tizen.ode-gui /usr/bin/ode-gui
138
139 %files -n org.tizen.ode-gui
140 %defattr(-,root,root,-)
141 %{odeguiapp_home}/bin/*
142 %{odeguiapp_home}/res/*
143 %{TZ_SYS_RO_PACKAGES}/org.tizen.ode-gui.xml
144
145 ## ODE App package ################################################
146 %package -n org.tizen.ode
147 Summary: Tizen ODE User Interface
148 Group: Security/Other
149 BuildRequires: pkgconfig(glib-2.0)
150 BuildRequires: pkgconfig(elementary)
151 BuildRequires: pkgconfig(dlog)
152 BuildRequires: pkgconfig(efl-extension)
153 BuildRequires: pkgconfig(libxml-2.0)
154 BuildRequires: pkgconfig(evas)
155 BuildRequires: pkgconfig(vconf)
156 BuildRequires: pkgconfig(capi-appfw-app-control)
157 BuildRequires: pkgconfig(capi-appfw-application)
158 BuildRequires: pkgconfig(capi-system-runtime-info)
159 BuildRequires: pkgconfig(capi-system-device)
160 BuildRequires: pkgconfig(capi-system-system-settings)
161
162 %description -n org.tizen.ode
163 Tizen ODE User Interface for device policy management
164
165 %define odeapp_home %{TZ_SYS_RO_APP}/org.tizen.ode
166
167 %files -n org.tizen.ode
168 %defattr(-,root,root,-)
169 %{odeapp_home}/bin/*
170 %{odeapp_home}/res/*
171 %{TZ_SYS_RO_PACKAGES}/org.tizen.ode.xml