26845c7c34df86f9638fb1de72a09032cd0447fd
[profile/ivi/automotive-message-broker.git] / packaging / automotive-message-broker.spec
1 %bcond_with 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            -DCMAKE_INSTALL_DOCDIR=%{_docdir} \
240            -Dxwalk_vehicle_extension=ON \
241            -DXWALK_EXTENSION_PATH=/tizen-extensions-crosswalk \
242 %if %{with qt5}
243            -Dqtmainloop=ON \
244            -Dopencvlux_plugin=%{enable_plugin_opencvlux} \
245            -Dwebsocket_plugin=ON \
246            -Dbluetooth_plugin=ON \
247            -Dbluemonkey_plugin=ON \
248 %endif
249            -Ddatabase_plugin=ON \
250            -Dmurphy_plugin=ON \
251            -Dobd2_plugin=ON \
252            -Dtest_plugin=ON \
253            -Dgpsnmea_plugin=ON \
254            -Dcangen_plugin=ON \
255            -Dcansim_plugin=ON \
256            -Dusebluez5=ON \
257            -Denable_docs=ON
258
259
260 %__make %{?jobs:-j%jobs}
261
262 %install
263 rm -rf %{buildroot}
264 %make_install
265
266 mkdir -p %{buildroot}%{_unitdir}/network.target.wants
267 cp packaging.in/ambd.service.systemd.tizen %{buildroot}%{_unitdir}/ambd.service
268 ln -s ../ambd.service %{buildroot}%{_unitdir}/network.target.wants/ambd.service
269 %install_service multi-user.target.wants ambd.service
270
271 cp packaging/config.tizen %{buildroot}%{_sysconfdir}/ambd/
272
273 %post -p /sbin/ldconfig
274 %postun -p /sbin/ldconfig
275
276 %post plugins -p /sbin/ldconfig
277 %postun plugins -p /sbin/ldconfig
278
279 %files
280 %defattr(-,root,root,-)
281 %manifest packaging/amb.manifest
282 %config %{_sysconfdir}/ambd/config
283 %config %{_sysconfdir}/ambd/config.tizen
284 %config %{_sysconfdir}/ambd/examples/*
285 %{_bindir}/ambd
286 %{_libdir}/libamb.so*
287 %{_unitdir}/ambd.service
288 %{_unitdir}/network.target.wants/ambd.service
289 %{_unitdir}/multi-user.target.wants/ambd.service
290 %{_bindir}/amb-get
291 %{_bindir}/amb-get-history
292 %{_bindir}/amb-set
293 %{_bindir}/amb-listen
294 %{_bindir}/ambctl
295 %{_sysconfdir}/init.d/ambd
296
297
298 %files devel
299 %defattr(-,root,root,-)
300 %manifest packaging.in/amb.manifest.plugins
301 %{_includedir}/amb/*.h
302 %{_includedir}/amb/*.hpp
303 %{_libdir}/pkgconfig/*.pc
304
305 %if %{with qt5}
306 %files plugins-qtmainloop
307 %defattr(-,root,root,-)
308 %manifest packaging.in/amb.manifest.plugins
309 %{_libdir}/%{name}/qtmainloopplugin.so
310
311 %files plugins-websocket
312 %defattr(-,root,root,-)
313 %manifest packaging.in/amb.manifest.plugins
314 %{_libdir}/%{name}/websocketsource.so
315 %{_libdir}/%{name}/websocketsink.so
316
317 %if %{?enable_plugin_opencvlux} == ON
318 %files plugins-opencvlux
319 %defattr(-,root,root,-)
320 %manifest packaging.in/amb.manifest.plugins
321 %{_libdir}/%{name}/opencvluxplugin.so
322 %{_sysconfdir}/ambd/plugins.d/opencvlux
323 %endif
324
325 %files plugins-bluetooth
326 %defattr(-,root,root,-)
327 %manifest packaging.in/amb.manifest.plugins
328 %{_libdir}/%{name}/bluetoothplugin.so
329 %config %{_sysconfdir}/dbus-1/system.d/ambbt.conf
330 %{_sysconfdir}/ambd/plugins.d/bluetooth
331 %{_bindir}/testAmbBt
332 %endif
333
334 %files plugins
335 %defattr(-,root,root,-)
336 %manifest packaging.in/amb.manifest.plugins
337 %{_libdir}/%{name}/examplesourceplugin.so
338 %{_libdir}/%{name}/examplesinkplugin.so
339 %{_libdir}/%{name}/dbussinkplugin.so
340 %{_libdir}/%{name}/demosinkplugin.so
341 %config %{_sysconfdir}/dbus-1/system.d/amb.conf
342 %{_sysconfdir}/ambd/plugins.d/dbus
343 %{_sysconfdir}/ambd/plugins.d/examplesink
344 %{_sysconfdir}/ambd/plugins.d/examplesource
345
346 %files plugins-common
347 %manifest packaging.in/amb.manifest.plugins
348 %defattr(-,root,root,-)
349 %{_libdir}/libamb-plugins-common.so
350 %{_libdir}/libamb-json-protocol.so
351
352
353 %files plugins-wheel
354 %defattr(-,root,root,-)
355 %manifest packaging.in/amb.manifest.plugins
356 %{_libdir}/%{name}/wheelsourceplugin.so
357
358 %files plugins-obd2
359 %defattr(-,root,root,-)
360 %manifest packaging.in/amb.manifest.plugins
361 %{_libdir}/%{name}/obd2sourceplugin.so
362 %{_sysconfdir}/ambd/plugins.d/obd2
363
364 %files plugins-database
365 %defattr(-,root,root,-)
366 %manifest packaging.in/amb.manifest.plugins
367 %{_libdir}/%{name}/databasesinkplugin.so
368 %{_sysconfdir}/ambd/plugins.d/database
369
370 %files plugins-murphy
371 %defattr(-,root,root,-)
372 %manifest packaging.in/amb.manifest.plugins
373 %{_libdir}/%{name}/murphysourceplugin.so
374
375 %files plugins-gpsnmea
376 %defattr(-,root,root,-)
377 %manifest packaging.in/amb.manifest.plugins
378 %{_libdir}/%{name}/gpsnmea.so
379
380 %files doc
381 %defattr(-,root,root,-)
382 %manifest packaging.in/amb.manifest.plugins
383 %doc %{_docdir}/%{name}/*
384
385 %files plugins-test
386 %defattr(-,root,root,-)
387 %manifest packaging.in/amb.manifest.plugins
388 %{_libdir}/%{name}/testplugin.so
389
390 %files plugins-cangen
391 %defattr(-,root,root,-)
392 %manifest packaging.in/amb.manifest.plugins
393 %{_libdir}/%{name}/cangenplugin.so
394 %{_bindir}/gen-set
395
396 %files plugins-cansim
397 %defattr(-,root,root,-)
398 %manifest packaging.in/amb.manifest.plugins
399 %{_libdir}/%{name}/cansimplugin.so
400
401
402 %if %{with qt5}
403
404 %files plugins-bluemonkey
405 %defattr(-,root,root,-)
406 %manifest packaging.in/amb.manifest.plugins
407 %{_libdir}/%{name}/bluemonkeyplugin.so
408 %config %{_sysconfdir}/ambd/bluemonkey
409 %{_sysconfdir}/ambd/plugins.d/bluemonkey
410 %{_bindir}/bluemonkey
411
412 %files -n bluemonkey-modules-db
413 %manifest packaging.in/amb.manifest.plugins
414 %{_libdir}/%{name}/bluemonkeyDbModule.so
415
416 %files -n bluemonkey-modules-dbus
417 %manifest packaging.in/amb.manifest.plugins
418 %{_libdir}/%{name}/bluemonkeyDBusModule.so
419
420 %endif
421
422 %files xwalk-vehicle-extension
423 %manifest packaging.in/amb.manifest.plugins
424 %{_libdir}/tizen-extensions-crosswalk/*
425 %{_datadir}/%{name}/xwalk/examples/*