Add test for event loop
[platform/core/system/swap-manager.git] / packaging / swap-manager.spec
1 %bcond_with emulator
2
3 Name:       swap-manager
4 Summary:    SWAP manager
5 Version:    3.0
6 Release:    1
7 Group:      System/Libraries
8 License:    Apache-2.0, MIT
9 Source:    %{name}_%{version}.tar.gz
10
11 # setup config
12 %define SET_TESTING 0
13 %define SWAP_MODULES_SUPPORT 1
14 %define NSP_SUPPORT 0
15 %define WSP_SUPPORT 0
16 %define WAYLAND_SUPPORT 0
17 %define SYSTEMD_SUPPORT 1
18
19 %if "%{_with_wayland}" == "1"
20 %define WAYLAND_SUPPORT 1
21 %endif # _with_wayland
22
23 # for mobile/werable/tv product
24 %if "%{sec_product_feature_profile_lite}" == "1" || "%{sec_product_feature_profile_wearable}" == "1" || "%{TIZEN_PRODUCT_TV}" == "1"
25 %define TIZEN_PRODUCT 1
26 %define WSP_SUPPORT 0
27 %endif
28
29 %ifarch armv7l
30 %define ARCH armv7l
31 %endif
32 %ifarch armv7hl
33 %define ARCH armv7hl
34 %endif
35
36 %if %{with emulator}
37 ExcludeArch: x86_64
38 %else
39 ExcludeArch: %{ix86} x86_64
40 %endif
41
42 BuildRequires: cmake
43 BuildRequires: boost-devel
44 BuildRequires: smack-devel
45 BuildRequires: cynara-devel
46 BuildRequires: pkgmgr-info-devel
47 BuildRequires: libattr-devel
48 BuildRequires: glib2-devel
49 BuildRequires: aul-devel
50 BuildRequires: vconf-devel
51 BuildRequires: capi-system-info-devel
52 BuildRequires: capi-system-runtime-info-devel
53 BuildRequires: pkgconfig(ecore)
54 BuildRequires: launchpad
55 BuildRequires: app-core-efl
56 BuildRequires: capi-appfw-application
57 BuildRequires: libwayland-egl
58 BuildRequires:  evas-devel
59 BuildRequires:  elementary-devel
60 %if "%{TIZEN_PRODUCT}" != "1"
61 BuildRequires: app-core-efl-debuginfo
62 BuildRequires: capi-appfw-application-debuginfo
63 %endif
64 BuildRequires: swap-probe-devel
65 BuildRequires: swap-probe-elf
66 BuildRequires: swap-probe
67 BuildRequires: pkgconfig(libtzplatform-config)
68
69 %if %{SYSTEMD_SUPPORT}
70 BuildRequires: systemd-devel
71 %endif
72
73 # graphic support
74 %if %{WAYLAND_SUPPORT}
75 BuildRequires: pkgconfig(gles20)
76 BuildRequires: pkgconfig(wayland-egl)
77 BuildRequires: pkgconfig(egl)
78 BuildRequires: pkgconfig(wayland-server)
79 BuildRequires: pkgconfig(wayland-tbm-client)
80 BuildRequires: pkgconfig(screenshooter-client)
81 BuildRequires: pkgconfig(ecore-wayland)
82 BuildRequires: pkgconfig(wayland-client) >= 1.0.0
83 BuildRequires: pkgconfig(tizen-extension-client)
84 %endif
85
86
87 %if %{WSP_SUPPORT}
88 BuildRequires: crosswalk-tizen
89 %endif
90
91 Requires: swap-probe
92 Requires: swap-probe-elf
93 Requires: sdbd
94
95
96 %description
97 SWAP manager is a part of data collection back-end for DA.
98 This binary will be installed in target.
99
100 %prep
101 %setup -q -n %{name}_%{version}
102
103 %build
104 pushd scripts
105 echo "__tizen_profile_name__="%{?profile} > dyn_vars
106 echo "__tizen_product__="%{?TIZEN_PRODUCT} >> dyn_vars
107 echo "__tizen_product_wearable__="%{sec_product_feature_profile_wearable} >> dyn_vars
108 echo "__tizen_product_lite__="%{sec_product_feature_profile_lite} >> dyn_vars
109 popd
110
111 # set environment
112 %if %{NSP_SUPPORT}
113   export NSP_SUPPORT=y
114 %endif
115
116 %if %{WSP_SUPPORT}
117   export WSP_SUPPORT=y
118 %endif
119
120 %if %{SYSTEMD_SUPPORT}
121   export SYSTEMD_SUPPORT=y
122 %endif
123
124 export INCLUDEDIR=%{_includedir}
125 export BINDIR=%{_bindir}
126 export LIBDIR=%{_libdir}
127 export LIB=%{_lib}
128 export LINKER_PATH=$(readlink -f $(parse_elf -f %{_bindir}/parse_elf -i))
129
130 # build "cmake"
131 mkdir build && cd build
132 cmake -DBINDIR=%{_bindir} -DLIBDIR=%{_libdir} ../src/ && make VERBOSE=1 || false
133 cd -
134
135 # build manager
136 cd daemon && make && cd - || false
137
138 # build ui_viewer
139 cd ui_viewer && make %{?ARCH:ARCH=%{ARCH}} && cd - || false
140
141 # run tests
142 %if %{SET_TESTING}
143   mkdir build_tests && cd build_tests
144   cmake ../tests/ && make && make test || false
145   cd -
146 %endif
147
148 %install
149 rm -rf ${RPM_BUILD_ROOT}
150
151 # set environment
152 export BINDIR=%{_bindir}
153 export LIBDIR=%{_libdir}
154
155 %if %{SYSTEMD_SUPPORT}
156
157 # systemd
158 #   system
159 mkdir -p %{buildroot}%{_unitdir}
160 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
161 #   user
162 mkdir -p %{buildroot}%{_unitdir_user}
163 mkdir -p %{buildroot}%{_unitdir_user}/sockets.target.wants
164
165 #   swap_manager
166 %if %{SWAP_MODULES_SUPPORT}
167   install -m 0644 systemd/swap_manager.service.modules %{buildroot}%{_unitdir}/swap_manager.service
168 %else
169   install -m 0644 systemd/swap_manager.service.builtin_modules %{buildroot}%{_unitdir}/swap_manager.service
170 %endif
171 install -m 0644 systemd/swap_manager.socket %{buildroot}%{_unitdir}/
172 install -m 0644 systemd/swap_manager.path %{buildroot}%{_unitdir}/
173 ln -s ../swap_manager.path %{buildroot}%{_unitdir}/multi-user.target.wants/
174
175 #   swap_auxd
176 install -m 0644 systemd/swap_auxd.service %{buildroot}%{_unitdir_user}/
177 install -m 0644 systemd/swap_auxd.socket %{buildroot}%{_unitdir_user}/
178 ln -s ../swap_auxd.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/
179
180 #   swap_memd
181 install -m 0644 systemd/swap_memd.service %{buildroot}%{_unitdir_user}/
182 install -m 0644 systemd/swap_memd.socket %{buildroot}%{_unitdir_user}/
183 ln -s ../swap_memd.socket %{buildroot}%{_unitdir_user}/sockets.target.wants/
184
185 # tmpfiles.d
186 mkdir -p %{buildroot}%{_tmpfilesdir}
187 install -m 0666 systemd/swap.conf %{buildroot}%{_tmpfilesdir}/swap.conf
188
189 # udev rules
190 mkdir -p %{buildroot}%{_udevrulesdir}
191 install -m 0666 systemd/99-swap_dev.rules %{buildroot}%{_udevrulesdir}/99-swap_dev.rules
192
193 export SYSTEMD_SUPPORT=y
194
195 %endif # SYSTEMD_SUPPORT
196
197 # install manager
198 cd daemon
199 %make_install
200 cd ..
201
202 # install ui_viwer
203 cd ui_viewer
204 %make_install
205 cd ..
206
207 # install "cmake"
208 cd build
209 %make_install
210 cd -
211
212 %post
213 mkdir -p %{TZ_SYS_ETC}
214 touch %{TZ_SYS_ETC}/resourced_proc_exclude.ini
215
216 # update units
217 systemctl daemon-reload
218 su - owner -c "systemctl --user daemon-reload"
219
220
221 %files
222 %license LICENSE.Apache
223 %license LICENSE.MIT
224 %manifest swap-manager.manifest
225
226 %defattr(-,root,root,-)
227
228 %if %{SYSTEMD_SUPPORT}
229 # swap_manager
230 %{_unitdir}/swap_manager.socket
231 %{_unitdir}/swap_manager.service
232 %{_unitdir}/swap_manager.path
233 %{_unitdir}/multi-user.target.wants/swap_manager.path
234
235 # swap_auxd
236 %{_unitdir_user}/swap_auxd.socket
237 %{_unitdir_user}/swap_auxd.service
238 %{_unitdir_user}/sockets.target.wants/swap_auxd.socket
239
240 # swap_memd
241 %{_unitdir_user}/swap_memd.socket
242 %{_unitdir_user}/swap_memd.service
243 %{_unitdir_user}/sockets.target.wants/swap_memd.socket
244
245 %{_tmpfilesdir}/swap.conf
246 %{_udevrulesdir}/99-swap_dev.rules
247
248 %{_bindir}/swap_module.sh
249 %defattr(-,system,system,-)
250 %endif # SYSTEMD_SUPPORT
251
252
253 %{_bindir}/da_manager
254 %{_bindir}/swap_manager
255 %{_bindir}/swap_start.sh
256 %{_bindir}/swap_stop.sh
257 %{_bindir}/swap_init_loader.sh
258 %{_bindir}/swap_init_preload.sh
259 %{_bindir}/swap_init_wsp.sh
260 %{_bindir}/swap_init_gtp.sh
261
262 # uihv
263 %{_libdir}/da_ui_viewer.so
264
265 ## files "cmake"
266 # utils
267 %{_libdir}/libswaputils.so
268
269 # auxd
270 %{_bindir}/swap_auxd
271
272 # swap_memd
273 %{_bindir}/swap_memd
274
275 %changelog