Reland fixes to spec that were clobbered by recent downgrade
[platform/core/connectivity/bluetooth-frwk.git] / packaging / bluetooth-frwk.spec
1 %bcond_with bluetooth_frwk_libnotify
2 %bcond_with bluetooth_frwk_libnotification
3 %bcond_with multi_user
4
5 Name:       bluetooth-frwk
6 Summary:    Bluetooth framework for BlueZ and Obexd
7 Version:    0.2.55
8 Release:    2
9 Group:      Network & Connectivity/Bluetooth
10 License:    Apache-2.0
11 Source0:    %{name}-%{version}.tar.gz
12 Source1001: bluetooth-frwk.manifest
13 Source1002: bt-icon.png
14 URL:        https://review.tizen.org/git/?p=platform/core/connectivity/bluetooth-frwk.git;a=summary
15 Requires: dbus
16 Requires: syspopup
17 Requires: bluetooth-tools
18 BuildRequires:  pkgconfig(aul)
19 BuildRequires:  pkgconfig(dbus-glib-1)
20 BuildRequires:  pkgconfig(dlog)
21 BuildRequires:  pkgconfig(glib-2.0)
22 %if %{with bluetooth_frwk_libnotify}
23 BuildRequires:  pkgconfig(libnotify)
24 BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
25 BuildRequires:  pkgconfig(gtk+-3.0)
26 %else
27 BuildRequires:  pkgconfig(syspopup-caller)
28 %endif
29 BuildRequires:  pkgconfig(vconf)
30 BuildRequires:  pkgconfig(libxml-2.0)
31 BuildRequires:  pkgconfig(dbus-1)
32 BuildRequires:  pkgconfig(utilX)
33 BuildRequires:  pkgconfig(capi-network-tethering)
34 BuildRequires:  pkgconfig(libprivilege-control)
35 BuildRequires:  pkgconfig(status)
36 BuildRequires:  pkgconfig(alarm-service)
37 BuildRequires:  pkgconfig(notification)
38 BuildRequires:  pkgconfig(security-server)
39 BuildRequires:  cmake
40
41 Requires(post): vconf
42 Requires(post): /sbin/ldconfig
43 Requires(postun): /sbin/ldconfig
44
45 %description
46 Bluetooth framework for BlueZ and Obexd. This package is Bluetooth framework based on BlueZ and Obexd stack.
47  This package contains API set for BT GAP, BT SDP, and BT RFCOMM.
48
49
50 %package devel
51 Summary:    Bluetooth framework for BlueZ and Obexd
52 Group:      Development/Libraries
53 Requires:   %{name} = %{version}-%{release}
54
55 %description devel
56 This package is development files for Bluetooth framework based on BlueZ and Obexd stack.
57 This package contains API set for BT GAP, BT SDP, and BT RFCOMM.
58
59 %package service
60 Summary:    Bluetooth Service daemon
61 Group:      Network & Connectivity/Bluetooth
62 Requires:   %{name} = %{version}-%{release}
63
64 %description service
65 This package is Bluetooth Service daemon to manage BT services.
66
67 %package core
68 Summary:    Bluetooth Core daemon
69 Group:      Network & Connectivity/Bluetooth
70 Requires:   %{name} = %{version}-%{release}
71
72 %description core
73 This package is Bluetooth core daemon to manage activation / deactivation.
74
75 %prep
76 %setup -q
77 cp %{SOURCE1001} .
78
79
80 %build
81
82 %ifarch x86_64
83 export CFLAGS+="   -Wall -g -fvisibility=hidden -fPIC"
84 export LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs" 
85 %else
86 export CFLAGS+=" -fpie"
87 export LDFLAGS+=" -Wl,--rpath=%{_libdir} -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs -pie"
88 %endif
89 %cmake . \
90 %if %{with multi_user}
91         -DMULTI_USER_SUPPORT=On \
92 %else
93         -DMULTI_USER_SUPPORT=Off \
94 %endif
95 %if %{with bluetooth_frwk_libnotify}
96  -DLIBNOTIFY_SUPPORT=On \
97 %else
98  -DLIBNOTIFY_SUPPORT=Off \
99 %endif
100 %if %{with bluetooth_frwk_libnotification}
101  -DLIBNOTIFICATION_SUPPORT=On
102 %else
103  -DLIBNOTIFICATION_SUPPORT=Off
104 %endif
105
106 make
107
108 %install
109 rm -rf %{buildroot}
110 %make_install
111 %if !%{with multi_user}
112         mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc3.d/
113         mkdir -p %{buildroot}%{_sysconfdir}/rc.d/rc5.d/
114         ln -s %{_sysconfdir}/rc.d/init.d/bluetooth-frwk-service %{buildroot}%{_sysconfdir}/rc.d/rc3.d/S80bluetooth-frwk-service
115         ln -s %{_sysconfdir}/rc.d/init.d/bluetooth-frwk-service %{buildroot}%{_sysconfdir}/rc.d/rc5.d/S80bluetooth-frwk-service
116 %else
117         mv %{buildroot}%{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-service_user.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-service.conf
118 %endif
119
120 mkdir -p %{buildroot}%{_unitdir_user}
121 mkdir -p %{buildroot}%{_unitdir_user}/tizen-middleware.target.wants
122 install -m 0644 bt-service/bluetooth-frwk-service.service %{buildroot}%{_unitdir_user}
123 ln -s ../bluetooth-frwk-service.service %{buildroot}%{_unitdir_user}/tizen-middleware.target.wants/bluetooth-frwk-service.service
124
125 %if %{with bluetooth_frwk_libnotify}
126 mkdir -p %{buildroot}%{_datadir}/icons/default
127 install -m 0644 %{SOURCE1002} %{buildroot}%{_datadir}/icons/default/bt-icon.png
128 %endif
129
130 %post
131 /sbin/ldconfig
132 vconftool set -tf int db/bluetooth/status "0" -g 6520
133 vconftool set -tf int file/private/bt-service/flight_mode_deactivated "0" -g 6520 -i
134 vconftool set -tf string memory/bluetooth/sco_headset_name "" -g 6520 -i
135 vconftool set -tf int memory/bluetooth/device "0" -g 6520 -i
136 vconftool set -tf int memory/bluetooth/btsco "0" -g 6520 -i
137
138 %postun -p /sbin/ldconfig
139
140 %files
141 %manifest %{name}.manifest
142 %defattr(-, root, root)
143 %{_libdir}/libbluetooth-api.so.*
144
145 %files devel
146 %manifest %{name}.manifest
147 %defattr(-, root, root)
148 %{_includedir}/bt-service/bluetooth-api.h
149 %{_includedir}/bt-service/bluetooth-hid-api.h
150 %{_includedir}/bt-service/bluetooth-audio-api.h
151 %{_includedir}/bt-service/bluetooth-telephony-api.h
152 %{_includedir}/bt-service/bluetooth-media-control.h
153 %{_libdir}/pkgconfig/bluetooth-api.pc
154 %{_libdir}/libbluetooth-api.so
155
156 %files service
157 %manifest %{name}.manifest
158 %defattr(-, root, root)
159 %if !%{with multi_user}
160         %{_datadir}/dbus-1/system-services/org.projectx.bt.service
161         %{_sysconfdir}/rc.d/init.d/bluetooth-frwk-service
162         %{_sysconfdir}/rc.d/rc3.d/S80bluetooth-frwk-service
163         %{_sysconfdir}/rc.d/rc5.d/S80bluetooth-frwk-service
164 %endif
165 %{_bindir}/bt-service
166 %{_unitdir_user}/tizen-middleware.target.wants/bluetooth-frwk-service.service
167 %{_unitdir_user}/bluetooth-frwk-service.service
168 %attr(0666,-,-) /opt/var/lib/bluetooth/auto-pair-blacklist
169 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-service.conf
170 %if %{with bluetooth_frwk_libnotify}
171 %{_datadir}/icons/default/bt-icon.png
172 %endif
173
174 %files core
175 %manifest %{name}.manifest
176 %defattr(-, root, root)
177 %{_datadir}/dbus-1/system-services/org.projectx.bt_core.service
178 %{_bindir}/bt-core
179 %{_sysconfdir}/dbus-1/system.d/bluetooth-frwk-core.conf