db66c641384ed4ff22bea7ef5acd1b212a313295
[profile/ivi/automotive-message-broker.git] / packaging / automotive-message-broker.spec
1 %bcond_without qt5
2
3 %define enable_plugin_opencvlux OFF
4
5 Name:       automotive-message-broker
6 Summary:    Automotive Message Broker is a vehicle network abstraction system
7 Version:    0.15
8 Release:    0
9 Group:      Automotive/Service
10 License:    LGPL-2.1
11 URL:        https://github.com/otcshare/automotive-message-broker
12 Source0:    %{name}-%{version}.tar.bz2
13 Requires: automotive-message-broker-plugins
14 Requires: automotive-message-broker-plugins-murphy
15 Requires(post): /sbin/ldconfig
16 Requires(postun): /sbin/ldconfig
17 Requires: default-ac-domains
18 Requires: dbus-python
19 Requires: python-curses
20 Requires: python-gobject
21 BuildRequires:  cmake
22 BuildRequires:  boost-devel
23 BuildRequires:  pkgconfig(json-c)
24 BuildRequires:  libtool-ltdl-devel
25 BuildRequires:  pkgconfig(libwebsockets) >= 1.6.0
26 BuildRequires:  pkgconfig(uuid)
27 BuildRequires:  pkgconfig(sqlite3)
28 BuildRequires:  pkgconfig(glib-2.0)
29 BuildRequires:  pkgconfig(libssl)
30 %if %{?enable_plugin_opencvlux} == ON
31 BuildRequires:  pkgconfig(opencv)
32 %endif
33 BuildRequires:  murphy
34 BuildRequires:  pkgconfig(murphy-glib)
35 BuildRequires:  pkgconfig(dbus-1)
36 BuildRequires:  doxygen
37 %if %{with qt5}
38 BuildRequires:  qt5-qtcore-devel
39 BuildRequires:  qt5-qtconcurrent-devel
40 BuildRequires:  qt5-qtdbus-devel
41 BuildRequires:  qt5-qtnetwork-devel
42 BuildRequires:  qt5-qtdeclarative-devel
43 BuildRequires:  qt5-plugin-bearer-generic
44 BuildRequires:  qt5-plugin-bearer-connman
45 BuildRequires:  qt5-plugin-bearer-nm
46 BuildRequires:  qt5-plugin-sqldriver-sqlite
47 %endif
48
49 %description
50 Automotive Message Broker is a vehicle network abstraction system.
51 It brokers information from the vehicle to applications.
52
53 %package devel
54 Summary:    Automotive Message Broker development files
55 Group:      Automotive/API
56 Requires:   %{name} = %{version}-%{release}
57 Requires:   libuuid-devel
58 Requires:   boost-devel
59
60 %description devel
61 Development files for the automotive-message-broker
62
63 %package doc
64 Summary:    Documentation for the automotive-message-broker API
65 Group:      Automotive/Documentation
66 Requires:   %{name} = %{version}-%{release}
67
68 %description doc
69 Document files that describe the D-Bus API exposed by automotive-message-broker
70
71 %if %{with qt5}
72 %package plugins-qtmainloop
73 Summary:    qt5 mainloop plugin
74 Group:      Automotive/Libraries
75 Requires:   %{name} = %{version}-%{release}
76 Requires:   qt5-qtcore
77
78 %description plugins-qtmainloop
79 Qt mainloop plugin enables qt-based source and sink plugins to run using qt mainloop
80
81 %package plugins-websocket
82 Summary:    Websocket source and sink plugins
83 Group:      Automotive/Libraries
84 Requires:   %{name} = %{version}-%{release}
85 Requires:   libwebsockets
86 Requires:   qt5-qtcore
87
88 %description plugins-websocket
89 websocket source and sink plugins
90
91 %if %{?enable_plugin_opencvlux} == ON
92 %package plugins-opencvlux
93 Summary:    Plugin for simulating ExteriorBrightness using a common webcam
94 Group:      Automotive/Libraries
95 Requires:   %{name} = %{version}-%{release}
96 Requires:   opencv
97
98 %description plugins-opencvlux
99 Plugin for simulating ExteriorBrightness using a common webcam
100 %endif
101
102 %package plugins-bluetooth
103 Summary:   Interface to AMB over bluetooth
104 Group:     Automotive/Libraries
105 Requires:  %{name} = %{version}-%{release}
106
107 %description plugins-bluetooth
108 Bluetooth SPP server interface
109 %endif
110
111 %package plugins
112 Summary:    Various plugins for automotive-message-broker
113 Group:      Automotive/Libraries
114 Requires:   %{name} = %{version}-%{release}
115
116 %description plugins
117 Collection of plugins for automotive-message-broker.  Contains example, demo and dbus plugins.
118
119 %package plugins-common
120 Summary:  Common plugin library
121 Group:    Automotive/Libraries
122 Requires: %{name} = %{version}-%{release}
123
124 %description plugins-common
125 library containing a kitchen-sink of common utility functions
126
127 %package plugins-obd2
128 Summary:    OBD-II plugin
129 Group:      Automotive/Libraries
130 Requires:   %{name} = %{version}-%{release}
131 Requires:   %{name}-plugins-common = %{version}-%{release}
132
133 %description plugins-obd2
134 OBD-II plugin that uses ELM 327-compatible scantools to access vehicle data
135
136 %package plugins-wheel
137 Summary:    Source plugin for using the Logitech G27 racing wheel
138 Group:      Automotive/Libraries
139 Requires:   %{name} = %{version}-%{release}
140
141 %description plugins-wheel
142 source plugin for using the Logitech G27 racing wheel package
143
144 %package plugins-database
145 Summary:    Database logging plugin for automotive-message-broker
146 Group:      Automotive/Libraries
147 Requires:   %{name} = %{version}-%{release}
148 Requires:  sqlite
149
150 %description plugins-database
151 Database logging plugin for automotive-message-broker package
152
153 %package plugins-murphy
154 Summary:   Plugin for integration with the murphy policy system
155 Group:     Automotive/Libraries
156 Requires:  %{name} = %{version}-%{release}
157 Requires:  murphy
158
159 %description plugins-murphy
160 Plugin for integration with the murphy policy system package
161
162 %package plugins-gpsnmea
163 Summary:   Plugin that provides gps data from nmea devices
164 Group:     Automotive/Libraries
165 Requires:  %{name} = %{version}-%{release}
166
167 %description plugins-gpsnmea
168 Plugin that provides location data from nmea devices including bluetooth
169
170 %package plugins-test
171 Summary:   Plugin that tests AMB code
172 Group:     Automotive/Libraries
173 Requires:  %{name} = %{version}-%{release}
174
175 %description plugins-test
176 Plugin that tests some internal AMB code and plugin functionality.  This plugin will assert if something is wrong.
177
178 %package plugins-cangen
179 Summary:   Plugin that generates CAN data
180 Group:     Automotive/Libraries
181 Requires:  %{name} = %{version}-%{release}
182
183 %description plugins-cangen
184 CAN frames generator plug-in for the AMB CAN Simulator
185
186 %package plugins-cansim
187 Summary:   CAN frames listener plug-in for the AMB CAN Simulator
188 Group:     Automotive/Libraries
189 Requires:  %{name} = %{version}-%{release}
190
191 %description plugins-cansim
192 CAN frames listener plug-in for the AMB CAN Simulator package
193
194 %if %{with qt5}
195 %package plugins-bluemonkey
196 Summary:   javascript plugin engine
197 Group:     Automotive/Libraries
198 Requires:  %{name} = %{version}-%{release}
199 Requires: qt5-qtdeclarative
200 Requires: %{name}-plugins-qtmainloop
201
202 %description plugins-bluemonkey
203 Engine for creating scriptable plugins for AMB
204
205 %package -n bluemonkey-modules-db
206 Summary:   javascript plugin engine db module
207 Group:     Automotive/Libraries
208 Requires:  %{name} = %{version}-%{release}
209 Requires: qt5-plugin-sqldriver-sqlite
210
211 %description -n bluemonkey-modules-db
212 Engine for creating scriptable plugins for AMB - db module
213
214 %package -n bluemonkey-modules-dbus
215 Summary:   javascript plugin engine dbus module
216 Group:     Automotive/Libraries
217 Requires:  %{name} = %{version}-%{release}
218 Requires:  qt5-qtdbus
219
220 %description -n bluemonkey-modules-dbus
221 Engine for creating scriptable plugins for AMB - dbus module
222
223 %endif
224
225 %package xwalk-vehicle-extension
226 Summary:  crosswalk vehicle API extension
227 Group:    Automotive/Libraries
228 Requires:  %{name} = %{version}-%{release}
229 Requires: crosswalk
230
231 %description xwalk-vehicle-extension
232 Crosswalk vehicle API extension based on the W3C Automotive Business Group Vehicle and Data API Specification
233
234 %prep
235 %setup -q -n %{name}-%{version}
236
237 %build
238 %cmake \
239            -Dxwalk_vehicle_extension=ON \
240            -DXWALK_EXTENSION_PATH=/tizen-extensions-crosswalk \
241 %if %{with qt5}
242            -Dqtmainloop=ON \
243            -Dopencvlux_plugin=%{enable_plugin_opencvlux} \
244            -Dwebsocket_plugin=ON \
245            -Dbluetooth_plugin=ON \
246            -Dbluemonkey_plugin=ON \
247 %endif
248            -Ddatabase_plugin=ON \
249            -Dmurphy_plugin=ON \
250            -Dobd2_plugin=ON \
251            -Dtest_plugin=ON \
252            -Dgpsnmea_plugin=ON \
253            -Dcangen_plugin=ON \
254            -Dcansim_plugin=ON \
255            -Dusebluez5=ON \
256            -Denable_docs=ON
257
258
259 %__make %{?jobs:-j%jobs}
260
261 %install
262 rm -rf %{buildroot}
263 %make_install
264
265 mkdir -p %{buildroot}%{_unitdir}/network.target.wants
266 cp packaging.in/ambd.service.systemd.tizen %{buildroot}%{_unitdir}/ambd.service
267 ln -s ../ambd.service %{buildroot}%{_unitdir}/network.target.wants/ambd.service
268 %install_service multi-user.target.wants ambd.service
269
270 cp packaging/config.tizen %{buildroot}%{_sysconfdir}/ambd/
271
272 %post -p /sbin/ldconfig
273 %postun -p /sbin/ldconfig
274
275 %post plugins -p /sbin/ldconfig
276 %postun plugins -p /sbin/ldconfig
277
278 %files
279 %defattr(-,root,root,-)
280 %manifest packaging/amb.manifest
281 %config %{_sysconfdir}/ambd/config
282 %config %{_sysconfdir}/ambd/config.tizen
283 %config %{_sysconfdir}/ambd/examples/*
284 %{_bindir}/ambd
285 %{_libdir}/libamb.so*
286 %{_unitdir}/ambd.service
287 %{_unitdir}/network.target.wants/ambd.service
288 %{_unitdir}/multi-user.target.wants/ambd.service
289 %{_bindir}/amb-get
290 %{_bindir}/amb-get-history
291 %{_bindir}/amb-set
292 %{_bindir}/amb-listen
293 %{_bindir}/ambctl
294
295 %files devel
296 %defattr(-,root,root,-)
297 %manifest packaging.in/amb.manifest.plugins
298 %{_includedir}/amb/*.h
299 %{_includedir}/amb/*.hpp
300 %{_libdir}/pkgconfig/*.pc
301
302 %if %{with qt5}
303 %files plugins-qtmainloop
304 %defattr(-,root,root,-)
305 %manifest packaging.in/amb.manifest.plugins
306 %{_libdir}/%{name}/qtmainloopplugin.so
307
308 %files plugins-websocket
309 %defattr(-,root,root,-)
310 %manifest packaging.in/amb.manifest.plugins
311 %{_libdir}/%{name}/websocketsource.so
312 %{_libdir}/%{name}/websocketsink.so
313
314 %if %{?enable_plugin_opencvlux} == ON
315 %files plugins-opencvlux
316 %defattr(-,root,root,-)
317 %manifest packaging.in/amb.manifest.plugins
318 %{_libdir}/%{name}/opencvluxplugin.so
319 %{_sysconfdir}/ambd/plugins.d/opencvlux
320 %endif
321
322 %files plugins-bluetooth
323 %defattr(-,root,root,-)
324 %manifest packaging.in/amb.manifest.plugins
325 %{_libdir}/%{name}/bluetoothplugin.so
326 %config %{_sysconfdir}/dbus-1/system.d/ambbt.conf
327 %{_sysconfdir}/ambd/plugins.d/bluetooth
328 %{_bindir}/testAmbBt
329 %endif
330
331 %files plugins
332 %defattr(-,root,root,-)
333 %manifest packaging.in/amb.manifest.plugins
334 %{_libdir}/%{name}/examplesourceplugin.so
335 %{_libdir}/%{name}/examplesinkplugin.so
336 %{_libdir}/%{name}/dbussinkplugin.so
337 %{_libdir}/%{name}/demosinkplugin.so
338 %config %{_sysconfdir}/dbus-1/system.d/amb.conf
339 %{_sysconfdir}/ambd/plugins.d/dbus
340 %{_sysconfdir}/ambd/plugins.d/examplesink
341 %{_sysconfdir}/ambd/plugins.d/examplesource
342
343 %files plugins-common
344 %manifest packaging.in/amb.manifest.plugins
345 %defattr(-,root,root,-)
346 %{_libdir}/libamb-plugins-common.so
347
348 %files plugins-wheel
349 %defattr(-,root,root,-)
350 %manifest packaging.in/amb.manifest.plugins
351 %{_libdir}/%{name}/wheelsourceplugin.so
352
353 %files plugins-obd2
354 %defattr(-,root,root,-)
355 %manifest packaging.in/amb.manifest.plugins
356 %{_libdir}/%{name}/obd2sourceplugin.so
357 %{_sysconfdir}/ambd/plugins.d/obd2
358
359 %files plugins-database
360 %defattr(-,root,root,-)
361 %manifest packaging.in/amb.manifest.plugins
362 %{_libdir}/%{name}/databasesinkplugin.so
363 %{_sysconfdir}/ambd/plugins.d/database
364
365 %files plugins-murphy
366 %defattr(-,root,root,-)
367 %manifest packaging.in/amb.manifest.plugins
368 %{_libdir}/%{name}/murphysourceplugin.so
369
370 %files plugins-gpsnmea
371 %defattr(-,root,root,-)
372 %manifest packaging.in/amb.manifest.plugins
373 %{_libdir}/%{name}/gpsnmea.so
374
375 %files doc
376 %defattr(-,root,root,-)
377 %manifest packaging.in/amb.manifest.plugins
378 %doc %{_docdir}/%{name}/*
379
380 %files plugins-test
381 %defattr(-,root,root,-)
382 %manifest packaging.in/amb.manifest.plugins
383 %{_libdir}/%{name}/testplugin.so
384
385 %files plugins-cangen
386 %defattr(-,root,root,-)
387 %manifest packaging.in/amb.manifest.plugins
388 %{_libdir}/%{name}/cangenplugin.so
389 %{_bindir}/gen-set
390
391 %files plugins-cansim
392 %defattr(-,root,root,-)
393 %manifest packaging.in/amb.manifest.plugins
394 %{_libdir}/%{name}/cansimplugin.so
395
396
397 %if %{with qt5}
398
399 %files plugins-bluemonkey
400 %defattr(-,root,root,-)
401 %manifest packaging.in/amb.manifest.plugins
402 %{_libdir}/%{name}/bluemonkeyplugin.so
403 %config %{_sysconfdir}/ambd/bluemonkey
404 %{_sysconfdir}/ambd/plugins.d/bluemonkey
405
406 %files -n bluemonkey-modules-db
407 %manifest packaging.in/amb.manifest.plugins
408 %{_libdir}/%{name}/bluemonkeyDbModule.so
409
410 %files -n bluemonkey-modules-dbus
411 %manifest packaging.in/amb.manifest.plugins
412 %{_libdir}/%{name}/bluemonkeyDBusModule.so
413
414 %endif
415
416 %files xwalk-vehicle-extension
417 %manifest packaging.in/amb.manifest.plugins
418 %{_libdir}/tizen-extensions-crosswalk/*
419 %{_datadir}/%{name}/xwalk/examples/*