2 %define _dumpdir /opt/etc/dump.d/module.d
3 %define _varlibdir /opt/var/lib
6 Summary: Bluetooth framework for BlueZ and Obexd. This package is Bluetooth framework based on BlueZ and Obexd stack.
9 Group: Network & Connectivity/Bluetooth
11 Source0: %{name}-%{version}.tar.gz
12 Source1001: bluetooth-frwk.manifest
15 %if "%{?profile}" != "mobile"
16 Requires: bluetooth-tools
18 BuildRequires: pkgconfig(aul)
19 BuildRequires: pkgconfig(dlog)
20 BuildRequires: pkgconfig(glib-2.0)
21 BuildRequires: pkgconfig(gio-2.0)
22 BuildRequires: pkgconfig(gio-unix-2.0)
23 BuildRequires: pkgconfig(syspopup-caller)
24 BuildRequires: pkgconfig(vconf)
25 BuildRequires: pkgconfig(libxml-2.0)
26 BuildRequires: pkgconfig(capi-network-connection)
27 BuildRequires: pkgconfig(alarm-service)
28 BuildRequires: pkgconfig(capi-content-mime-type)
29 BuildRequires: pkgconfig(appcore-efl)
30 BuildRequires: pkgconfig(pkgmgr)
31 #BuildRequires: pkgconfig(journal)
32 BuildRequires: pkgconfig(eventsystem)
33 BuildRequires: pkgconfig(libsoup-2.4)
34 BuildRequires: pkgconfig(capi-network-tethering)
36 BuildRequires: pkgconfig(cynara-client)
37 BuildRequires: pkgconfig(cynara-creds-gdbus)
38 BuildRequires: pkgconfig(libtzplatform-config)
39 BuildRequires: pkgconfig(storage)
40 BuildRequires: pkgconfig(capi-system-info)
42 Requires(post): /usr/bin/vconftool
43 Requires(post): /sbin/ldconfig
44 Requires(postun): /sbin/ldconfig
48 Bluetooth framework for BlueZ and Obexd. This package is Bluetooth framework based on BlueZ and Obexd stack.
49 This package contains API set for BT GAP, BT SDP, and BT RFCOMM.
51 %package profile_common
52 Summary: bluetooth-frwk service and conf files for common profile
53 Requires: %{name} = %{version}-%{release}
54 Conflicts: %{name}-profile_mobile
55 Conflicts: %{name}-profile_wearable
56 Conflicts: %{name}-profile_tv
57 Conflicts: %{name}-profile_ivi
58 %description profile_common
59 Bluetooth framework configuration and service files for Tizen common profile
61 %package profile_mobile
62 Summary: bluetooth-frwk service and conf files for mobile profile
63 Requires: %{name} = %{version}-%{release}
64 Conflicts: %{name}-profile_common
65 Conflicts: %{name}-profile_wearable
66 Conflicts: %{name}-profile_tv
67 Conflicts: %{name}-profile_ivi
68 %description profile_mobile
69 Bluetooth framework configuration and service files for Tizen mobile profile
72 %ifarch %{ix86} || %{arm}
73 %package extension-TM1
74 Summary: bluetooth-frwk service and conf files for mobile TM1
75 Requires: %{name}-profile_mobile = %{version}-%{release}
76 %description extension-TM1
77 Bluetooth framework configuration and service files for Tizen mobile TM1
80 %package profile_wearable
81 Summary: bluetooth-frwk service and conf files for wearable profile
82 Requires: %{name} = %{version}-%{release}
83 Conflicts: %{name}-profile_mobile
84 Conflicts: %{name}-profile_common
85 Conflicts: %{name}-profile_tv
86 Conflicts: %{name}-profile_ivi
87 %description profile_wearable
88 Bluetooth framework configuration and service files for Tizen wearable profile
91 Summary: bluetooth-frwk service and conf files for tv profile
92 Requires: %{name} = %{version}-%{release}
93 Conflicts: %{name}-profile_mobile
94 Conflicts: %{name}-profile_wearable
95 Conflicts: %{name}-profile_common
96 Conflicts: %{name}-profile_ivi
97 %description profile_tv
98 Bluetooth framework configuration and service files for Tizen tv profile
101 Summary: bluetooth-frwk service and conf files for ivi profile
102 Requires: %{name} = %{version}-%{release}
103 Conflicts: %{name}-profile_mobile
104 Conflicts: %{name}-profile_wearable
105 Conflicts: %{name}-profile_tv
106 Conflicts: %{name}-profile_common
107 %description profile_ivi
108 Bluetooth framework configuration and service files for Tizen ivi profile
111 Summary: Bluetooth framework for BlueZ and Obexd
112 Group: Development/Libraries
113 Requires: %{name} = %{version}-%{release}
116 This package is development files for Bluetooth framework based on BlueZ and Obexd stack.
117 This package contains API set for BT GAP, BT SDP, and BT RFCOMM.
120 Summary: Bluetooth Service daemon
121 Group: Network & Connectivity/Bluetooth
122 Requires: %{name} = %{version}-%{release}
125 This package is Bluetooth Service daemon to manage BT services.
128 Summary: Bluetooth HTTP Proxy Service daemon
130 Requires: %{name} = %{version}-%{release}
132 %description httpproxy
133 This package is Bluetooth HTTP Proxy Service daemon
136 Summary: Bluetooth Core daemon
137 Group: Network & Connectivity/Bluetooth
138 Requires: %{name} = %{version}-%{release}
141 This package is Bluetooth core daemon to manage activation / deactivation.
144 Summary: Bluetooth test application
145 Group: Network & Connectivity/Bluetooth
146 Requires: %{name} = %{version}-%{release}
149 This package is Bluetooth test application.
151 %package plugin-headed
152 Summary: Bluetooth plugin Headed
153 Group: Network & Connectivity/Bluetooth
154 Requires: %{name} = %{version}-%{release}
156 %description plugin-headed
157 This package is Bluetooth plugin to manage UI and syspopup
165 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
166 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
167 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
170 export CFLAGS="$CFLAGS -Wall -g -fvisibility=hidden -fPIC"
171 export CFLAGS+=" -DARCH64"
172 export CXXFLAGS+=" -DARCH64"
173 export FFLAGS+=" -DARCH64"
175 export CFLAGS="$CFLAGS -fpie"
176 export LDFLAGS="$CFLAGS -pie"
179 export CFLAGS="$CFLAGS -DTIZEN_FEATURE_BT_RFCOMM_DIRECT"
180 export LDFLAGS="$CFLAGS -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs"
182 %if "%{?_with_emulator}" == "1"
183 export CFLAGS="$CFLAGS -DTIZEN_TEST_EMUL"
184 export CXXFLAGS="$CXXFLAGS -DTIZEN_TEST_EMUL"
185 export FFLAGS="$FFLAGS -DTIZEN_TEST_EMUL"
190 export CFLAGS+=" -DARCH64"
191 export CXXFLAGS+=" -DARCH64"
192 export FFLAGS+=" -DARCH64"
195 export CFLAGS_DEFAULT="$CFLAGS"
196 export CXXFLAGS_DEFAULT="$CXXFLAGS"
197 export FFLAGS_DEFAULT="$FFLAGS"
200 %ifarch %{ix86} || %{arm}
202 export CFLAGS="$CFLAGS_DEFAULT -DTIZEN_FEATURE_RADIO"
203 export CXXFLAGS="$CXXFLAGS_DEFAULT -DTIZEN_FEATURE_RADIO"
204 export FFLAGS="$FFLAGS_DEFAULT -DTIZEN_FEATURE_RADIO"
206 cmake . -DCMAKE_INSTALL_PREFIX=/usr \
207 -DCMAKE_LIB_DIR=%{_libdir} \
208 -DTZ_SYS_USER_GROUP=%TZ_SYS_USER_GROUP \
209 -DTZ_SYS_DEFAULT_USER=%TZ_SYS_DEFAULT_USER \
210 -DLIBNOTIFY_SUPPORT=Off \
211 -DLIBNOTIFICATION_SUPPORT=Off
217 cp %{buildroot}%{_bindir}/bt-core tm1/bt-core.tm1
221 export CFLAGS="$CFLAGS_DEFAULT"
222 export CXXFLAGS="$CXXFLAGS_DEFAULT"
223 export FFLAGS="$FFLAGS_DEFAULT"
225 cmake . -DCMAKE_INSTALL_PREFIX=/usr \
226 -DCMAKE_LIB_DIR=%{_libdir} \
227 -DTZ_SYS_USER_GROUP=%TZ_SYS_USER_GROUP \
228 -DTZ_SYS_DEFAULT_USER=%TZ_SYS_DEFAULT_USER \
229 -DLIBNOTIFY_SUPPORT=Off \
230 -DLIBNOTIFICATION_SUPPORT=Off
239 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk
240 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk-service
241 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk-httpproxy
242 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk-devel
244 mkdir -p %{buildroot}%{_unitdir}/starter.target.wants
245 mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
247 # Rename the postfix (.mobile, .tv, ..) at post script
249 install -m 0644 packaging/bluetooth-frwk-mobile.service %{buildroot}%{_unitdir}/bluetooth-frwk.service.mobile
252 %ifarch %{ix86} || %{arm}
253 cp tm1/bt-core.tm1 %{buildroot}%{_bindir}/
254 install -m 0644 packaging/bluetooth-frwk-mobile-sprd.service %{buildroot}%{_unitdir}/bluetooth-frwk.service.tm1
258 install -m 0644 packaging/bluetooth-frwk-wearable.service %{buildroot}%{_unitdir}/bluetooth-frwk.service.wearable
259 # On IVI bt-service needs to be run as 'app' even if there is a 'guest' user.
260 cp %{buildroot}%{_datadir}/dbus-1/system-services/org.projectx.bt.service %{buildroot}%{_datadir}/dbus-1/system-services/org.projectx.bt.service.ivi
261 sed -i 's/%TZ_SYS_DEFAULT_USER/app/' %{buildroot}%{_datadir}/dbus-1/system-services/org.projectx.bt.service.ivi
264 install -m 0644 packaging/bluetooth-frwk-tv.service %{buildroot}%{_unitdir}/bluetooth-frwk.service.tv
267 install -m 0644 packaging/bluetooth-frwk-common.service %{buildroot}%{_unitdir}/bluetooth-frwk.service.common
269 ln -s ../bluetooth-frwk.service %{buildroot}%{_unitdir}/multi-user.target.wants/bluetooth-frwk.service
270 ln -s ../bluetooth-frwk.service %{buildroot}%{_unitdir}/starter.target.wants/bluetooth-frwk.service
272 %postun -p /sbin/ldconfig
275 %manifest %{name}.manifest
276 %defattr(-, root, root)
277 %{_libdir}/libbluetooth-api.so.*
278 %{_datadir}/license/bluetooth-frwk
281 %defattr(-, root, root)
282 %{_includedir}/bt-service/bluetooth-api.h
283 %{_includedir}/bt-service/bluetooth-hid-api.h
284 %{_includedir}/bt-service/bluetooth-audio-api.h
285 %{_includedir}/bt-service/bluetooth-telephony-api.h
286 %{_includedir}/bt-service/bluetooth-media-control.h
287 %{_includedir}/bt-service/bluetooth-scmst-api.h
288 %{_includedir}/bt-service/bluetooth-ipsp-api.h
289 %{_libdir}/pkgconfig/bluetooth-api.pc
290 %{_libdir}/libbluetooth-api.so
291 %{_datadir}/license/bluetooth-frwk-devel
294 %manifest %{name}.manifest
295 %defattr(-, root, root)
296 %{_bindir}/bt-service
297 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-service.conf
298 %{_bindir}/bluetooth-frwk-test
299 %{_varlibdir}/bluetooth
300 %{_prefix}/etc/bluetooth
301 %{_datadir}/license/bluetooth-frwk-service
304 %manifest %{name}.manifest
305 %defattr(-, root, root)
306 %{_bindir}/bt-httpproxy
307 %{_datadir}/license/bluetooth-frwk-httpproxy
308 %{_datadir}/dbus-1/system-services/org.projectx.httpproxy.service
309 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-httpproxy.conf
312 %manifest %{name}.manifest
313 %defattr(-, root, root)
314 %{_datadir}/dbus-1/system-services/org.projectx.bt_core.service
316 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-core.conf
319 %manifest %{name}.manifest
320 %defattr(-, root, root)
321 %{_bindir}/bluetooth-frwk-test
322 #{_bindir}/bluetooth-gatt-test
323 #{_bindir}/bluetooth-advertising-test
326 %manifest %{name}.manifest
327 %defattr(-, root, root)
328 %{_libdir}/bt-plugin-headed.so
332 mv bluetooth-frwk.service.common bluetooth-frwk.service
334 %preun profile_common
336 mv bluetooth-frwk.service bluetooth-frwk.service.common
338 %files profile_common
339 %{_unitdir}/starter.target.wants/bluetooth-frwk.service
340 %{_unitdir}/bluetooth-frwk.service.common
341 %{_datadir}/dbus-1/system-services/org.projectx.bt.service
345 mv bluetooth-frwk.service.mobile bluetooth-frwk.service
347 %preun profile_mobile
349 mv bluetooth-frwk.service bluetooth-frwk.service.mobile
351 %files profile_mobile
352 %{_unitdir}/multi-user.target.wants/bluetooth-frwk.service
353 %{_unitdir}/bluetooth-frwk.service.mobile
354 %{_datadir}/dbus-1/system-services/org.projectx.bt.service
357 %ifarch %{ix86} || %{arm}
360 mv bluetooth-frwk.service.tm1 bluetooth-frwk.service
363 mv bt-core.tm1 bt-core
367 mv bluetooth-frwk.service bluetooth-frwk.service.tm1
370 mv bt-core bt-core.tm1
373 %{_unitdir}/bluetooth-frwk.service.tm1
374 %defattr(-, root, root)
375 %{_bindir}/bt-core.tm1
378 %post profile_wearable
380 mv bluetooth-frwk.service.wearable bluetooth-frwk.service
382 %preun profile_wearable
384 mv bluetooth-frwk.service bluetooth-frwk.service.wearable
386 %files profile_wearable
387 %{_unitdir}/multi-user.target.wants/bluetooth-frwk.service
388 %{_unitdir}/bluetooth-frwk.service.wearable
389 %{_datadir}/dbus-1/system-services/org.projectx.bt.service
393 mv bluetooth-frwk.service.tv bluetooth-frwk.service
397 mv bluetooth-frwk.service bluetooth-frwk.service.tv
400 %{_unitdir}/multi-user.target.wants/bluetooth-frwk.service
401 %{_unitdir}/bluetooth-frwk.service.tv
402 %{_datadir}/dbus-1/system-services/org.projectx.bt.service
404 # Note: ivi reuses bluetooth-frwk.service.wearable
407 mv bluetooth-frwk.service.wearable bluetooth-frwk.service
409 pushd %{_datadir}/dbus-1/system-services
410 mv org.projectx.bt.service.ivi org.projectx.bt.service
414 mv bluetooth-frwk.service bluetooth-frwk.service.wearable
416 pushd %{_datadir}/dbus-1/system-services
417 mv org.projectx.bt.service org.projectx.bt.service.ivi
420 %{_unitdir}/multi-user.target.wants/bluetooth-frwk.service
421 %{_unitdir}/bluetooth-frwk.service.wearable
422 %{_datadir}/dbus-1/system-services/org.projectx.bt.service.ivi
424 ### added /usr/etc/bluetooth/wearable/stack_info (others: /usr/etc/bluetooth/stack_info))
425 # (for PROFILE WEARABLE)