Remove unused features
[platform/core/connectivity/bluetooth-agent.git] / packaging / bluetooth-agent.spec
1 %define _usrlibdir /usr/lib
2
3 Name:       bluetooth-agent
4 Summary:    Bluetooth agent packages that support various external profiles
5 Version:    0.1.3
6 Release:    1
7 Group:      Network & Connectivity/Bluetooth
8 License:    Apache-2.0
9 Source0:    %{name}-%{version}.tar.gz
10 Source1001:     bluetooth-agent.manifest
11
12 BuildRequires:  pkgconfig(aul)
13 BuildRequires:  pkgconfig(bluetooth-api)
14
15 # The profile macro usage with the following comments may be removed after
16 # Tizen OBS build projects are merged. However, each vendor may keep using
17 # such if/endif statement to skip building profiles not interested
18
19 # This usage of profile macro does NOT conflict 4.0 configurability.
20 %if "%{?profile}" != "mobile" && "%{?profile}" != "tv"
21 # Original: wearable, ivi. Added: common, "undefined"
22 BuildRequires:  pkgconfig(alarm-service)
23 BuildRequires:  pkgconfig(capi-appfw-app-manager)
24 BuildRequires:  pkgconfig(capi-system-device)
25 %endif
26 # This usage of profile macro does NOT conflict 4.0 configurability.
27 %if "%{?profile}" != "wearable" && "%{?profile}" != "ivi"
28 # Original: common, mobile, tv. Added: "undefined"
29 BuildRequires:  pkgconfig(contacts-service2)
30 BuildRequires:  pkgconfig(msg-service)
31 BuildRequires:  pkgconfig(email-service)
32 %endif
33 BuildRequires:  pkgconfig(capi-system-info)
34 BuildRequires:  pkgconfig(dbus-1)
35 BuildRequires:  pkgconfig(tapi)
36 BuildRequires:  pkgconfig(dlog)
37 BuildRequires:  pkgconfig(vconf)
38 BuildRequires:  pkgconfig(appsvc)
39 BuildRequires:  pkgconfig(capi-appfw-application)
40 BuildRequires:  pkgconfig(capi-network-connection)
41 BuildRequires:  pkgconfig(capi-network-bluetooth)
42 BuildRequires:  pkgconfig(capi-media-image-util)
43 BuildRequires:  pkgconfig(contacts-service2)
44 BuildRequires:  pkgconfig(libexif)
45 BuildRequires:  pkgconfig(gio-2.0)
46 BuildRequires:  cmake
47 Requires: security-config
48 %if 0%{?gcov:1}
49 BuildRequires:  pkgconfig(gmock)
50 %endif
51
52 #Requires:      %{name}-compat = %{version}-%{release}
53 #Recommends:    %{name}-profile_common = %{version}-%{release}
54
55 %description
56 Bluetooth agent packages that support various external profiles
57
58 %package hfp_ag
59 Summary:        Bluetooth agent for HFP(Hands-Free Profile)'s AG(Audio Gate) role
60 Requires:   %{name} = %{version}-%{release}
61 Group:      Network & Connectivity/Bluetooth
62 %description hfp_ag
63 Bluetooth agent binary compiled for HFP(Hands-Free Profile)'s AG(Audio Gate) role
64
65 %package hfp_hf
66 Summary:        Bluetooth agent for HFP(Hands-Free Profile)'s HF(Hands-Free) role
67 Requires:   %{name} = %{version}-%{release}
68 Group:      Network & Connectivity/Bluetooth
69 %description hfp_hf
70 Bluetooth agent binary compiled for HFP(Hands-Free Profile)'s HF(Hands-Free) role
71
72 %package map
73 Summary:        Bluetooth agent for MAP(Message Access Profile) server
74 Requires:   %{name} = %{version}-%{release}
75 Group:      Network & Connectivity/Bluetooth
76 %description map
77 Bluetooth agent binary compiled for MAP(Message Access Profile) server
78
79 %package pbap
80 Summary:        Bluetooth agent for PBAP(PhoneBook Access Profile) server
81 Requires:   %{name} = %{version}-%{release}
82 Group:      Network & Connectivity/Bluetooth
83 %description pbap
84 Bluetooth agent binary compiled for PBAP(PhoneBook Access Profile) server
85
86 %package hid
87 Summary:        Bluetooth agent for HID(Human Interface Device)'s device role
88 Requires:   %{name} = %{version}-%{release}
89 Group:      Network & Connectivity/Bluetooth
90 %description hid
91 Bluetooth agent binary compiled for HID(Human Interface Device)'s device role
92
93 %package ipsp
94 Summary:        Bluetooth agent for IPSP(Internet Protocol Support Profile)
95 Requires:   %{name} = %{version}-%{release}
96 Group:      Network & Connectivity/Bluetooth
97 %description ipsp
98 Bluetooth agent binary compiled for IPSP(Internet Protocol Support Profile)
99
100 %if 0%{?gcov:1}
101 %package test
102 Summary: Test package for bluetooth-agent
103 Group:   TO_BE/FILLED
104 Requires: %{name} = %{version}-%{release}
105
106 %description test
107 This package is C-API test application.
108 %endif
109
110 %prep
111 %setup -q
112 cp %{SOURCE1001} .
113
114 %build
115 export CFLAGS="$CFLAGS -DTIZEN_DEBUG_ENABLE"
116 export CXXFLAGS="$CXXFLAGS -DTIZEN_DEBUG_ENABLE"
117 export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
118 #export CFLAGS="$CFLAGS -DTIZEN_FEATURE_BT_MEDIA_ENHANCE"
119 export CFLAGS="$CFLAGS -DTIZEN_FEATURE_BT_HFP_AG"
120 export CFLAGS="$CFLAGS -DTIZEN_SUPPORT_DUAL_HF"
121
122 %ifarch aarch64 x86_64
123 echo arch64
124 export CFLAGS+=" -DARCH64"
125 export CXXFLAGS+=" -DARCH64"
126 export FFLAGS+=" -DARCH64"
127 %endif
128
129 export CFLAGS+=" -fpie -DTIZEN_FEATURE_BP_PBAP_SIM -fvisibility=hidden "
130 export CXXFLAGS+=" -fpie -DTIZEN_FEATURE_BP_PBAP_SIM -fvisibility=hidden "
131
132 export LDFLAGS+=" -Wl,--rpath=/usr/lib -Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs -pie"
133
134 export CFLAGS_DEFAULT="$CFLAGS"
135
136 %if 0%{?gcov:1}
137 export CFLAGS+=" -fprofile-arcs -ftest-coverage"
138 export CXXFLAGS+=" -fprofile-arcs -ftest-coverage"
139 export FFLAGS+=" -fprofile-arcs -ftest-coverage"
140 export LDFLAGS+=" -lgcov"
141 %endif
142
143 # Build All (wearalbe/ivi/common/tv/mobile)
144 %cmake . -DCMAKE_INSTALL_PREFIX=/usr \
145         -DTIZEN_FEATURE_BT_HFP_AG=1 \
146         -DBUILD_GTESTS=%{?gcov:1}%{!?gcov:0} \
147         -DBUILD_GCOV=%{?gcov:1}%{!?gcov:0}
148
149 make VERBOSE=1
150
151 %install
152 rm -rf %{buildroot}
153 %make_install
154
155 install -D -m 0644 packaging/bluetooth-map-agent.service %{buildroot}%{_libdir}/systemd/system/bluetooth-map-agent.service
156 # This usage of profile macro does NOT conflict 4.0 configurability.
157 #%if "%{?profile}" != "mobile" && "%{?profile}" != "tv"
158 # Original: wearable, ivi. Added: common, "undefined"
159 #mkdir -p %{buildroot}%{_datadir}/dbus-1/system-services
160 #mkdir -p %{buildroot}%{_bindir}/
161 #install -D -m 0644 %{buildroot}/usr/share/dbus-1/system-services/org.bluez.hf_agent.service %{buildroot}%{_datadir}/dbus-1/system-services/
162 #install -D -m 0644 %{buildroot}/usr/share/dbus-1/system-services/org.bluez.ipsp_agent.service %{buildroot}%{_datadir}/dbus-1/system-services/
163 #install -D -m 0644 %{buildroot}/usr/bin/bluetooth-hf-agent %{buildroot}%{_bindir}/
164 #install -D -m 0644 %{buildroot}/usr/bin/bluetooth-ipsp-agent %{buildroot}%{_bindir}/
165 #%endif
166 install -D -m 0644 packaging/bluetooth-pbap-agent.service %{buildroot}%{_libdir}/systemd/system/bluetooth-pbap-agent.service
167
168 %files
169 %manifest %{name}.manifest
170 %license LICENSE
171 %defattr(-, root, root)
172
173 %files hfp_ag
174 %manifest %{name}.manifest
175 %license LICENSE
176 %{_bindir}/bluetooth-ag-agent
177 %attr(0666,-,-) /var/lib/bluetooth/voice-recognition-blacklist
178 %{_datadir}/dbus-1/system-services/org.bluez.ag_agent.service
179 %{_sysconfdir}/dbus-1/system.d/bluetooth-ag-agent.conf
180 #%exclude %{_libdir}/systemd/system/bluetooth-map-agent.service
181 #%exclude %{_libdir}/systemd/system/bluetooth-pbap-agent.service
182
183 %files hfp_hf
184 %manifest %{name}.manifest
185 %license LICENSE
186 %{_bindir}/bluetooth-hf-agent
187 %{_datadir}/dbus-1/system-services/org.bluez.hf_agent.service
188 %{_sysconfdir}/dbus-1/system.d/bluetooth-hf-agent.conf
189 #%exclude %{_libdir}/systemd/system/bluetooth-map-agent.service
190 #%exclude %{_libdir}/systemd/system/bluetooth-pbap-agent.service
191
192 %files map
193 %manifest %{name}.manifest
194 %license LICENSE
195 %{_bindir}/bluetooth-map-agent
196 %{_datadir}/dbus-1/system-services/org.bluez.map_agent.service
197 %{_libdir}/systemd/system/bluetooth-map-agent.service
198 %{_sysconfdir}/dbus-1/system.d/bluetooth_map_agent.conf
199
200 %files pbap
201 %manifest %{name}.manifest
202 %license LICENSE
203 %{_bindir}/bluetooth-pb-agent
204 %{_datadir}/dbus-1/system-services/org.bluez.pb_agent.service
205 %{_libdir}/systemd/system/bluetooth-pbap-agent.service
206 %{_sysconfdir}/dbus-1/system.d/bluetooth_pb_agent.conf
207
208 %files hid
209 %manifest %{name}.manifest
210 %license LICENSE
211 %{_bindir}/bluetooth-hid-agent
212 %{_datadir}/dbus-1/system-services/org.bluez.hid_agent.service
213 %{_sysconfdir}/dbus-1/system.d/bluetooth-hid-agent.conf
214
215 %files ipsp
216 %manifest %{name}.manifest
217 %license LICENSE
218 %{_bindir}/bluetooth-ipsp-agent
219 %{_datadir}/dbus-1/system-services/org.bluez.ipsp_agent.service
220 %{_sysconfdir}/dbus-1/system.d/bluetooth-ipsp-agent.conf
221
222 %if 0%{?gcov:1}
223 %files test
224 %manifest %{name}.manifest
225 %{_bindir}/gtest-bluetooth-agent
226 %{_libdir}/lib*
227 %endif