1 |
%define major 3 |
2 |
%define libname %mklibname %{name} %{major} |
3 |
%define devname %mklibname -d %{name} |
4 |
|
5 |
Name: bluez |
6 |
Summary: Official Linux Bluetooth protocol stack |
7 |
Version: 5.20 |
8 |
Release: %mkrel 1 |
9 |
License: GPLv2+ |
10 |
Group: Communications/Bluetooth |
11 |
URL: http://bluez.org/ |
12 |
Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz |
13 |
|
14 |
## Ubuntu patches |
15 |
Patch2: 0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch |
16 |
# Non-upstream |
17 |
Patch3: 0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch |
18 |
Patch4: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch |
19 |
Patch5: 0002-autopair-Don-t-handle-the-iCade.patch |
20 |
Patch7: 0004-agent-Assert-possible-infinite-loop.patch |
21 |
|
22 |
BuildRequires: flex |
23 |
BuildRequires: bison |
24 |
BuildRequires: dbus-devel |
25 |
BuildRequires: glib2-devel |
26 |
BuildRequires: libcap-ng-devel |
27 |
BuildRequires: libical-devel |
28 |
BuildRequires: readline-devel |
29 |
BuildRequires: pkgconfig(systemd) |
30 |
BuildRequires: udev-devel |
31 |
Requires(pre): filesystem >= 2.1.9-18 |
32 |
Requires(post): rpm-helper >= 0.24.8-1 |
33 |
Requires(preun): rpm-helper >= 0.24.8-1 |
34 |
Suggests: bluez-firmware |
35 |
Obsoletes: bluez-alsa |
36 |
Obsoletes: bluez-gstreamer |
37 |
Obsoletes: blueman < 1.23-2 |
38 |
Obsoletes: obex-data-server < 0.4.6-3 |
39 |
|
40 |
%description |
41 |
These are the official Bluetooth communication libraries for Linux. |
42 |
|
43 |
%post |
44 |
update-alternatives --install /bin/bluepin bluepin /usr/bin/bluepin 5 |
45 |
#migrate old configuration |
46 |
if [ "$1" = "2" -a -d %{_var}/lib/lib/bluetooth ]; then |
47 |
mv -f %{_var}/lib/lib/bluetooth/* %{_var}/lib/bluetooth/ > /dev/null 2>&1 || exit 0 |
48 |
rmdir %{_var}/lib/lib/bluetooth/ > /dev/null 2>&1 || exit 0 |
49 |
rmdir %{_var}/lib/lib/ > /dev/null 2>&1 || exit 0 |
50 |
fi |
51 |
%_post_service bluetooth |
52 |
|
53 |
%postun |
54 |
if [ "$1" = "0" ]; then |
55 |
update-alternatives --remove bluepin /usr/bin/bluepin |
56 |
fi |
57 |
|
58 |
%files |
59 |
%{_bindir}/ciptool |
60 |
%{_bindir}/hcitool |
61 |
%{_bindir}/l2ping |
62 |
%{_bindir}/rfcomm |
63 |
%{_bindir}/sdptool |
64 |
%{_bindir}/bccmd |
65 |
%{_bindir}/bluetoothctl |
66 |
%{_bindir}/bluemoon |
67 |
%{_bindir}/btmon |
68 |
%{_bindir}/hciattach |
69 |
%{_bindir}/hciconfig |
70 |
%{_bindir}/hcidump |
71 |
%{_bindir}/l2test |
72 |
%{_bindir}/rctest |
73 |
%{_mandir}/man1/ciptool.1.* |
74 |
%{_mandir}/man1/hcitool.1.* |
75 |
%{_mandir}/man1/rfcomm.1.* |
76 |
%{_mandir}/man1/sdptool.1.* |
77 |
%{_mandir}/man1/bccmd.1.* |
78 |
%{_mandir}/man1/hciattach.1.* |
79 |
%{_mandir}/man1/hciconfig.1.* |
80 |
%{_mandir}/man1/hcidump.1.* |
81 |
%{_mandir}/man1/l2ping.1.* |
82 |
%{_mandir}/man1/rctest.1.* |
83 |
%{_mandir}/man8/* |
84 |
%{_libexecdir}/bluetooth/bluetoothd |
85 |
%{_libexecdir}/bluetooth/obexd |
86 |
%exclude %{_mandir}/man1/hid2hci.1* |
87 |
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/*.conf |
88 |
%config(noreplace) %{_sysconfdir}/bluetooth |
89 |
#{_libdir}/bluetooth |
90 |
%{_localstatedir}/lib/bluetooth |
91 |
%{_datadir}/dbus-1/system-services/org.bluez.service |
92 |
%{_datadir}/dbus-1/services/org.bluez.obex.service |
93 |
%{_unitdir}/bluetooth.service |
94 |
%{_userunitdir}/obex.service |
95 |
|
96 |
#-------------------------------------------------------------------- |
97 |
|
98 |
%package cups |
99 |
Summary: CUPS printer backend for Bluetooth printers |
100 |
Group: System/Printing |
101 |
Requires: cups-filesystem |
102 |
BuildRequires: cups-devel |
103 |
|
104 |
%description cups |
105 |
This package contains the CUPS backend for Bluetooth printers. |
106 |
|
107 |
%files cups |
108 |
%{_prefix}/lib/cups/backend/bluetooth |
109 |
|
110 |
#-------------------------------------------------------------------- |
111 |
|
112 |
%package hid2hci |
113 |
Summary: Put HID proxying bluetooth HCI's into HCI mode |
114 |
Group: Communications/Bluetooth |
115 |
Conflicts: %{name} < 4.99-1 |
116 |
Requires(post): filesystem >= 2.1.9-18 |
117 |
|
118 |
%description hid2hci |
119 |
Most allinone PC's and bluetooth keyboard / mouse sets which include a |
120 |
bluetooth dongle, ship with a so called HID proxying bluetooth HCI. |
121 |
The HID proxying makes the keyboard / mouse show up as regular USB HID |
122 |
devices (after connecting using the connect button on the device + keyboard), |
123 |
which makes them work without requiring any manual configuration. |
124 |
|
125 |
The bluez-hid2hci package contains the hid2hci utility and udev rules to |
126 |
automatically switch supported Bluetooth devices into regular HCI mode. |
127 |
|
128 |
Install this package if you want to use the bluetooth function of the HCI |
129 |
with other bluetooth devices like for example a mobile phone. |
130 |
|
131 |
Note that after installing this package you will first need to pair your |
132 |
bluetooth keyboard and mouse with the bluetooth adapter before you can use |
133 |
them again. Since you cannot use your bluetooth keyboard and mouse until |
134 |
they are paired, this will require the use of a regular (wired) USB keyboard |
135 |
and mouse. |
136 |
|
137 |
%files hid2hci |
138 |
/usr/lib/udev/hid2hci |
139 |
%{_mandir}/man1/hid2hci.1* |
140 |
/lib/udev/rules.d/97-hid2hci.rules |
141 |
|
142 |
%post hid2hci |
143 |
%{_bindir}/udevadm trigger --subsystem-match=usb |
144 |
|
145 |
#-------------------------------------------------------------------- |
146 |
|
147 |
%package -n %{libname} |
148 |
Summary: Official Linux Bluetooth protocol stack |
149 |
Group: System/Libraries |
150 |
Requires(pre): filesystem >= 2.1.9-18 |
151 |
|
152 |
%description -n %{libname} |
153 |
These are the official Bluetooth communication libraries for Linux. |
154 |
|
155 |
%files -n %{libname} |
156 |
%{_libdir}/lib*.so.%{major}* |
157 |
|
158 |
#-------------------------------------------------------------------- |
159 |
|
160 |
%package -n %{devname} |
161 |
Summary: Headers for developing programs that will use %{name} |
162 |
Group: Development/C++ |
163 |
Requires(pre): filesystem >= 2.1.9-18 |
164 |
Requires: %{libname} = %{version} |
165 |
Provides: lib%{name}-devel = %{version}-%{release} |
166 |
Provides: %{name}-devel = %{version}-%{release} |
167 |
|
168 |
%description -n %{devname} |
169 |
This package contains the headers that programmers will need to develop |
170 |
applications which will use libraries from %{name}. |
171 |
|
172 |
%files -n %{devname} |
173 |
%doc AUTHORS ChangeLog README |
174 |
%{_includedir}/bluetooth |
175 |
%{_libdir}/*.so |
176 |
%{_libdir}/pkgconfig/bluez.pc |
177 |
|
178 |
#-------------------------------------------------------------------- |
179 |
|
180 |
%prep |
181 |
%setup -q |
182 |
%apply_patches |
183 |
|
184 |
%build |
185 |
autoreconf -fi |
186 |
# fix mdv bug 35444 |
187 |
%define _localstatedir %{_var} |
188 |
%configure2_5x \ |
189 |
--enable-cups \ |
190 |
--enable-tools \ |
191 |
--enable-library \ |
192 |
--with-systemdsystemunitdir=%{_unitdir} \ |
193 |
--with-systemduserunitdir=%{_userunitdir} |
194 |
|
195 |
%make |
196 |
|
197 |
%install |
198 |
%makeinstall_std |
199 |
|
200 |
# Remove the cups backend from libdir, and install it in /usr/lib whatever the install |
201 |
%ifarch x86_64 |
202 |
if test -d %{buildroot}%{_libdir}/cups ; then |
203 |
install -D -m0755 %{buildroot}%{_libdir}/cups/backend/bluetooth %{buildroot}/usr/lib/cups/backend/bluetooth |
204 |
rm -rf %{buildroot}%{_libdir}/cups |
205 |
fi |
206 |
%endif |
207 |
|
208 |
rm -f %{buildroot}%{_sysconfdir}/udev/*.rules |
209 |
rm -f %{buildroot}/usr/lib/udev/rules.d/*.rules |
210 |
install -D -p -m0644 tools/hid2hci.rules \ |
211 |
%{buildroot}/lib/udev/rules.d/97-hid2hci.rules |
212 |
|
213 |
#install more config files |
214 |
install -d -m 755 %{buildroot}%{_sysconfdir}/bluetooth |
215 |
|
216 |
echo "1234" > %{buildroot}%{_sysconfdir}/bluetooth/pin |
217 |
chmod 600 %{buildroot}%{_sysconfdir}/bluetooth/pin |
218 |
|
219 |
install -m 644 profiles/network/network.conf %{buildroot}%{_sysconfdir}/bluetooth/ |
220 |
install -m 644 profiles/input/input.conf %{buildroot}%{_sysconfdir}/bluetooth/ |
221 |
install -m 644 profiles/proximity/proximity.conf %{buildroot}%{_sysconfdir}/bluetooth/ |
222 |
|
223 |
# remove unpackaged files |
224 |
find %{buildroot} -name '*.la' -delete |
225 |
|
226 |
install -d -m0755 %{buildroot}/%{_localstatedir}/lib/bluetooth |