source: general/sysutils/bluez.xml@ baf7cd5

lazarus trunk
Last change on this file since baf7cd5 was baf7cd5, checked in by Rahul Chandra <rahul@…>, 2 months ago

Remove bluez obexd sysv patch

Upstream commit b16b19885c5383cd0499503617b98ceb188c898e seems
to fix obexd operation on non-systemd systems. Therefore we
shouldn't need the patch anymore.

  • Property mode set to 100644
File size: 14.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY bluez-download-http "&kernel-dl;/linux/bluetooth/bluez-&bluez-version;.tar.xz">
8 <!ENTITY bluez-download-ftp " ">
9 <!ENTITY bluez-md5sum "7812034c8b91bf11e4f1379734756a3b">
10 <!ENTITY bluez-size "2.3 MB">
11 <!ENTITY bluez-buildsize "83 MB (add 84 MB for tests)">
12 <!ENTITY bluez-time "0.4 SBU (using parallelism=4; with tests)">
13]>
14
15<sect1 id="bluez" xreflabel="BlueZ-&bluez-version;">
16 <?dbhtml filename="bluez.html"?>
17
18
19 <title>BlueZ-&bluez-version;</title>
20
21 <indexterm zone="bluez">
22 <primary sortas="a-BlueZ">BlueZ</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to BlueZ</title>
27
28 <para>
29 The <application>BlueZ</application> package contains the
30 Bluetooth protocol stack for Linux.
31 </para>
32
33 &lfs121_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&bluez-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&bluez-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &bluez-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &bluez-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &bluez-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &bluez-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68 <!--
69 <bridgehead renderas="sect3" revision="sysv">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact" revision="sysv">
71 <listitem>
72 <para>
73 Required patch:
74 <ulink url="&patch-root;/bluez-&bluez-version;-obexd_without_systemd-1.patch"/>
75 </para>
76 </listitem>
77 -->
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">BlueZ Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="dbus"/>,
85 <xref linkend="glib2"/>, and
86 <xref linkend="libical"/>
87 </para>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
90 <para role="optional">
91 <xref linkend="docutils"/> (to generate man pages)
92 </para>
93
94 </sect2>
95
96
97 <sect2 role="kernel" id="bluez-kernel">
98 <title>Kernel Configuration</title>
99
100 <para>
101 If you are building this package to use bluetooth devices (rather than as a
102 build dependency), enable the following options in the kernel configuration,
103 also the options in the <quote>Cryptographic API</quote> section if
104 you intend to run the tests, and recompile the kernel if necessary:
105 </para>
106
107 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
108 href="bluez-kernel.xml"/>
109
110 <indexterm zone="bluez bluez-kernel">
111 <primary sortas="d-bluez">bluez</primary>
112 </indexterm>
113 </sect2>
114
115 <sect2 role="installation">
116 <title>Installation of BlueZ</title>
117
118<!--
119 <para>
120 At first, fix an issue building the package with Glibc-2.34 or later:
121 </para>
122
123<screen><userinput>sed 's/pause(/bluez_&amp;/' -i profiles/audio/media.c</userinput></screen>
124-->
125
126 <para revision="sysv">Now, make some changes needed for SystemV systems:</para>
127
128<screen revision="sysv"><userinput>patch -Np1 -i ../bluez-&bluez-version;-obexd_without_systemd-1.patch</userinput></screen>
129
130 <para>
131 Install <application>BlueZ</application> by running the following
132 commands:
133 </para>
134
135<screen revision="sysv"><userinput>./configure --prefix=/usr \
136 --sysconfdir=/etc \
137 --localstatedir=/var \
138 --enable-library \
139 --disable-manpages \
140 --disable-systemd &amp;&amp;
141make</userinput></screen>
142
143<screen revision="systemd"><userinput>./configure --prefix=/usr \
144 --sysconfdir=/etc \
145 --localstatedir=/var \
146 --disable-manpages \
147 --enable-library &amp;&amp;
148make</userinput></screen>
149
150 <para>
151 To test the results, issue: <userinput>make check</userinput>.
152 </para>
153
154 <para>
155 Now, as the <systemitem class="username">root</systemitem> user:
156 </para>
157
158<screen role="root"><userinput>make install &amp;&amp;
159ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</userinput></screen>
160
161 <para>
162 Install the main configuration file as the
163 <systemitem class="username">root</systemitem> user:
164 </para>
165
166<screen role="root"><userinput>install -v -dm755 /etc/bluetooth &amp;&amp;
167install -v -m644 src/main.conf /etc/bluetooth/main.conf</userinput></screen>
168
169 <para>
170 If desired, install the API documentation as the
171 <systemitem class="username">root</systemitem> user:
172 </para>
173
174<screen role="root"><userinput>install -v -dm755 /usr/share/doc/bluez-&bluez-version; &amp;&amp;
175install -v -m644 doc/*.txt /usr/share/doc/bluez-&bluez-version;</userinput></screen>
176
177 </sect2>
178
179
180 <sect2 role="commands">
181 <title>Command Explanations</title>
182
183 <para>
184 <parameter>--disable-manpages</parameter>: This switch disables generating
185 the manual pages because of the reliance on 'rst2man' in docutils. Remove
186 this switch if you have <xref role="nodep" linkend="docutils"/> installed
187 and wish to generate the manual pages.
188 </para>
189
190 <para>
191 <parameter>--enable-library</parameter>: This switch enables building the
192 <application>BlueZ</application> 4 compatibility library which is required by
193 some applications.
194 </para>
195
196 <para revision="sysv">
197 <parameter>--disable-systemd</parameter>: This switch is needed because
198 <application>systemd</application> is not part of LFS/BLFS. If you are
199 using systemd, remove this switch.
200 </para>
201
202 <para>
203 <command>ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin</command>:
204 This command makes access to the bluetooth daemon more convenient.
205 </para>
206
207 </sect2>
208
209 <sect2 role="configuration">
210 <title>Configuring BlueZ</title>
211
212 <sect3 id="bluez-config">
213 <title>Configuration Files</title>
214 <para revision="sysv">
215 <filename>/etc/bluetooth/main.conf</filename> is installed automatically
216 during the install. Additionally, there are three supplementary
217 configuration files. /etc/sysconfig/bluetooth is installed as a part
218 of the boot script below. In addition, you optionally can install the
219 following, as the <systemitem class="username">root</systemitem> user:
220 </para>
221
222 <para revision="systemd">
223 <filename>/etc/bluetooth/main.conf</filename> is installed automatically
224 during the installation. Additionally, there are two supplementary
225 configuration files. You can optionally install the following files
226 as the <systemitem class="username">root</systemitem> user:
227 </para>
228
229<screen role="root"><userinput>cat > /etc/bluetooth/rfcomm.conf &lt;&lt; "EOF"</userinput>
230<literal># Start rfcomm.conf
231# Set up the RFCOMM configuration of the Bluetooth subsystem in the Linux kernel.
232# Use one line per command
233# See the rfcomm man page for options
234
235
236# End of rfcomm.conf</literal>
237EOF</screen>
238
239<screen role="root"><userinput>cat > /etc/bluetooth/uart.conf &lt;&lt; "EOF"</userinput>
240<literal># Start uart.conf
241# Attach serial devices via UART HCI to BlueZ stack
242# Use one line per device
243# See the hciattach man page for options
244
245# End of uart.conf</literal>
246EOF</screen>
247
248 <indexterm zone="bluez bluez-config">
249 <primary
250 sortas="e-etc-bluetooth-main.conf">/etc/bluetooth/main.conf</primary>
251 </indexterm>
252
253 </sect3>
254
255 <sect3 id="bluez-init">
256 <title><phrase revision="sysv">Boot Script</phrase>
257 <phrase revision="systemd">Systemd Bluez Services</phrase></title>
258
259 <para revision="sysv">
260 To automatically start the <command>bluetoothd</command> daemon when the
261 system is rebooted, install the
262 <filename>/etc/rc.d/init.d/bluetooth</filename> bootscript from the
263 <xref linkend="bootscripts"/> package.
264 </para>
265
266 <para revision="systemd">
267 To start the <command>bluetoothd</command> daemon at boot,
268 enable the previously installed systemd unit by
269 running the following command as the
270 <systemitem class="username">root</systemitem> user:
271 </para>
272
273<screen role="root" revision="systemd"><userinput>systemctl enable bluetooth</userinput></screen>
274
275 <para revision="systemd">
276 To start the <command>obexd</command> daemon for a user session (to
277 support some Bluetooth programs using it), enable the previously
278 installed systemd unit for all users by running the following command
279 as the <systemitem class="username">root</systemitem> user:
280 </para>
281
282<screen role="root" revision="systemd"><userinput>systemctl enable --global obex</userinput></screen>
283
284 <indexterm zone="bluez bluez-init">
285 <primary sortas="f-bluetooth">bluetooth</primary>
286 </indexterm>
287
288<screen role="root" revision="sysv"><userinput>make install-bluetooth</userinput></screen>
289
290
291 <note revision="systemd">
292 <para>
293 <application>Systemd</application> will start the Bluetooth daemon
294 only when a bluetooth device is detected on the system.
295 </para>
296 </note>
297
298 </sect3>
299
300 </sect2>
301
302 <sect2 role="content">
303 <title>Contents</title>
304
305 <segmentedlist>
306 <segtitle>Installed Programs</segtitle>
307 <segtitle>Installed Library</segtitle>
308 <segtitle>Installed Directories</segtitle>
309
310 <seglistitem>
311 <seg>
312 <!--bccmd, -->
313 bluemoon,
314 bluetoothctl,
315 bluetoothd (symlink),
316 btattach,
317 btmon,
318 hex2hcd,
319 l2ping,
320 l2test,
321 mpris-proxy, and
322 rctest
323 </seg>
324 <seg>
325 libbluetooth.so
326 </seg>
327 <seg>
328 /etc/bluetooth,
329 /usr/{include,libexec}/bluetooth, and
330 /usr/share/doc/bluez-&bluez-version;
331 </seg>
332 </seglistitem>
333 </segmentedlist>
334
335 <variablelist>
336 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
337 <?dbfo list-presentation="list"?>
338 <?dbhtml list-presentation="table"?>
339
340 <!--
341 <varlistentry id="bccmd">
342 <term><command>bccmd</command></term>
343 <listitem>
344 <para>
345 is used to issue BlueCore commands to Cambridge Silicon
346 Radio devices
347 </para>
348 <indexterm zone="bluez bccmd">
349 <primary sortas="b-bccmd">bccmd</primary>
350 </indexterm>
351 </listitem>
352 </varlistentry>
353 -->
354
355 <varlistentry id="bluemoon">
356 <term><command>bluemoon</command></term>
357 <listitem>
358 <para>
359 is a Bluemoon configuration utility
360 </para>
361 <indexterm zone="bluez bluemoon">
362 <primary sortas="b-bluemoon">bluemoon</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="bluetoothctl">
368 <term><command>bluetoothctl</command></term>
369 <listitem>
370 <para>
371 is the interactive Bluetooth control program
372 </para>
373 <indexterm zone="bluez bluetoothctl">
374 <primary sortas="b-bluetoothctl">bluetoothctl</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="bluetoothd">
380 <term><command>bluetoothd</command></term>
381 <listitem>
382 <para>
383 is the Bluetooth daemon
384 </para>
385 <indexterm zone="bluez bluetoothd">
386 <primary sortas="b-bluetoothd">bluetoothd</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="btmon">
392 <term><command>btmon</command></term>
393 <listitem>
394 <para>
395 provides access to the Bluetooth subsystem monitor
396 infrastructure for reading HCI traces
397 </para>
398 <indexterm zone="bluez btmon">
399 <primary sortas="b-btmon">btmon</primary>
400 </indexterm>
401 </listitem>
402 </varlistentry>
403
404
405 <varlistentry id="hex2hcd">
406 <term><command>hex2hcd</command></term>
407 <listitem>
408 <para>
409 is used to convert a file needed by Broadcom devices
410 to hcd (Broadcom bluetooth firmware) format
411 </para>
412 <indexterm zone="bluez hex2hcd">
413 <primary sortas="b-hex2hcd">hex2hcd</primary>
414 </indexterm>
415 </listitem>
416 </varlistentry>
417
418 <varlistentry id="l2ping">
419 <term><command>l2ping</command></term>
420 <listitem>
421 <para>
422 is used to send a L2CAP echo request to the Bluetooth MAC
423 address given in dotted hex notation
424 </para>
425 <indexterm zone="bluez l2ping">
426 <primary sortas="b-l2ping">l2ping</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="l2test">
432 <term><command>l2test</command></term>
433 <listitem>
434 <para>
435 is a L2CAP testing program
436 </para>
437 <indexterm zone="bluez l2test">
438 <primary sortas="b-l2test">l2test</primary>
439 </indexterm>
440 </listitem>
441 </varlistentry>
442
443 <varlistentry id="rctest">
444 <term><command>rctest</command></term>
445 <listitem>
446 <para>
447 is used to test RFCOMM communications on the
448 Bluetooth stack
449 </para>
450 <indexterm zone="bluez rctest">
451 <primary sortas="b-rctest">rctest</primary>
452 </indexterm>
453 </listitem>
454 </varlistentry>
455
456 <varlistentry id="libbluetooth">
457 <term><filename class="libraryfile">libbluetooth.so</filename></term>
458 <listitem>
459 <para>
460 contains the <application>BlueZ</application> 4 API functions
461 </para>
462 <indexterm zone="bluez libbluetooth">
463 <primary sortas="c-libbluetooth">libbluetooth.so</primary>
464 </indexterm>
465 </listitem>
466 </varlistentry>
467 </variablelist>
468
469 </sect2>
470
471</sect1>
Note: See TracBrowser for help on using the repository browser.