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
13 %if %{with bluetooth_frwk_libnotify} || %{with bluetooth_frwk_libnotification}
14 Source1002: bt-icon.png
20 %if "%{?profile}" != "mobile"
21 Requires: bluetooth-tools
23 BuildRequires: pkgconfig(aul)
24 BuildRequires: pkgconfig(dbus-glib-1)
25 BuildRequires: pkgconfig(dlog)
26 BuildRequires: pkgconfig(glib-2.0)
27 BuildRequires: pkgconfig(gio-2.0)
28 BuildRequires: pkgconfig(gio-unix-2.0)
29 %if %{with bluetooth_frwk_libnotify}
30 BuildRequires: pkgconfig(libnotify)
31 BuildRequires: pkgconfig(gdk-pixbuf-2.0)
32 BuildRequires: pkgconfig(gtk+-3.0)
33 %elif %{without bluetooth_frwk_libnotification}
34 BuildRequires: pkgconfig(syspopup-caller)
37 BuildRequires: pkgconfig(syspopup-caller)
39 BuildRequires: pkgconfig(vconf)
40 BuildRequires: pkgconfig(libxml-2.0)
41 BuildRequires: pkgconfig(dbus-1)
43 BuildRequires: pkgconfig(utilX)
45 BuildRequires: pkgconfig(capi-network-connection)
46 BuildRequires: pkgconfig(alarm-service)
47 BuildRequires: pkgconfig(capi-content-mime-type)
48 BuildRequires: pkgconfig(appcore-efl)
49 BuildRequires: pkgconfig(pkgmgr)
50 #BuildRequires: pkgconfig(journal)
51 #BuildRequires: pkgconfig(eventsystem)
52 %if "%{?profile}" == "mobile"
53 BuildRequires: pkgconfig(capi-network-tethering)
56 BuildRequires: pkgconfig(libprivilege-control)
57 BuildRequires: pkgconfig(cynara-client)
58 BuildRequires: pkgconfig(cynara-creds-gdbus)
60 Requires(post): /usr/bin/vconftool
61 Requires(post): /sbin/ldconfig
62 Requires(postun): /sbin/ldconfig
66 Bluetooth framework for BlueZ and Obexd. This package is Bluetooth framework based on BlueZ and Obexd stack.
67 This package contains API set for BT GAP, BT SDP, and BT RFCOMM.
71 Summary: Bluetooth framework for BlueZ and Obexd
72 Group: Development/Libraries
73 Requires: %{name} = %{version}-%{release}
76 This package is development files for Bluetooth framework based on BlueZ and Obexd stack.
77 This package contains API set for BT GAP, BT SDP, and BT RFCOMM.
80 Summary: Bluetooth Service daemon
81 Group: Network & Connectivity/Bluetooth
82 Requires: %{name} = %{version}-%{release}
85 This package is Bluetooth Service daemon to manage BT services.
88 Summary: Bluetooth Core daemon
89 Group: Network & Connectivity/Bluetooth
90 Requires: %{name} = %{version}-%{release}
93 This package is Bluetooth core daemon to manage activation / deactivation.
96 Summary: Bluetooth test application
97 Group: Network & Connectivity/Bluetooth
98 Requires: %{name} = %{version}-%{release}
101 This package is Bluetooth test application.
109 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
110 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
111 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
113 %if "%{?profile}" == "mobile"
115 export CFLAGS="$CFLAGS -DTIZEN_NETWORK_TETHERING_ENABLE -DTIZEN_BT_FLIGHTMODE_ENABLED"
118 %if "%{?profile}" == "wearable"
120 export CFLAGS="$CFLAGS -DTIZEN_WEARABLE"
123 %if "%{?profile}" == "tv"
125 export CFLAGS="$CFLAGS -DUSB_BLUETOOTH -DTIZEN_TV"
129 export CFLAGS="$CFLAGS -Wall -g -fvisibility=hidden -fPIC"
130 export LDFLAGS="$CFLAGS -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs"
132 export CFLAGS="$CFLAGS -fpie -DRFCOMM_DIRECT "
133 export LDFLAGS="$CFLAGS -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs -pie"
137 export CFLAGS="$CFLAGS -D__TIZEN_MOBILE__ -DTIZEN_TELEPHONY_ENABLED"
140 cmake . -DCMAKE_INSTALL_PREFIX=/usr \
141 -DTZ_SYS_USER_GROUP=%TZ_SYS_USER_GROUP \
142 -DTZ_SYS_DEFAULT_USER=%TZ_SYS_DEFAULT_USER \
143 %if %{with bluetooth_frwk_libnotify}
144 -DLIBNOTIFY_SUPPORT=On \
146 -DLIBNOTIFY_SUPPORT=Off \
148 %if %{with bluetooth_frwk_libnotification}
149 -DLIBNOTIFICATION_SUPPORT=On
151 -DLIBNOTIFICATION_SUPPORT=Off
157 %if "%{?profile}" == "wearable"
158 -DTIZEN_WEARABLE=YES \
160 -DTIZEN_WEARABLE=NO \
162 %if "%{?profile}" == "common"
163 -DTIZEN_WEARABLE=NO \
170 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk
171 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk-service
172 install -D -m 0644 LICENSE %{buildroot}%{_datadir}/license/bluetooth-frwk-devel
174 mkdir -p %{buildroot}%{_unitdir_user}
175 install -m 0644 bt-service/bluetooth-frwk-service.service %{buildroot}%{_unitdir_user}
177 %if %{with bluetooth_frwk_libnotify} || %{with bluetooth_frwk_libnotification}
178 mkdir -p %{buildroot}%{_datadir}/icons/default
179 install -m 0644 %{SOURCE1002} %{buildroot}%{_datadir}/icons/default/bt-icon.png
182 # On IVI bt-service needs to be run as 'app' even if there is a 'guest' user.
183 %if "%{profile}"=="ivi"
184 sed -i 's/%TZ_SYS_DEFAULT_USER/app/' %{buildroot}%{_datadir}/dbus-1/system-services/org.projectx.bt.service
190 %if "%{?profile}" == "wearable"
191 vconftool set -f -t int db/bluetooth/status "1" -g 6520
193 %if "%{?profile}" == "mobile"
194 vconftool set -f -t int db/bluetooth/status "0" -g 6520
196 %if "%{?profile}" == "common"
197 vconftool set -f -t int db/bluetooth/status "0" -g 6520
200 vconftool set -f -t int db/bluetooth/status "0" -s User
201 vconftool set -f -t int db/bluetooth/lestatus "0" -s User
202 vconftool set -f -t int file/private/bt-core/flight_mode_deactivated "0" -s User
203 vconftool set -f -t int file/private/bt-core/powersaving_mode_deactivated "0" -s User
204 vconftool set -f -t int file/private/bt-service/bt_off_due_to_timeout "0" -s User
205 vconftool set -f -t string memory/bluetooth/sco_headset_name "" -g 6520 -i
206 vconftool set -f -t int memory/bluetooth/device "0" -g 6520 -i
207 vconftool set -f -t bool memory/bluetooth/btsco "0" -g 6520 -i
208 vconftool set -f -t bool memory/bluetooth/dutmode "0" -g 6520 -i
212 #mkdir -p %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
213 #ln -sf %{_unitdir_user}/bluetooth-frwk.service %{_sysconfdir}/systemd/default-extra-dependencies/ignore-units.d/
215 %postun -p /sbin/ldconfig
218 %manifest %{name}.manifest
219 %defattr(-, root, root)
220 %{_libdir}/libbluetooth-api.so.*
221 %{_datadir}/license/bluetooth-frwk
222 #%{_libdir}/systemd/system/%{_servicedir}/bluetooth-frwk.service
223 #%{_libdir}/systemd/system/bluetooth-frwk.service
226 %defattr(-, root, root)
227 %{_includedir}/bt-service/bluetooth-api.h
228 %{_includedir}/bt-service/bluetooth-hid-api.h
229 %{_includedir}/bt-service/bluetooth-audio-api.h
230 %{_includedir}/bt-service/bluetooth-telephony-api.h
231 %{_includedir}/bt-service/bluetooth-media-control.h
232 %{_includedir}/bt-service/bluetooth-scmst-api.h
233 %{_libdir}/pkgconfig/bluetooth-api.pc
234 %{_libdir}/libbluetooth-api.so
235 %{_datadir}/license/bluetooth-frwk-devel
238 %manifest %{name}.manifest
239 %defattr(-, root, root)
240 %{_datadir}/dbus-1/system-services/org.projectx.bt.service
242 %{_bindir}/bt-service
243 %{_unitdir_user}/bluetooth-frwk-service.service
244 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-service.conf
245 %{_bindir}/bluetooth-frwk-test
246 #%{_bindir}/bluetooth-gatt-test
247 #%{_bindir}/bluetooth-advertising-test
248 %{_varlibdir}/bluetooth
249 %{_prefix}/etc/bluetooth
250 #%attr(0666,-,-) %{_varlibdir}/bluetooth/auto-pair-blacklist
251 #%attr(0666,-,-) %{_prefix}/etc/bluetooth/stack_info
252 #%{_dumpdir}/bluetooth_log_dump.sh
253 %{_datadir}/license/bluetooth-frwk-service
254 %if %{with bluetooth_frwk_libnotify} || %{with bluetooth_frwk_libnotification}
255 %{_datadir}/icons/default/bt-icon.png
259 %manifest %{name}.manifest
260 %defattr(-, root, root)
261 %{_datadir}/dbus-1/system-services/org.projectx.bt_core.service
263 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-core.conf
266 %manifest %{name}.manifest
267 %defattr(-, root, root)
268 %{_bindir}/bluetooth-frwk-test
269 %{_bindir}/bluetooth-gatt-test
270 %{_bindir}/bluetooth-advertising-test