public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [BlueZ v3 0/9] Port text docs to RST and move man pages
@ 2026-01-22  9:04 Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 1/9] doc: Rename section 7 " Bastien Nocera
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:04 UTC (permalink / raw)
  To: linux-bluetooth

This supersedes the "Port text docs to RST" patchset

Changes since v2:
- Move all man pages under doc/ so make it easier to reference
  in the HTML docs.
- Fix syntax error in maintainer-guidelines
Changes since v1:
- Fix distcheck

Bastien Nocera (9):
  doc: Rename section 7 man pages
  doc: Move all the man pages to doc/
  doc: Port assigned-numbers.txt to RST
  doc: Port thermometer-api.txt to RST
  doc: Port security-bugs.txt to RST
  doc: Port coding-style.txt to RST
  doc: Port sap-api.txt to RST
  doc: Port maintainer-guidelines.txt to RST
  doc: Port health-api.txt to RST

 Makefile.am                                   |  41 +-
 Makefile.mesh                                 |   4 +-
 Makefile.tools                                |  68 ++--
 configure.ac                                  |   4 +-
 doc/assigned-numbers.rst                      |  29 ++
 doc/assigned-numbers.txt                      |  26 --
 {tools => doc}/bdaddr.rst                     |   0
 {mesh => doc}/bluetooth-meshd.rst.in          |   0
 {client => doc}/bluetoothctl-admin.rst        |   0
 {client => doc}/bluetoothctl-advertise.rst    |   0
 {client => doc}/bluetoothctl-assistant.rst    |   0
 {client => doc}/bluetoothctl-bredr.rst        |   0
 {client => doc}/bluetoothctl-endpoint.rst     |   0
 {client => doc}/bluetoothctl-gatt.rst         |   0
 {client => doc}/bluetoothctl-hci.rst          |   0
 {client => doc}/bluetoothctl-le.rst           |   0
 {client => doc}/bluetoothctl-mgmt.rst         |   0
 {client => doc}/bluetoothctl-monitor.rst      |   0
 {client => doc}/bluetoothctl-player.rst       |   0
 {client => doc}/bluetoothctl-scan.rst         |   0
 {client => doc}/bluetoothctl-telephony.rst    |   0
 {client => doc}/bluetoothctl-transport.rst    |   0
 {client => doc}/bluetoothctl.rst              |   0
 {src => doc}/bluetoothd.rst.in                |   0
 {tools => doc}/btattach.rst                   |   0
 {tools => doc}/btmgmt.rst                     |   0
 {monitor => doc}/btmon.rst                    |   0
 {tools => doc}/ciptool.rst                    |   0
 doc/coding-style.rst                          | 349 ++++++++++++++++++
 doc/coding-style.txt                          | 279 --------------
 doc/{hci.rst => hci-protocol.rst}             |   0
 {tools => doc}/hciattach.rst                  |   0
 {tools => doc}/hciconfig.rst                  |   0
 {tools => doc}/hcidump.rst                    |   0
 {tools => doc}/hcitool.rst                    |   0
 doc/health-api.txt                            | 152 --------
 {tools => doc}/hid2hci.rst                    |   0
 doc/{iso.rst => iso-protocol.rst}             |   0
 {tools => doc}/isotest.rst                    |   0
 doc/{l2cap.rst => l2cap-protocol.rst}         |   0
 {tools => doc}/l2ping.rst                     |   0
 ...idelines.txt => maintainer-guidelines.rst} |  62 ++--
 doc/{mgmt.rst => mgmt-protocol.rst}           |   0
 doc/org.bluez.HealthChannel.rst               |  72 ++++
 doc/org.bluez.HealthDevice.rst                |  94 +++++
 doc/org.bluez.HealthManager.rst               |  68 ++++
 doc/org.bluez.SimAccess.rst                   |  40 ++
 doc/org.bluez.Thermometer.rst                 |  51 +++
 doc/org.bluez.ThermometerManager.rst          |  64 ++++
 doc/org.bluez.ThermometerWatcher.rst          |  79 ++++
 {tools => doc}/rctest.rst                     |   0
 doc/rfcomm-protocol.rst                       | 212 +++++++++++
 doc/rfcomm.rst                                | 234 +++---------
 doc/sap-api.txt                               |  20 -
 doc/{sco.rst => sco-protocol.rst}             |   0
 {tools => doc}/sdptool.rst                    |   0
 doc/{security-bugs.txt => security-bugs.rst}  |   1 +
 doc/thermometer-api.txt                       | 134 -------
 tools/rfcomm.rst                              | 100 -----
 59 files changed, 1226 insertions(+), 957 deletions(-)
 create mode 100644 doc/assigned-numbers.rst
 delete mode 100644 doc/assigned-numbers.txt
 rename {tools => doc}/bdaddr.rst (100%)
 rename {mesh => doc}/bluetooth-meshd.rst.in (100%)
 rename {client => doc}/bluetoothctl-admin.rst (100%)
 rename {client => doc}/bluetoothctl-advertise.rst (100%)
 rename {client => doc}/bluetoothctl-assistant.rst (100%)
 rename {client => doc}/bluetoothctl-bredr.rst (100%)
 rename {client => doc}/bluetoothctl-endpoint.rst (100%)
 rename {client => doc}/bluetoothctl-gatt.rst (100%)
 rename {client => doc}/bluetoothctl-hci.rst (100%)
 rename {client => doc}/bluetoothctl-le.rst (100%)
 rename {client => doc}/bluetoothctl-mgmt.rst (100%)
 rename {client => doc}/bluetoothctl-monitor.rst (100%)
 rename {client => doc}/bluetoothctl-player.rst (100%)
 rename {client => doc}/bluetoothctl-scan.rst (100%)
 rename {client => doc}/bluetoothctl-telephony.rst (100%)
 rename {client => doc}/bluetoothctl-transport.rst (100%)
 rename {client => doc}/bluetoothctl.rst (100%)
 rename {src => doc}/bluetoothd.rst.in (100%)
 rename {tools => doc}/btattach.rst (100%)
 rename {tools => doc}/btmgmt.rst (100%)
 rename {monitor => doc}/btmon.rst (100%)
 rename {tools => doc}/ciptool.rst (100%)
 create mode 100644 doc/coding-style.rst
 delete mode 100644 doc/coding-style.txt
 rename doc/{hci.rst => hci-protocol.rst} (100%)
 rename {tools => doc}/hciattach.rst (100%)
 rename {tools => doc}/hciconfig.rst (100%)
 rename {tools => doc}/hcidump.rst (100%)
 rename {tools => doc}/hcitool.rst (100%)
 delete mode 100644 doc/health-api.txt
 rename {tools => doc}/hid2hci.rst (100%)
 rename doc/{iso.rst => iso-protocol.rst} (100%)
 rename {tools => doc}/isotest.rst (100%)
 rename doc/{l2cap.rst => l2cap-protocol.rst} (100%)
 rename {tools => doc}/l2ping.rst (100%)
 rename doc/{maintainer-guidelines.txt => maintainer-guidelines.rst} (65%)
 rename doc/{mgmt.rst => mgmt-protocol.rst} (100%)
 create mode 100644 doc/org.bluez.HealthChannel.rst
 create mode 100644 doc/org.bluez.HealthDevice.rst
 create mode 100644 doc/org.bluez.HealthManager.rst
 create mode 100644 doc/org.bluez.SimAccess.rst
 create mode 100644 doc/org.bluez.Thermometer.rst
 create mode 100644 doc/org.bluez.ThermometerManager.rst
 create mode 100644 doc/org.bluez.ThermometerWatcher.rst
 rename {tools => doc}/rctest.rst (100%)
 create mode 100644 doc/rfcomm-protocol.rst
 delete mode 100644 doc/sap-api.txt
 rename doc/{sco.rst => sco-protocol.rst} (100%)
 rename {tools => doc}/sdptool.rst (100%)
 rename doc/{security-bugs.txt => security-bugs.rst} (99%)
 delete mode 100644 doc/thermometer-api.txt
 delete mode 100644 tools/rfcomm.rst

-- 
2.52.0


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [BlueZ v3 1/9] doc: Rename section 7 man pages
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22 10:07   ` Port text docs to RST and move " bluez.test.bot
  2026-01-22  9:05 ` [BlueZ v3 2/9] doc: Move all the man pages to doc/ Bastien Nocera
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

So that rfcomm.rst can be used for the rfcomm command-line utilities.
This does not change the names of the generated man pages.
---
 Makefile.am                             | 7 ++++---
 doc/{hci.rst => hci-protocol.rst}       | 0
 doc/{iso.rst => iso-protocol.rst}       | 0
 doc/{l2cap.rst => l2cap-protocol.rst}   | 0
 doc/{mgmt.rst => mgmt-protocol.rst}     | 0
 doc/{rfcomm.rst => rfcomm-protocol.rst} | 0
 doc/{sco.rst => sco-protocol.rst}       | 0
 7 files changed, 4 insertions(+), 3 deletions(-)
 rename doc/{hci.rst => hci-protocol.rst} (100%)
 rename doc/{iso.rst => iso-protocol.rst} (100%)
 rename doc/{l2cap.rst => l2cap-protocol.rst} (100%)
 rename doc/{mgmt.rst => mgmt-protocol.rst} (100%)
 rename doc/{rfcomm.rst => rfcomm-protocol.rst} (100%)
 rename doc/{sco.rst => sco-protocol.rst} (100%)

diff --git a/Makefile.am b/Makefile.am
index 3adfa6cd51c3..c7a356b2cbd7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -481,8 +481,9 @@ EXTRA_DIST += doc/assigned-numbers.txt doc/supported-features.txt \
 EXTRA_DIST += doc/health-api.txt \
 		doc/sap-api.txt
 
-EXTRA_DIST += doc/hci.rst doc/mgmt.rst doc/l2cap.rst doc/rfcomm.rst \
-	      doc/sco.rst doc/iso.rst
+EXTRA_DIST += doc/hci-protocol.rst doc/mgmt-protocol.rst \
+	      doc/l2cap-protocol.rst doc/rfcomm-protocol.rst \
+	      doc/sco-protocol.rst doc/iso-protocol.rst
 
 EXTRA_DIST += doc/org.bluez.Adapter.rst doc/org.bluez.Device.rst \
 		doc/org.bluez.Bearer.LE.rst doc/org.bluez.Bearer.BREDR.rst \
@@ -825,7 +826,7 @@ endif
 %.5: %.rst Makefile
 	$(RST2MAN_PROCESS)
 
-%.7: %.rst Makefile
+%.7: %-protocol.rst Makefile
 	$(RST2MAN_PROCESS)
 
 %.8: %.rst Makefile
diff --git a/doc/hci.rst b/doc/hci-protocol.rst
similarity index 100%
rename from doc/hci.rst
rename to doc/hci-protocol.rst
diff --git a/doc/iso.rst b/doc/iso-protocol.rst
similarity index 100%
rename from doc/iso.rst
rename to doc/iso-protocol.rst
diff --git a/doc/l2cap.rst b/doc/l2cap-protocol.rst
similarity index 100%
rename from doc/l2cap.rst
rename to doc/l2cap-protocol.rst
diff --git a/doc/mgmt.rst b/doc/mgmt-protocol.rst
similarity index 100%
rename from doc/mgmt.rst
rename to doc/mgmt-protocol.rst
diff --git a/doc/rfcomm.rst b/doc/rfcomm-protocol.rst
similarity index 100%
rename from doc/rfcomm.rst
rename to doc/rfcomm-protocol.rst
diff --git a/doc/sco.rst b/doc/sco-protocol.rst
similarity index 100%
rename from doc/sco.rst
rename to doc/sco-protocol.rst
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 2/9] doc: Move all the man pages to doc/
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 1/9] doc: Rename section 7 " Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:57   ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 3/9] doc: Port assigned-numbers.txt to RST Bastien Nocera
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

No modifications are made to the documentation files, their sources (rst
or rst.in) are just moved to doc/ and the autotools build files adjusted
for the new path.
---
 Makefile.am                                |  4 +-
 Makefile.mesh                              |  4 +-
 Makefile.tools                             | 68 +++++++++++-----------
 configure.ac                               |  4 +-
 {tools => doc}/bdaddr.rst                  |  0
 {mesh => doc}/bluetooth-meshd.rst.in       |  0
 {client => doc}/bluetoothctl-admin.rst     |  0
 {client => doc}/bluetoothctl-advertise.rst |  0
 {client => doc}/bluetoothctl-assistant.rst |  0
 {client => doc}/bluetoothctl-bredr.rst     |  0
 {client => doc}/bluetoothctl-endpoint.rst  |  0
 {client => doc}/bluetoothctl-gatt.rst      |  0
 {client => doc}/bluetoothctl-hci.rst       |  0
 {client => doc}/bluetoothctl-le.rst        |  0
 {client => doc}/bluetoothctl-mgmt.rst      |  0
 {client => doc}/bluetoothctl-monitor.rst   |  0
 {client => doc}/bluetoothctl-player.rst    |  0
 {client => doc}/bluetoothctl-scan.rst      |  0
 {client => doc}/bluetoothctl-telephony.rst |  0
 {client => doc}/bluetoothctl-transport.rst |  0
 {client => doc}/bluetoothctl.rst           |  0
 {src => doc}/bluetoothd.rst.in             |  0
 {tools => doc}/btattach.rst                |  0
 {tools => doc}/btmgmt.rst                  |  0
 {monitor => doc}/btmon.rst                 |  0
 {tools => doc}/ciptool.rst                 |  0
 {tools => doc}/hciattach.rst               |  0
 {tools => doc}/hciconfig.rst               |  0
 {tools => doc}/hcidump.rst                 |  0
 {tools => doc}/hcitool.rst                 |  0
 {tools => doc}/hid2hci.rst                 |  0
 {tools => doc}/isotest.rst                 |  0
 {tools => doc}/l2ping.rst                  |  0
 {tools => doc}/rctest.rst                  |  0
 {tools => doc}/rfcomm.rst                  |  0
 {tools => doc}/sdptool.rst                 |  0
 36 files changed, 40 insertions(+), 40 deletions(-)
 rename {tools => doc}/bdaddr.rst (100%)
 rename {mesh => doc}/bluetooth-meshd.rst.in (100%)
 rename {client => doc}/bluetoothctl-admin.rst (100%)
 rename {client => doc}/bluetoothctl-advertise.rst (100%)
 rename {client => doc}/bluetoothctl-assistant.rst (100%)
 rename {client => doc}/bluetoothctl-bredr.rst (100%)
 rename {client => doc}/bluetoothctl-endpoint.rst (100%)
 rename {client => doc}/bluetoothctl-gatt.rst (100%)
 rename {client => doc}/bluetoothctl-hci.rst (100%)
 rename {client => doc}/bluetoothctl-le.rst (100%)
 rename {client => doc}/bluetoothctl-mgmt.rst (100%)
 rename {client => doc}/bluetoothctl-monitor.rst (100%)
 rename {client => doc}/bluetoothctl-player.rst (100%)
 rename {client => doc}/bluetoothctl-scan.rst (100%)
 rename {client => doc}/bluetoothctl-telephony.rst (100%)
 rename {client => doc}/bluetoothctl-transport.rst (100%)
 rename {client => doc}/bluetoothctl.rst (100%)
 rename {src => doc}/bluetoothd.rst.in (100%)
 rename {tools => doc}/btattach.rst (100%)
 rename {tools => doc}/btmgmt.rst (100%)
 rename {monitor => doc}/btmon.rst (100%)
 rename {tools => doc}/ciptool.rst (100%)
 rename {tools => doc}/hciattach.rst (100%)
 rename {tools => doc}/hciconfig.rst (100%)
 rename {tools => doc}/hcidump.rst (100%)
 rename {tools => doc}/hcitool.rst (100%)
 rename {tools => doc}/hid2hci.rst (100%)
 rename {tools => doc}/isotest.rst (100%)
 rename {tools => doc}/l2ping.rst (100%)
 rename {tools => doc}/rctest.rst (100%)
 rename {tools => doc}/rfcomm.rst (100%)
 rename {tools => doc}/sdptool.rst (100%)

diff --git a/Makefile.am b/Makefile.am
index c7a356b2cbd7..5deea67eff00 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -364,7 +364,7 @@ nodist_src_bluetoothd_SOURCES = $(builtin_files)
 CLEANFILES += $(builtin_files)
 
 if MANPAGES
-man_MANS += src/bluetoothd.8
+man_MANS += doc/bluetoothd.8
 man_MANS += doc/hci.7 doc/mgmt.7 doc/l2cap.7 doc/rfcomm.7 doc/sco.7 doc/iso.7
 man_MANS += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \
 		doc/org.bluez.Bearer.LE.5 doc/org.bluez.Bearer.BREDR.5 \
@@ -400,7 +400,7 @@ man_MANS += doc/org.bluez.obex.Client.5 doc/org.bluez.obex.Session.5 \
 		doc/org.bluez.obex.Image.5
 man_MANS += doc/org.bluez.Telephony.5 doc/org.bluez.Call.5
 endif
-manual_pages += src/bluetoothd.8
+manual_pages += doc/bluetoothd.8
 manual_pages += doc/hci.7 doc/mgmt.7 doc/l2cap.7 doc/rfcomm.7 doc/sco.7 \
 		doc/iso.7
 manual_pages += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \
diff --git a/Makefile.mesh b/Makefile.mesh
index e4c9fa6a32e6..bd3a542b7e6c 100644
--- a/Makefile.mesh
+++ b/Makefile.mesh
@@ -48,9 +48,9 @@ mesh_bluetooth_meshd_SOURCES = $(mesh_sources) mesh/main.c
 mesh_bluetooth_meshd_LDADD = src/libshared-ell.la $(ell_ldadd) -ljson-c
 
 if MANPAGES
-man_MANS += mesh/bluetooth-meshd.8
+man_MANS += doc/bluetooth-meshd.8
 endif
-manual_pages += mesh/bluetooth-meshd.8
+manual_pages += doc/bluetooth-meshd.8
 
 endif
 
diff --git a/Makefile.tools b/Makefile.tools
index cc8aab55cc9f..b9a092f87168 100644
--- a/Makefile.tools
+++ b/Makefile.tools
@@ -64,10 +64,10 @@ monitor_btmon_LDADD = lib/libbluetooth-internal.la \
 				$(GLIB_LIBS) $(UDEV_LIBS) -ldl
 
 if MANPAGES
-man_MANS += monitor/btmon.1
+man_MANS += doc/btmon.1
 endif
 endif
-manual_pages += monitor/btmon.1
+manual_pages += doc/btmon.1
 
 if LOGGER
 pkglibexec_PROGRAMS += tools/btmon-logger
@@ -355,15 +355,15 @@ profiles_iap_iapd_SOURCES = profiles/iap/main.c
 profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS)
 
 if MANPAGES
-man_MANS += tools/rctest.1 tools/l2ping.1 tools/btattach.1 tools/isotest.1 \
-		tools/btmgmt.1 client/bluetoothctl.1 \
-		client/bluetoothctl-mgmt.1 \
-		client/bluetoothctl-monitor.1 client/bluetoothctl-admin.1 \
-		client/bluetoothctl-advertise.1 client/bluetoothctl-endpoint.1 \
-		client/bluetoothctl-gatt.1 client/bluetoothctl-player.1 \
-		client/bluetoothctl-scan.1 client/bluetoothctl-transport.1 \
-		client/bluetoothctl-assistant.1 client/bluetoothctl-hci.1 \
-		client/bluetoothctl-telephony.1
+man_MANS += doc/rctest.1 doc/l2ping.1 doc/btattach.1 doc/isotest.1 \
+		doc/btmgmt.1 doc/bluetoothctl.1 \
+		doc/bluetoothctl-mgmt.1 \
+		doc/bluetoothctl-monitor.1 doc/bluetoothctl-admin.1 \
+		doc/bluetoothctl-advertise.1 doc/bluetoothctl-endpoint.1 \
+		doc/bluetoothctl-gatt.1 doc/bluetoothctl-player.1 \
+		doc/bluetoothctl-scan.1 doc/bluetoothctl-transport.1 \
+		doc/bluetoothctl-assistant.1 doc/bluetoothctl-hci.1 \
+		doc/bluetoothctl-telephony.1
 
 endif
 
@@ -474,30 +474,30 @@ tools_hcidump_LDADD = lib/libbluetooth-internal.la
 tools_rfcomm_LDADD = lib/libbluetooth-internal.la
 
 if MANPAGES
-man_MANS += tools/hciattach.1 tools/hciconfig.1 \
-			tools/hcitool.1 tools/hcidump.1 \
-			tools/rfcomm.1 tools/sdptool.1 tools/ciptool.1
+man_MANS += doc/hciattach.1 doc/hciconfig.1 \
+			doc/hcitool.1 doc/hcidump.1 \
+			doc/rfcomm.1 doc/sdptool.1 doc/ciptool.1
 endif
 endif
 endif
-manual_pages += tools/hciattach.1 tools/hciconfig.1 \
-			tools/hcitool.1 tools/hcidump.1 \
-			tools/rfcomm.1 tools/sdptool.1 tools/ciptool.1 \
-			tools/rctest.1 tools/l2ping.1 tools/btattach.1 \
-			tools/bdaddr.1 tools/isotest.1 tools/btmgmt.1 \
-			client/bluetoothctl.1 \
-			client/bluetoothctl-mgmt.1 \
-			client/bluetoothctl-monitor.1 \
-			client/bluetoothctl-admin.1 \
-			client/bluetoothctl-advertise.1 \
-			client/bluetoothctl-endpoint.1 \
-			client/bluetoothctl-gatt.1 \
-			client/bluetoothctl-player.1 \
-			client/bluetoothctl-scan.1 \
-			client/bluetoothctl-transport.1 \
-			client/bluetoothctl-assistant.1 \
-			client/bluetoothctl-hci.1 \
-			client/bluetoothctl-telephony.1
+manual_pages += doc/hciattach.1 doc/hciconfig.1 \
+			doc/hcitool.1 doc/hcidump.1 \
+			doc/rfcomm.1 doc/sdptool.1 doc/ciptool.1 \
+			doc/rctest.1 doc/l2ping.1 doc/btattach.1 \
+			doc/bdaddr.1 doc/isotest.1 doc/btmgmt.1 \
+			doc/bluetoothctl.1 \
+			doc/bluetoothctl-mgmt.1 \
+			doc/bluetoothctl-monitor.1 \
+			doc/bluetoothctl-admin.1 \
+			doc/bluetoothctl-advertise.1 \
+			doc/bluetoothctl-endpoint.1 \
+			doc/bluetoothctl-gatt.1 \
+			doc/bluetoothctl-player.1 \
+			doc/bluetoothctl-scan.1 \
+			doc/bluetoothctl-transport.1 \
+			doc/bluetoothctl-assistant.1 \
+			doc/bluetoothctl-hci.1 \
+			doc/bluetoothctl-telephony.1
 
 if HID2HCI
 udevdir = $(UDEV_DIR)
@@ -507,10 +507,10 @@ udev_PROGRAMS = tools/hid2hci
 tools_hid2hci_LDADD = $(UDEV_LIBS)
 
 if MANPAGES
-man_MANS += tools/hid2hci.1
+man_MANS += doc/hid2hci.1
 endif
 endif
-manual_pages += tools/hid2hci.1
+manual_pages += doc/hid2hci.1
 
 if READLINE
 noinst_PROGRAMS += tools/btmgmt tools/obex-client-tool tools/obex-server-tool \
diff --git a/configure.ac b/configure.ac
index b6f6789bea52..a21cac81f5c3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -523,11 +523,11 @@ AC_SUBST(PLUGIN_PHONEBOOK, [${plugin_phonebook}])
 AC_CONFIG_FILES(
 	lib/bluez.pc
 	Makefile
-	mesh/bluetooth-meshd.rst
+	doc/bluetooth-meshd.rst
 	mesh/bluetooth-mesh.service
 	obexd/src/obex.service
 	obexd/src/org.bluez.obex.service
-	src/bluetoothd.rst
+	doc/bluetoothd.rst
 	src/bluetooth.service
 	tools/bluetooth-logger.service
 	tools/mpris-proxy.service
diff --git a/tools/bdaddr.rst b/doc/bdaddr.rst
similarity index 100%
rename from tools/bdaddr.rst
rename to doc/bdaddr.rst
diff --git a/mesh/bluetooth-meshd.rst.in b/doc/bluetooth-meshd.rst.in
similarity index 100%
rename from mesh/bluetooth-meshd.rst.in
rename to doc/bluetooth-meshd.rst.in
diff --git a/client/bluetoothctl-admin.rst b/doc/bluetoothctl-admin.rst
similarity index 100%
rename from client/bluetoothctl-admin.rst
rename to doc/bluetoothctl-admin.rst
diff --git a/client/bluetoothctl-advertise.rst b/doc/bluetoothctl-advertise.rst
similarity index 100%
rename from client/bluetoothctl-advertise.rst
rename to doc/bluetoothctl-advertise.rst
diff --git a/client/bluetoothctl-assistant.rst b/doc/bluetoothctl-assistant.rst
similarity index 100%
rename from client/bluetoothctl-assistant.rst
rename to doc/bluetoothctl-assistant.rst
diff --git a/client/bluetoothctl-bredr.rst b/doc/bluetoothctl-bredr.rst
similarity index 100%
rename from client/bluetoothctl-bredr.rst
rename to doc/bluetoothctl-bredr.rst
diff --git a/client/bluetoothctl-endpoint.rst b/doc/bluetoothctl-endpoint.rst
similarity index 100%
rename from client/bluetoothctl-endpoint.rst
rename to doc/bluetoothctl-endpoint.rst
diff --git a/client/bluetoothctl-gatt.rst b/doc/bluetoothctl-gatt.rst
similarity index 100%
rename from client/bluetoothctl-gatt.rst
rename to doc/bluetoothctl-gatt.rst
diff --git a/client/bluetoothctl-hci.rst b/doc/bluetoothctl-hci.rst
similarity index 100%
rename from client/bluetoothctl-hci.rst
rename to doc/bluetoothctl-hci.rst
diff --git a/client/bluetoothctl-le.rst b/doc/bluetoothctl-le.rst
similarity index 100%
rename from client/bluetoothctl-le.rst
rename to doc/bluetoothctl-le.rst
diff --git a/client/bluetoothctl-mgmt.rst b/doc/bluetoothctl-mgmt.rst
similarity index 100%
rename from client/bluetoothctl-mgmt.rst
rename to doc/bluetoothctl-mgmt.rst
diff --git a/client/bluetoothctl-monitor.rst b/doc/bluetoothctl-monitor.rst
similarity index 100%
rename from client/bluetoothctl-monitor.rst
rename to doc/bluetoothctl-monitor.rst
diff --git a/client/bluetoothctl-player.rst b/doc/bluetoothctl-player.rst
similarity index 100%
rename from client/bluetoothctl-player.rst
rename to doc/bluetoothctl-player.rst
diff --git a/client/bluetoothctl-scan.rst b/doc/bluetoothctl-scan.rst
similarity index 100%
rename from client/bluetoothctl-scan.rst
rename to doc/bluetoothctl-scan.rst
diff --git a/client/bluetoothctl-telephony.rst b/doc/bluetoothctl-telephony.rst
similarity index 100%
rename from client/bluetoothctl-telephony.rst
rename to doc/bluetoothctl-telephony.rst
diff --git a/client/bluetoothctl-transport.rst b/doc/bluetoothctl-transport.rst
similarity index 100%
rename from client/bluetoothctl-transport.rst
rename to doc/bluetoothctl-transport.rst
diff --git a/client/bluetoothctl.rst b/doc/bluetoothctl.rst
similarity index 100%
rename from client/bluetoothctl.rst
rename to doc/bluetoothctl.rst
diff --git a/src/bluetoothd.rst.in b/doc/bluetoothd.rst.in
similarity index 100%
rename from src/bluetoothd.rst.in
rename to doc/bluetoothd.rst.in
diff --git a/tools/btattach.rst b/doc/btattach.rst
similarity index 100%
rename from tools/btattach.rst
rename to doc/btattach.rst
diff --git a/tools/btmgmt.rst b/doc/btmgmt.rst
similarity index 100%
rename from tools/btmgmt.rst
rename to doc/btmgmt.rst
diff --git a/monitor/btmon.rst b/doc/btmon.rst
similarity index 100%
rename from monitor/btmon.rst
rename to doc/btmon.rst
diff --git a/tools/ciptool.rst b/doc/ciptool.rst
similarity index 100%
rename from tools/ciptool.rst
rename to doc/ciptool.rst
diff --git a/tools/hciattach.rst b/doc/hciattach.rst
similarity index 100%
rename from tools/hciattach.rst
rename to doc/hciattach.rst
diff --git a/tools/hciconfig.rst b/doc/hciconfig.rst
similarity index 100%
rename from tools/hciconfig.rst
rename to doc/hciconfig.rst
diff --git a/tools/hcidump.rst b/doc/hcidump.rst
similarity index 100%
rename from tools/hcidump.rst
rename to doc/hcidump.rst
diff --git a/tools/hcitool.rst b/doc/hcitool.rst
similarity index 100%
rename from tools/hcitool.rst
rename to doc/hcitool.rst
diff --git a/tools/hid2hci.rst b/doc/hid2hci.rst
similarity index 100%
rename from tools/hid2hci.rst
rename to doc/hid2hci.rst
diff --git a/tools/isotest.rst b/doc/isotest.rst
similarity index 100%
rename from tools/isotest.rst
rename to doc/isotest.rst
diff --git a/tools/l2ping.rst b/doc/l2ping.rst
similarity index 100%
rename from tools/l2ping.rst
rename to doc/l2ping.rst
diff --git a/tools/rctest.rst b/doc/rctest.rst
similarity index 100%
rename from tools/rctest.rst
rename to doc/rctest.rst
diff --git a/tools/rfcomm.rst b/doc/rfcomm.rst
similarity index 100%
rename from tools/rfcomm.rst
rename to doc/rfcomm.rst
diff --git a/tools/sdptool.rst b/doc/sdptool.rst
similarity index 100%
rename from tools/sdptool.rst
rename to doc/sdptool.rst
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 3/9] doc: Port assigned-numbers.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 1/9] doc: Rename section 7 " Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 2/9] doc: Move all the man pages to doc/ Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 4/9] doc: Port thermometer-api.txt " Bastien Nocera
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 Makefile.am              |  2 +-
 doc/assigned-numbers.rst | 29 +++++++++++++++++++++++++++++
 doc/assigned-numbers.txt | 26 --------------------------
 3 files changed, 30 insertions(+), 27 deletions(-)
 create mode 100644 doc/assigned-numbers.rst
 delete mode 100644 doc/assigned-numbers.txt

diff --git a/Makefile.am b/Makefile.am
index 5deea67eff00..1498535e2524 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -473,7 +473,7 @@ endif
 
 EXTRA_DIST += $(test_scripts)
 
-EXTRA_DIST += doc/assigned-numbers.txt doc/supported-features.txt \
+EXTRA_DIST += doc/assigned-numbers.rst doc/supported-features.txt \
 				doc/test-coverage.txt \
 				doc/test-runner.rst \
 				doc/settings-storage.txt
diff --git a/doc/assigned-numbers.rst b/doc/assigned-numbers.rst
new file mode 100644
index 000000000000..e3fcb65b83df
--- /dev/null
+++ b/doc/assigned-numbers.rst
@@ -0,0 +1,29 @@
+===============
+RFCOMM Channels
+===============
+
+Since there are a limited amount of possible RFCOMM channels (1-31)
+they've been pre-allocated for currently known profiles in order to
+avoid conflicts.
+
+.. csv-table::
+	:header: "Profile", "Channel"
+	:widths: auto
+
+	DUN, 1
+	SPP, 3
+	HSP HS, 6
+	HFP HF, 7
+	OPP, 9
+	FTP, 10
+	BIP, 11
+	HSP AG, 12
+	HFP AG, 13
+	SYNCH (IrMC), 14
+	PBAP, 15
+	MAP MAS, 16
+	MAP MNS, 17
+	SyncEvolution, 19
+	PC/Ovi Suite, 24
+	SyncML Client, 25
+	SyncML Server, 26
diff --git a/doc/assigned-numbers.txt b/doc/assigned-numbers.txt
deleted file mode 100644
index cf481c15eb88..000000000000
--- a/doc/assigned-numbers.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-RFCOMM Channels
-===============
-
-Since there are a limited amount of possible RFCOMM channels (1-31)
-they've been pre-allocated for currently known profiles in order to
-avoid conflicts.
-
-Profile		Channel
------------------------
-DUN		1
-SPP		3
-HSP HS		6
-HFP HF		7
-OPP		9
-FTP		10
-BIP		11
-HSP AG		12
-HFP AG		13
-SYNCH (IrMC)	14
-PBAP		15
-MAP MAS		16
-MAP MNS		17
-SyncEvolution	19
-PC/Ovi Suite	24
-SyncML Client	25
-SyncML Server	26
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 4/9] doc: Port thermometer-api.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (2 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 3/9] doc: Port assigned-numbers.txt to RST Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 5/9] doc: Port security-bugs.txt " Bastien Nocera
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 Makefile.am                          |  10 ++
 doc/org.bluez.Thermometer.rst        |  51 ++++++++++
 doc/org.bluez.ThermometerManager.rst |  64 +++++++++++++
 doc/org.bluez.ThermometerWatcher.rst |  79 ++++++++++++++++
 doc/thermometer-api.txt              | 134 ---------------------------
 5 files changed, 204 insertions(+), 134 deletions(-)
 create mode 100644 doc/org.bluez.Thermometer.rst
 create mode 100644 doc/org.bluez.ThermometerManager.rst
 create mode 100644 doc/org.bluez.ThermometerWatcher.rst
 delete mode 100644 doc/thermometer-api.txt

diff --git a/Makefile.am b/Makefile.am
index 1498535e2524..2217bcf15e4f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -399,6 +399,9 @@ man_MANS += doc/org.bluez.obex.Client.5 doc/org.bluez.obex.Session.5 \
 		doc/org.bluez.obex.AgentManager.5 doc/org.bluez.obex.Agent.5 \
 		doc/org.bluez.obex.Image.5
 man_MANS += doc/org.bluez.Telephony.5 doc/org.bluez.Call.5
+man_MANS += doc/org.bluez.ThermometerManager.5 \
+		doc/org.bluez.Thermometer.5 \
+		doc/org.bluez.ThermometerWatcher.5
 endif
 manual_pages += doc/bluetoothd.8
 manual_pages += doc/hci.7 doc/mgmt.7 doc/l2cap.7 doc/rfcomm.7 doc/sco.7 \
@@ -436,6 +439,9 @@ manual_pages += doc/org.bluez.obex.Client.5 doc/org.bluez.obex.Session.5 \
 		doc/org.bluez.obex.AgentManager.5 doc/org.bluez.obex.Agent.5 \
 		doc/org.bluez.obex.Image.5
 manual_pages += doc/org.bluez.Telephony.5 doc/org.bluez.Call.5
+manual_pages += doc/org.bluez.ThermometerManager.5 \
+		doc/org.bluez.Thermometer.5 \
+		doc/org.bluez.ThermometerWatcher.5
 
 EXTRA_DIST += src/genbuiltin src/bluetooth.conf \
 			src/main.conf profiles/network/network.conf \
@@ -523,6 +529,10 @@ EXTRA_DIST += doc/org.bluez.obex.Client.rst doc/org.bluez.obex.Session.rst \
 
 EXTRA_DIST += doc/org.bluez.Telephony.rst doc/org.bluez.Call.rst
 
+EXTRA_DIST += doc/org.bluez.ThermometerManager.rst \
+	      doc/org.bluez.Thermometer.rst \
+	      doc/org.bluez.ThermometerWatcher.rst
+
 EXTRA_DIST += doc/pics-opp.txt doc/pixit-opp.txt \
 		doc/pts-opp.txt
 
diff --git a/doc/org.bluez.Thermometer.rst b/doc/org.bluez.Thermometer.rst
new file mode 100644
index 000000000000..cc7e4f8d19c2
--- /dev/null
+++ b/doc/org.bluez.Thermometer.rst
@@ -0,0 +1,51 @@
+=====================
+org.bluez.Thermometer
+=====================
+
+------------------------------------------------
+BlueZ D-Bus Health Thermometer API documentation
+------------------------------------------------
+
+:Version: BlueZ
+:Date: July 2011
+:Author: Santiago Carot-Nemesio <sancane@gmail.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	org.bluez
+:Interface:	org.bluez.Thermometer1
+:Object path:	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
+
+Properties
+----------
+
+boolean Intermediate [readonly]
+```````````````````````````````
+
+True if the thermometer supports intermediate
+measurement notifications.
+
+uint16 Interval (optional) [readwrite]
+``````````````````````````````````````
+
+The Measurement Interval defines the time (in
+seconds) between measurements. This interval is
+not related to the intermediate measurements and
+must be defined into a valid range. Setting it
+to zero means that no periodic measurements will
+be taken.
+
+uint16 Maximum (optional) [readonly]
+````````````````````````````````````
+
+Defines the maximum value allowed for the interval
+between periodic measurements.
+
+uint16 Minimum (optional) [readonly]
+````````````````````````````````````
+
+Defines the minimum value allowed for the interval
+between periodic measurements.
diff --git a/doc/org.bluez.ThermometerManager.rst b/doc/org.bluez.ThermometerManager.rst
new file mode 100644
index 000000000000..5e46fd54a456
--- /dev/null
+++ b/doc/org.bluez.ThermometerManager.rst
@@ -0,0 +1,64 @@
+============================
+org.bluez.ThermometerManager
+============================
+
+-------------------------------------------------------
+BlueZ D-Bus Health ThermometerManager API documentation
+-------------------------------------------------------
+
+:Version: BlueZ
+:Date: July 2011
+:Author: Santiago Carot-Nemesio <sancane@gmail.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	org.bluez
+:Interface:	org.bluez.ThermometerManager1
+:Object path:	[variable prefix]/{hci0,hci1,...}
+
+Methods
+-------
+
+void RegisterWatcher(object agent)
+``````````````````````````````````
+
+Registers a watcher to monitor scanned measurements.
+This agent will be notified about final temperature
+measurements.
+
+Possible Errors:
+
+:org.bluez.Error.InvalidArguments:
+
+
+void UnregisterWatcher(object agent)
+````````````````````````````````````
+
+Unregisters a watcher.
+
+void EnableIntermediateMeasurement(object agent)
+````````````````````````````````````````````````
+
+Enables intermediate measurement notifications
+for this agent. Intermediate measurements will
+be enabled only for thermometers which support it.
+
+Possible Errors:
+
+:org.bluez.Error.InvalidArguments:
+
+void DisableIntermediateMeasurement(object agent)
+`````````````````````````````````````````````````
+
+Disables intermediate measurement notifications
+for this agent. It will disable notifications in
+thermometers when the last agent removes the
+watcher for intermediate measurements.
+
+Possible Errors:
+
+:org.bluez.Error.InvalidArguments:
+:org.bluez.Error.NotFound:
diff --git a/doc/org.bluez.ThermometerWatcher.rst b/doc/org.bluez.ThermometerWatcher.rst
new file mode 100644
index 000000000000..2f115f66ab94
--- /dev/null
+++ b/doc/org.bluez.ThermometerWatcher.rst
@@ -0,0 +1,79 @@
+============================
+org.bluez.ThermometerWatcher
+============================
+
+--------------------------------------------------------
+BlueZ D-Bus Health Thermometer Watcher API documentation
+--------------------------------------------------------
+
+:Version: BlueZ
+:Date: July 2011
+:Author: Santiago Carot-Nemesio <sancane@gmail.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	unique name
+:Interface:	org.bluez.ThermometerWatcher1
+:Object path:	freely definable
+
+Methods
+-------
+
+void MeasurementReceived(dict measurement)
+``````````````````````````````````````````
+
+This callback gets called when a measurement has been
+scanned in the thermometer.
+
+Possible measurement values:
+
+:int16 Exponent:
+:int32 Mantissa:
+
+	Exponent and Mantissa values as extracted from float value defined by
+	IEEE-11073-20601.
+
+	Measurement value is calculated as
+	(Mantissa) * (10^Exponent)
+
+	For special cases Exponent is
+	set to 0 and Mantissa is set to
+	one of following values:
+
+.. csv-table::
+        :header: "Value", "Description"
+        :widths: auto
+
+        +(2^23 - 1), NaN (invalid or missing data)
+        -(2^23), NRes
+        +(2^23 - 2), +Infinity
+        -(2^23 - 2), -Infinity
+
+:string Unit:
+
+	Possible values: "celsius" or
+			"fahrenheit"
+
+:uint64 Time (optional):
+
+	Time of measurement, if
+	supported by device.
+	Expressed in seconds since epoch.
+
+:string Type (optional):
+
+	Only present if measurement type
+	is known.
+
+	Possible values: "armpit", "body",
+		"ear", "finger", "intestines",
+		"mouth", "rectum", "toe",
+		"tympanum"
+
+:string Measurement:
+
+	Possible values: "final" or "intermediate"
+
diff --git a/doc/thermometer-api.txt b/doc/thermometer-api.txt
deleted file mode 100644
index c7c8a5dadee0..000000000000
--- a/doc/thermometer-api.txt
+++ /dev/null
@@ -1,134 +0,0 @@
-BlueZ D-Bus Thermometer API description
-***************************************
-
-	Santiago Carot-Nemesio <sancane@gmail.com>
-
-Health Thermometer Manager hierarchy
-====================================
-
-Service		org.bluez
-Interface	org.bluez.ThermometerManager1
-Object path	[variable prefix]/{hci0,hci1,...}
-
-Methods		RegisterWatcher(object agent)
-
-			Registers a watcher to monitor scanned measurements.
-			This agent will be notified about final temperature
-			measurements.
-
-			Possible Errors: org.bluez.Error.InvalidArguments
-
-		UnregisterWatcher(object agent)
-
-			Unregisters a watcher.
-
-		EnableIntermediateMeasurement(object agent)
-
-			Enables intermediate measurement notifications
-			for this agent. Intermediate measurements will
-			be enabled only for thermometers which support it.
-
-			Possible Errors: org.bluez.Error.InvalidArguments
-
-		DisableIntermediateMeasurement(object agent)
-
-			Disables intermediate measurement notifications
-			for this agent. It will disable notifications in
-			thermometers when the last agent removes the
-			watcher for intermediate measurements.
-
-			Possible Errors: org.bluez.Error.InvalidArguments
-					org.bluez.Error.NotFound
-
-Health Thermometer Profile hierarchy
-====================================
-
-Service		org.bluez
-Interface	org.bluez.Thermometer1
-Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
-
-
-Properties	boolean Intermediate [readonly]
-
-			True if the thermometer supports intermediate
-			measurement notifications.
-
-		uint16 Interval (optional) [readwrite]
-
-			The Measurement Interval defines the time (in
-			seconds) between measurements. This interval is
-			not related to the intermediate measurements and
-			must be defined into a valid range. Setting it
-			to zero means that no periodic measurements will
-			be taken.
-
-		uint16 Maximum (optional) [readonly]
-
-			Defines the maximum value allowed for the interval
-			between periodic measurements.
-
-		uint16 Minimum (optional) [readonly]
-
-			Defines the minimum value allowed for the interval
-			between periodic measurements.
-
-
-Health Thermometer Watcher hierarchy
-====================================
-
-Service		unique name
-Interface	org.bluez.ThermometerWatcher1
-Object path	freely definable
-
-Methods		void MeasurementReceived(dict measurement)
-
-			This callback gets called when a measurement has been
-			scanned in the thermometer.
-
-			Measurement:
-
-				int16 Exponent:
-				int32 Mantissa:
-
-					Exponent and Mantissa values as
-					extracted from float value defined by
-					IEEE-11073-20601.
-
-					Measurement value is calculated as
-					(Mantissa) * (10^Exponent)
-
-					For special cases Exponent is
-					set to 0 and Mantissa is set to
-					one of following values:
-
-					+(2^23 - 1)	NaN (invalid or
-							missing data)
-					-(2^23)		NRes
-					+(2^23 - 2)	+Infinity
-					-(2^23 - 2)	-Infinity
-
-				string Unit:
-
-					Possible values: "celsius" or
-							"fahrenheit"
-
-				uint64 Time (optional):
-
-					Time of measurement, if
-					supported by device.
-					Expressed in seconds since epoch.
-
-				string Type (optional):
-
-					Only present if measurement type
-					is known.
-
-					Possible values: "armpit", "body",
-						"ear", "finger", "intestines",
-						"mouth", "rectum", "toe",
-						"tympanum"
-
-				string Measurement:
-
-					Possible values: "final" or
-							"intermediate"
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 5/9] doc: Port security-bugs.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (3 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 4/9] doc: Port thermometer-api.txt " Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 6/9] doc: Port coding-style.txt " Bastien Nocera
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 doc/{security-bugs.txt => security-bugs.rst} | 1 +
 1 file changed, 1 insertion(+)
 rename doc/{security-bugs.txt => security-bugs.rst} (99%)

diff --git a/doc/security-bugs.txt b/doc/security-bugs.rst
similarity index 99%
rename from doc/security-bugs.txt
rename to doc/security-bugs.rst
index bd4b0d68f309..0dcacfbd9eac 100644
--- a/doc/security-bugs.txt
+++ b/doc/security-bugs.rst
@@ -1,3 +1,4 @@
+=============
 Security bugs
 =============
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 6/9] doc: Port coding-style.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (4 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 5/9] doc: Port security-bugs.txt " Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 7/9] doc: Port sap-api.txt " Bastien Nocera
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 doc/coding-style.rst | 349 +++++++++++++++++++++++++++++++++++++++++++
 doc/coding-style.txt | 279 ----------------------------------
 2 files changed, 349 insertions(+), 279 deletions(-)
 create mode 100644 doc/coding-style.rst
 delete mode 100644 doc/coding-style.txt

diff --git a/doc/coding-style.rst b/doc/coding-style.rst
new file mode 100644
index 000000000000..91250e867f09
--- /dev/null
+++ b/doc/coding-style.rst
@@ -0,0 +1,349 @@
+==================
+BlueZ coding style
+==================
+
+Every project has its coding style, and BlueZ is not an exception. This
+document describes the preferred coding style for BlueZ code, in order to keep
+some level of consistency among developers so that code can be easily
+understood and maintained.
+
+First of all, BlueZ coding style must follow every rule for Linux kernel
+(https://www.kernel.org/doc/Documentation/process/coding-style.rst). There also
+exists a tool named checkpatch.pl to help you check the compliance with it.
+Just type ``checkpatch.pl --no-tree patch_name`` to check your patch. In theory,
+you need to clean up all the warnings and errors except this one: ``ERROR:
+Missing Signed-off-by: line(s)``. BlueZ does not used ``Signed-off-by`` lines, so
+including them is actually an error. In certain circumstances one can ignore
+the 80 character per line limit. This is generally only allowed if the
+alternative would make the code even less readable.
+
+Besides the kernel coding style above, BlueZ has special flavors for its own.
+Some of them are mandatory (marked as ``M``), while some others are optional
+(marked as ``O``), but generally preferred.
+
+M1: Blank line before and after an if/while/do/for statement
+------------------------------------------------------------
+
+There should be a blank line before ``if`` statement unless the ``if`` is nested and
+not preceded by an expression or variable declaration.
+
+Example:
+1)
+
+.. code-block:: C
+
+        a = 1;
+        if (b) {  // wrong
+
+2)
+
+.. code-block:: C
+
+        a = 1
+
+        if (b) {
+        }
+        a = 2;	// wrong
+
+3)
+
+.. code-block:: C
+
+        if (a) {
+	        if (b)  // correct
+
+4)
+
+.. code-block:: C
+
+        b = 2;
+
+        if (a) {	// correct
+
+        }
+
+        b = 3;
+
+The only exception to this rule applies when a variable is being checked for
+errors as such:
+
+.. code-block:: C
+
+        err = stat(filename, &st);
+        if (err || !S_ISDIR(st.st_mode))
+	        return;
+
+M2: Multiple line comment
+-------------------------
+
+If your comment has more than one line, please start it from the second line.
+
+Example:
+
+.. code-block:: C
+
+        /*
+         * first line comment	// correct
+         * ...
+         * last line comment
+         */
+
+M3: Space before and after operator
+-----------------------------------
+
+There should be a space before and after each operator.
+
+Example:
+
+.. code-block:: C
+
+        a + b;  // correct
+
+
+M4: Wrap long lines
+-------------------
+
+If your condition in ``if``, ``while``, ``for`` statement or a function declaration is too
+long to fit in one line, the new line needs to be indented not aligned with the
+body.
+
+Example:
+1)
+
+.. code-block:: C
+
+        if ((adapter->supported_settings & MGMT_SETTING_SSP) &&
+        	!(adapter->current_settings & MGMT_SETTING_SSP)) // wrong
+
+2)
+
+.. code-block:: C
+
+        if ((adapter->supported_settings & MGMT_SETTING_SSP) &&
+	        			!(adapter->current_settings & MGMT_SETTING_SSP))
+
+3)
+
+.. code-block:: C
+
+        void btd_adapter_register_pin_cb(struct btd_adapter *adapter,
+	        			 btd_adapter_pin_cb_t cb) // wrong
+
+4)
+
+.. code-block:: C
+
+        void btd_adapter_register_pin_cb(struct btd_adapter *adapter,
+	        						btd_adapter_pin_cb_t cb)
+
+The referred style for line wrapping is to indent as far as possible to the
+right without hitting the 80 columns limit.
+
+M5: Space when doing type casting
+---------------------------------
+
+There should be a space between new type and variable.
+
+Example:
+1)
+
+.. code-block:: C
+
+        a = (int *)b;  // wrong
+
+2)
+
+.. code-block:: C
+
+        a = (int *) b;  // correct
+
+
+M6: Don't initialize variable unnecessarily
+-------------------------------------------
+
+When declaring a variable, try not to initialize it unless necessary.
+
+Example:
+
+.. code-block:: C
+
+        int i = 1;  // wrong
+
+        for (i = 0; i < 3; i++) {
+        }
+
+M7: Follow the order of include header elements
+-----------------------------------------------
+
+When writing an include header the various elements should be in the following
+order:
+
+* ``#include``'s
+* forward declarations
+* ``#define``'s
+* ``enum``'s
+* ``typedef``'s
+* function declarations and inline function definitions
+
+M8: Internal headers must not use include guards
+------------------------------------------------
+
+Any time when creating a new header file with non-public API, that header
+must not contain include guards.
+
+M9: Naming of enums
+-------------------
+
+Enums must have a descriptive name.  The enum type should be small caps and
+it should not be ``typedef``'ed.  Enum contents should be in CAPITAL letters and
+prefixed by the ``enum`` type name.
+
+Example:
+
+.. code-block:: C
+
+        enum animal_type {
+        	ANIMAL_TYPE_FOUR_LEGS,
+        	ANIMAL_TYPE_EIGHT_LEGS,
+        	ANIMAL_TYPE_TWO_LEGS,
+        };
+
+If the enum contents have values (e.g. from specification) the formatting
+should be as follows:
+
+.. code-block:: C
+
+        enum animal_type {
+        	ANIMAL_TYPE_FOUR_LEGS =		4,
+        	ANIMAL_TYPE_EIGHT_LEGS =	8,
+        	ANIMAL_TYPE_TWO_LEGS =		2,
+        };
+
+M10: Enum as switch variable
+----------------------------
+
+If the variable of a ``switch`` is an enum, you must include all values in
+switch body even if providing ``default``. This is enforced by compiler option
+enabling extra warning in such case. The reason for this is to ensure that if
+later on the enum is modified and one forget to change the ``switch`` accordingly, the
+compiler will complain the new added type hasn't been handled.
+
+Example:
+
+.. code-block:: C
+
+        enum animal_type {
+        	ANIMAL_TYPE_FOUR_LEGS =		4,
+        	ANIMAL_TYPE_EIGHT_LEGS =	8,
+        	ANIMAL_TYPE_TWO_LEGS =		2,
+        };
+
+        enum animal_type t;
+
+        switch (t) { // OK
+        case ANIMAL_TYPE_FOUR_LEGS:
+        	...
+        	break;
+        case ANIMAL_TYPE_EIGHT_LEGS:
+        	...
+        	break;
+        case ANIMAL_TYPE_TWO_LEGS:
+        	...
+        	break;
+        default:
+        	break;
+        }
+
+        switch (t) { // Wrong
+        case ANIMAL_TYPE_FOUR_LEGS:
+        	...
+        	break;
+        case ANIMAL_TYPE_TWO_LEGS:
+        	...
+        	break;
+        default:
+        	break;
+        }
+
+However if the enum comes from an external header file outside BlueZ, such as
+Android headers, we cannot make any assumption of how the enum is defined and
+this rule might not apply.
+
+M11: Always use parenthesis with sizeof
+---------------------------------------
+
+The expression argument to the ``sizeof`` operator should always be in
+parenthesis, too.
+
+Example:
+1)
+
+.. code-block:: C
+
+        memset(stuff, 0, sizeof(*stuff));
+
+2)
+
+.. code-block:: C
+
+        memset(stuff, 0, sizeof *stuff); // Wrong
+
+M12: Use void if function has no parameters
+-------------------------------------------
+
+A function with no parameters must use ``void`` in the parameter list.
+
+Example:
+1)
+
+.. code-block:: C
+
+        void foo(void)
+        {
+        }
+
+2)
+
+.. code-block:: C
+
+        void foo()	// Wrong
+        {
+        }
+
+O1: Try to avoid complex if body
+--------------------------------
+
+It's better not to have a complicated statement for ``if``. You may judge its
+contrary condition and ``return``, ``break``, ``continue`` or ``goto`` as soon
+as possible.
+
+Example:
+
+1)
+
+.. code-block:: C
+
+        if (device) {  // worse
+        	memset(&eir_data, 0, sizeof(eir_data));
+        	if (eir_len > 0)
+        		eir_parse(&eir_data, ev->eir, eir_len);
+        	...
+        } else {
+        	error("Unable to get device object for %s", addr);
+        	return;
+        }
+
+2)
+
+.. code-block:: C
+
+        if (!device) {
+        	error("Unable to get device object for %s", addr);
+        	return;
+        }
+
+        memset(&eir_data, 0, sizeof(eir_data));
+        if (eir_len > 0)
+        	eir_parse(&eir_data, ev->eir, eir_len);
+        ...
+
diff --git a/doc/coding-style.txt b/doc/coding-style.txt
deleted file mode 100644
index e73158840ff6..000000000000
--- a/doc/coding-style.txt
+++ /dev/null
@@ -1,279 +0,0 @@
-BlueZ coding style
-******************
-
-Every project has its coding style, and BlueZ is not an exception. This
-document describes the preferred coding style for BlueZ code, in order to keep
-some level of consistency among developers so that code can be easily
-understood and maintained.
-
-First of all, BlueZ coding style must follow every rule for Linux kernel
-(https://www.kernel.org/doc/Documentation/process/coding-style.rst). There also
-exists a tool named checkpatch.pl to help you check the compliance with it.
-Just type "checkpatch.pl --no-tree patch_name" to check your patch. In theory,
-you need to clean up all the warnings and errors except this one: "ERROR:
-Missing Signed-off-by: line(s)". BlueZ does not used Signed-Off lines, so
-including them is actually an error.  In certain circumstances one can ignore
-the 80 character per line limit.  This is generally only allowed if the
-alternative would make the code even less readable.
-
-Besides the kernel coding style above, BlueZ has special flavors for its own.
-Some of them are mandatory (marked as 'M'), while some others are optional
-(marked as 'O'), but generally preferred.
-
-M1: Blank line before and after an if/while/do/for statement
-============================================================
-
-There should be a blank line before if statement unless the if is nested and
-not preceded by an expression or variable declaration.
-
-Example:
-1)
-a = 1;
-if (b) {  // wrong
-
-2)
-a = 1
-
-if (b) {
-}
-a = 2;	// wrong
-
-3)
-if (a) {
-	if (b)  // correct
-
-4)
-b = 2;
-
-if (a) {	// correct
-
-}
-
-b = 3;
-
-The only exception to this rule applies when a variable is being checked for
-errors as such:
-
-err = stat(filename, &st);
-if (err || !S_ISDIR(st.st_mode))
-	return;
-
-M2: Multiple line comment
-=========================
-
-If your comment has more than one line, please start it from the second line.
-
-Example:
-/*
- * first line comment	// correct
- * ...
- * last line comment
- */
-
-
-M3: Space before and after operator
-===================================
-
-There should be a space before and after each operator.
-
-Example:
-a + b;  // correct
-
-
-M4: Wrap long lines
-===================
-
-If your condition in if, while, for statement or a function declaration is too
-long to fit in one line, the new line needs to be indented not aligned with the
-body.
-
-Example:
-1)
-if ((adapter->supported_settings & MGMT_SETTING_SSP) &&
-	!(adapter->current_settings & MGMT_SETTING_SSP)) // wrong
-
-2)
-if ((adapter->supported_settings & MGMT_SETTING_SSP) &&
-				!(adapter->current_settings & MGMT_SETTING_SSP))
-
-3)
-void btd_adapter_register_pin_cb(struct btd_adapter *adapter,
-				 btd_adapter_pin_cb_t cb) // wrong
-
-4)
-void btd_adapter_register_pin_cb(struct btd_adapter *adapter,
-							btd_adapter_pin_cb_t cb)
-
-The referred style for line wrapping is to indent as far as possible to the
-right without hitting the 80 columns limit.
-
-M5: Space when doing type casting
-=================================
-
-There should be a space between new type and variable.
-
-Example:
-1)
-a = (int *)b;  // wrong
-2)
-a = (int *) b;  // correct
-
-
-M6: Don't initialize variable unnecessarily
-===========================================
-
-When declaring a variable, try not to initialize it unless necessary.
-
-Example:
-int i = 1;  // wrong
-
-for (i = 0; i < 3; i++) {
-}
-
-M7: Follow the order of include header elements
-===============================================
-
-When writing an include header the various elements should be in the following
-order:
-	- #includes
-	- forward declarations
-	- #defines
-	- enums
-	- typedefs
-	- function declarations and inline function definitions
-
-M8: Internal headers must not use include guards
-================================================
-
-Any time when creating a new header file with non-public API, that header
-must not contain include guards.
-
-M9: Naming of enums
-===================
-
-Enums must have a descriptive name.  The enum type should be small caps and
-it should not be typedef-ed.  Enum contents should be in CAPITAL letters and
-prefixed by the enum type name.
-
-Example:
-
-enum animal_type {
-	ANIMAL_TYPE_FOUR_LEGS,
-	ANIMAL_TYPE_EIGHT_LEGS,
-	ANIMAL_TYPE_TWO_LEGS,
-};
-
-If the enum contents have values (e.g. from specification) the formatting
-should be as follows:
-
-enum animal_type {
-	ANIMAL_TYPE_FOUR_LEGS =		4,
-	ANIMAL_TYPE_EIGHT_LEGS =	8,
-	ANIMAL_TYPE_TWO_LEGS =		2,
-};
-
-M10: Enum as switch variable
-============================
-
-If the variable of a switch is an enum, you must include all values in
-switch body even if providing default. This is enforced by compiler option
-enabling extra warning in such case. The reason for this is to ensure that if
-later on enum is modified and one forget to change the switch accordingly, the
-compiler will complain the new added type hasn't been handled.
-
-Example:
-
-enum animal_type {
-	ANIMAL_TYPE_FOUR_LEGS =		4,
-	ANIMAL_TYPE_EIGHT_LEGS =	8,
-	ANIMAL_TYPE_TWO_LEGS =		2,
-};
-
-enum animal_type t;
-
-switch (t) { // OK
-case ANIMAL_TYPE_FOUR_LEGS:
-	...
-	break;
-case ANIMAL_TYPE_EIGHT_LEGS:
-	...
-	break;
-case ANIMAL_TYPE_TWO_LEGS:
-	...
-	break;
-default:
-	break;
-}
-
-switch (t) { // Wrong
-case ANIMAL_TYPE_FOUR_LEGS:
-	...
-	break;
-case ANIMAL_TYPE_TWO_LEGS:
-	...
-	break;
-default:
-	break;
-}
-
-However if the enum comes from an external header file outside BlueZ, such as
-Android headers, we cannot make any assumption of how the enum is defined and
-this rule might not apply.
-
-M11: Always use parenthesis with sizeof
-=======================================
-
-The expression argument to the sizeof operator should always be in
-parenthesis, too.
-
-Example:
-1)
-memset(stuff, 0, sizeof(*stuff));
-
-2)
-memset(stuff, 0, sizeof *stuff); // Wrong
-
-M12: Use void if function has no parameters
-===========================================
-
-A function with no parameters must use void in the parameter list.
-
-Example:
-1)
-void foo(void)
-{
-}
-
-2)
-void foo()	// Wrong
-{
-}
-
-O1: Try to avoid complex if body
-================================
-
-It's better not to have a complicated statement for if. You may judge its
-contrary condition and return | break | continue | goto ASAP.
-
-Example:
-1)
-if (device) {  // worse
-	memset(&eir_data, 0, sizeof(eir_data));
-	if (eir_len > 0)
-		eir_parse(&eir_data, ev->eir, eir_len);
-	...
-} else {
-	error("Unable to get device object for %s", addr);
-	return;
-}
-
-2)
-if (!device) {
-	error("Unable to get device object for %s", addr);
-	return;
-}
-
-memset(&eir_data, 0, sizeof(eir_data));
-if (eir_len > 0)
-	eir_parse(&eir_data, ev->eir, eir_len);
-...
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 7/9] doc: Port sap-api.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (5 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 6/9] doc: Port coding-style.txt " Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 8/9] doc: Port maintainer-guidelines.txt " Bastien Nocera
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 Makefile.am                 |  8 ++++++--
 doc/org.bluez.SimAccess.rst | 40 +++++++++++++++++++++++++++++++++++++
 doc/sap-api.txt             | 20 -------------------
 3 files changed, 46 insertions(+), 22 deletions(-)
 create mode 100644 doc/org.bluez.SimAccess.rst
 delete mode 100644 doc/sap-api.txt

diff --git a/Makefile.am b/Makefile.am
index 2217bcf15e4f..c2abd06cc087 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -402,6 +402,8 @@ man_MANS += doc/org.bluez.Telephony.5 doc/org.bluez.Call.5
 man_MANS += doc/org.bluez.ThermometerManager.5 \
 		doc/org.bluez.Thermometer.5 \
 		doc/org.bluez.ThermometerWatcher.5
+man_MANS += doc/org.bluez.SimAccess.5
+
 endif
 manual_pages += doc/bluetoothd.8
 manual_pages += doc/hci.7 doc/mgmt.7 doc/l2cap.7 doc/rfcomm.7 doc/sco.7 \
@@ -442,6 +444,7 @@ manual_pages += doc/org.bluez.Telephony.5 doc/org.bluez.Call.5
 manual_pages += doc/org.bluez.ThermometerManager.5 \
 		doc/org.bluez.Thermometer.5 \
 		doc/org.bluez.ThermometerWatcher.5
+manual_pages += doc/org.bluez.SimAccess.5
 
 EXTRA_DIST += src/genbuiltin src/bluetooth.conf \
 			src/main.conf profiles/network/network.conf \
@@ -484,8 +487,7 @@ EXTRA_DIST += doc/assigned-numbers.rst doc/supported-features.txt \
 				doc/test-runner.rst \
 				doc/settings-storage.txt
 
-EXTRA_DIST += doc/health-api.txt \
-		doc/sap-api.txt
+EXTRA_DIST += doc/health-api.txt
 
 EXTRA_DIST += doc/hci-protocol.rst doc/mgmt-protocol.rst \
 	      doc/l2cap-protocol.rst doc/rfcomm-protocol.rst \
@@ -533,6 +535,8 @@ EXTRA_DIST += doc/org.bluez.ThermometerManager.rst \
 	      doc/org.bluez.Thermometer.rst \
 	      doc/org.bluez.ThermometerWatcher.rst
 
+EXTRA_DIST += doc/org.bluez.SimAccess.rst
+
 EXTRA_DIST += doc/pics-opp.txt doc/pixit-opp.txt \
 		doc/pts-opp.txt
 
diff --git a/doc/org.bluez.SimAccess.rst b/doc/org.bluez.SimAccess.rst
new file mode 100644
index 000000000000..ac86e7eb220c
--- /dev/null
+++ b/doc/org.bluez.SimAccess.rst
@@ -0,0 +1,40 @@
+===================
+org.bluez.SimAccess
+===================
+
+----------------------------------------
+BlueZ D-Bus Sim Access API documentation
+----------------------------------------
+
+:Version: BlueZ
+:Date: February 2011
+:Author: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	org.bluez
+:Interface:	org.bluez.SimAccess1
+:Object path:	[variable prefix]/{hci0,hci1,...}
+
+Methods
+-------
+
+void Disconnect()
+`````````````````
+Disconnects SAP client from the server.
+
+Possible errors:
+
+:org.bluez.Error.Failed:
+
+Properties
+----------
+
+boolean Connected [readonly]
+````````````````````````````
+
+Indicates if SAP client is connected to the server.
+
diff --git a/doc/sap-api.txt b/doc/sap-api.txt
deleted file mode 100644
index b28c4e305964..000000000000
--- a/doc/sap-api.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-BlueZ D-Bus Sim Access API description
-**************************************
-
-
-Sim Access Profile hierarchy
-============================
-
-Service		org.bluez
-Interface	org.bluez.SimAccess1
-Object path	[variable prefix]/{hci0,hci1,...}
-
-Methods		void Disconnect()
-
-			Disconnects SAP client from the server.
-
-			Possible errors: org.bluez.Error.Failed
-
-Properties	boolean Connected [readonly]
-
-			Indicates if SAP client is connected to the server.
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 8/9] doc: Port maintainer-guidelines.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (6 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 7/9] doc: Port sap-api.txt " Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22  9:05 ` [BlueZ v3 9/9] doc: Port health-api.txt " Bastien Nocera
  2026-01-22 16:50 ` [BlueZ v3 0/9] Port text docs to RST and move man pages patchwork-bot+bluetooth
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 ...idelines.txt => maintainer-guidelines.rst} | 62 +++++++++++--------
 1 file changed, 36 insertions(+), 26 deletions(-)
 rename doc/{maintainer-guidelines.txt => maintainer-guidelines.rst} (65%)

diff --git a/doc/maintainer-guidelines.txt b/doc/maintainer-guidelines.rst
similarity index 65%
rename from doc/maintainer-guidelines.txt
rename to doc/maintainer-guidelines.rst
index b875f008258b..44d3e258db6e 100644
--- a/doc/maintainer-guidelines.txt
+++ b/doc/maintainer-guidelines.rst
@@ -1,25 +1,28 @@
+=====================
 Maintainer guidelines
-*********************
+=====================
 
 This document is intended for the maintainers of the BlueZ project. It
 serves as basic guidelines for handling patch review and commit access.
 
 
 Rule 1: Keep the GIT tree clean and linear
-==========================================
+------------------------------------------
 
-The bluetooth.git, bluetooth-next.git and bluez.git trees are not your
+The ``bluetooth.git``, ``bluetooth-next.git`` and ``bluez.git`` trees are not your
 private playground. The history is meant to be clean and linear.
 
-	- NO merges
-	- NO branches
-	- NO tags
+- NO merges
+- NO branches
+- NO tags
 
 If anyone needs testing or work on a feature, clone the tree and do
 it in your own copy. The master trees are off limits.
 
 One advise to avoid any accidental errors in this area to set proper
-options in global ~/.gitconfig or local .git/config files.
+options in global ``~/.gitconfig`` or local ``.git/config`` files.
+
+.. code-block::
 
 	[merge]
 		ff = only
@@ -29,7 +32,7 @@ in doubt ask one of the seasoned maintainers.
 
 
 Rule 2: Enforce clean commit messages
-=====================================
+-------------------------------------
 
 The commit messages are required to be clean and follow style guidelines
 to be consistent.
@@ -45,20 +48,22 @@ job to ensure we get proper firstname lastname <email> authorship.
 
 It is also important that the committer itself uses a valid name and
 email address when committing patches. So ensure that either the
-global ~/.gitconfig or local .git/config provides proper values.
+global ``~/.gitconfig`` or local ``.git/config`` provides proper values.
+
+.. code-block::
 
 	[user]
 		name = Peter Mustermann
 		email = peter@mustermann.de
 
-Commit messages for bluez.git shall not contain Signed-off-by
+Commit messages for ``bluez.git`` shall not contain ``Signed-off-by``
 signatures. They are not used in userspace and with that it is the
 maintainers job to ensure they do not get committed to the repository.
 
-For bluetooth.git and bluetooth-next.git The Signed-off-by process is
-used and the signatures are required.
+For ``bluetooth.git`` and ``bluetooth-next.git``, the ``Signed-off-by``
+process is used and the signatures are required.
 
-Tags like Change-Id generated from Gerrit are never acceptable. It is
+Tags like ``Change-Id`` generated from Gerrit are never acceptable. It is
 the maintainers job to ensure that these are not committed into the
 repositories.
 
@@ -67,48 +72,53 @@ reversed. If in doubt ask one of the seasoned maintainers.
 
 
 Rule 3: Enforce correct coding style
-====================================
+------------------------------------
 
 The coding style follows roughly the kernel coding style with any
-exceptions documented in doc/coding-style.txt.
+exceptions documented in :doc:`coding-style <coding-style>`.
 
 To ensure trivial white-space errors don't get committed, have the
-following in your .gitconfig:
+following in your ``.gitconfig``:
+
+.. code-block::
 
 	[apply]
 		whitespace = error
 
 It can also be helpful to use the checkpatch.pl script coming with the
 Linux kernel to do some automated checking. Adding the following to your
-.git/hooks/pre-commit and .git/hooks/pre-applypatch is a simple way to
+``.git/hooks/pre-commit`` and ``.git/hooks/pre-applypatch`` is a simple way to
 do this:
 
+.. code-block::
+
 	exec git diff --cached | ~/src/linux/scripts/checkpatch.pl -q \
 		--no-tree --no-signoff --show-types \
 		--ignore CAMELCASE,NEW_TYPEDEFS,INITIALISED_STATIC -
 
-The above assumes that a kernel tree resides in ~/src/linux/.
+The above assumes that a kernel tree resides in ``~/src/linux/``.
 
 
 Rule 4: Pay extra attention to adding new files to the tree
-===========================================================
+-----------------------------------------------------------
 
 New files that are added to the tree require several things to be
 verified first:
 
-	- Check that the names are acceptable with other maintainers
-	- Ensure that the file modes are correct
-	- Verify that the license & copyright headers are correct
-	- If the file is supposed to be part of the release tarball,
-	  make sure that it gets picked up by 'make dist' (particularly
-	  important for documentation or other files that are not code)
+- Check that the names are acceptable with other maintainers
+- Ensure that the file modes are correct
+- Verify that the license & copyright headers are correct
+- If the file is supposed to be part of the release tarball,
+  make sure that it gets picked up by 'make dist' (particularly
+  important for documentation or other files that are not code)
 
 
 Rule 5: Keep the mailing list in sync with the commit process
-=============================================================
+-------------------------------------------------------------
 
 When applying patches, be sure to send a response to the mailing list as
 soon as the code has been pushed to the upstream tree. Usually this
 means one email per patch, however patch-sets may only have one response
 covering the entire set. If applying a subset of a patch-set clearly
 state what was applied in your response.
+
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [BlueZ v3 9/9] doc: Port health-api.txt to RST
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (7 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 8/9] doc: Port maintainer-guidelines.txt " Bastien Nocera
@ 2026-01-22  9:05 ` Bastien Nocera
  2026-01-22 16:50 ` [BlueZ v3 0/9] Port text docs to RST and move man pages patchwork-bot+bluetooth
  9 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:05 UTC (permalink / raw)
  To: linux-bluetooth

---
 Makefile.am                     |  12 ++-
 doc/health-api.txt              | 152 --------------------------------
 doc/org.bluez.HealthChannel.rst |  72 +++++++++++++++
 doc/org.bluez.HealthDevice.rst  |  94 ++++++++++++++++++++
 doc/org.bluez.HealthManager.rst |  68 ++++++++++++++
 5 files changed, 244 insertions(+), 154 deletions(-)
 delete mode 100644 doc/health-api.txt
 create mode 100644 doc/org.bluez.HealthChannel.rst
 create mode 100644 doc/org.bluez.HealthDevice.rst
 create mode 100644 doc/org.bluez.HealthManager.rst

diff --git a/Makefile.am b/Makefile.am
index c2abd06cc087..2f28747f9ee7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -403,6 +403,9 @@ man_MANS += doc/org.bluez.ThermometerManager.5 \
 		doc/org.bluez.Thermometer.5 \
 		doc/org.bluez.ThermometerWatcher.5
 man_MANS += doc/org.bluez.SimAccess.5
+man_MANS += doc/org.bluez.HealthChannel.5 \
+	    doc/org.bluez.HealthDevice.5 \
+	    doc/org.bluez.HealthManager.5
 
 endif
 manual_pages += doc/bluetoothd.8
@@ -445,6 +448,9 @@ manual_pages += doc/org.bluez.ThermometerManager.5 \
 		doc/org.bluez.Thermometer.5 \
 		doc/org.bluez.ThermometerWatcher.5
 manual_pages += doc/org.bluez.SimAccess.5
+manual_pages += doc/org.bluez.HealthChannel.5 \
+		doc/org.bluez.HealthDevice.5 \
+		doc/org.bluez.HealthManager.5
 
 EXTRA_DIST += src/genbuiltin src/bluetooth.conf \
 			src/main.conf profiles/network/network.conf \
@@ -487,8 +493,6 @@ EXTRA_DIST += doc/assigned-numbers.rst doc/supported-features.txt \
 				doc/test-runner.rst \
 				doc/settings-storage.txt
 
-EXTRA_DIST += doc/health-api.txt
-
 EXTRA_DIST += doc/hci-protocol.rst doc/mgmt-protocol.rst \
 	      doc/l2cap-protocol.rst doc/rfcomm-protocol.rst \
 	      doc/sco-protocol.rst doc/iso-protocol.rst
@@ -537,6 +541,10 @@ EXTRA_DIST += doc/org.bluez.ThermometerManager.rst \
 
 EXTRA_DIST += doc/org.bluez.SimAccess.rst
 
+EXTRA_DIST += doc/org.bluez.HealthChannel.rst \
+	      doc/org.bluez.HealthDevice.rst \
+	      doc/org.bluez.HealthManager.rst
+
 EXTRA_DIST += doc/pics-opp.txt doc/pixit-opp.txt \
 		doc/pts-opp.txt
 
diff --git a/doc/health-api.txt b/doc/health-api.txt
deleted file mode 100644
index 2c48ff20449d..000000000000
--- a/doc/health-api.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-BlueZ D-Bus Health API description
-**********************************
-
-
-HealthManager hierarchy
-=======================
-
-Service		org.bluez
-Interface	org.bluez.HealthManager1
-Object path	/org/bluez/
-
-Methods		object CreateApplication(dict config)
-
-			Returns the path of the new registered application.
-			Application will be closed by the call or implicitly
-			when the programs leaves the bus.
-
-			config:
-				uint16 DataType:
-
-					Mandatory
-
-				string Role:
-
-					Mandatory. Possible values: "source",
-									"sink"
-
-				string Description:
-
-					Optional
-
-				ChannelType:
-
-					Optional, just for sources. Possible
-					values: "reliable", "streaming"
-
-			Possible Errors: org.bluez.Error.InvalidArguments
-
-		void DestroyApplication(object application)
-
-			Closes the HDP application identified by the object
-			path. Also application will be closed if the process
-			that started it leaves the bus. Only the creator of the
-			application will be able to destroy it.
-
-			Possible errors: org.bluez.Error.InvalidArguments
-					 org.bluez.Error.NotFound
-					 org.bluez.Error.NotAllowed
-
-
-HealthDevice hierarchy
-======================
-
-Service		org.bluez
-Interface	org.bluez.HealthDevice1
-Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
-
-Methods		boolean Echo()
-
-			Sends an echo petition to the remote service. Returns
-			True if response matches with the buffer sent. If some
-			error is detected False value is returned.
-
-			Possible errors: org.bluez.Error.InvalidArguments
-					 org.bluez.Error.OutOfRange
-
-		object CreateChannel(object application, string configuration)
-
-			Creates a new data channel.  The configuration should
-			indicate the channel quality of service using one of
-			this values "reliable", "streaming", "any".
-
-			Returns the object path that identifies the data
-			channel that is already connected.
-
-			Possible errors: org.bluez.Error.InvalidArguments
-					 org.bluez.Error.HealthError
-
-		void DestroyChannel(object channel)
-
-			Destroys the data channel object. Only the creator of
-			the channel or the creator of the HealthApplication
-			that received the data channel will be able to destroy
-			it.
-
-			Possible errors: org.bluez.Error.InvalidArguments
-					 org.bluez.Error.NotFound
-				         org.bluez.Error.NotAllowed
-
-Signals		void ChannelConnected(object channel)
-
-			This signal is launched when a new data channel is
-			created or when a known data channel is reconnected.
-
-		void ChannelDeleted(object channel)
-
-			This signal is launched when a data channel is deleted.
-
-			After this signal the data channel path will not be
-			valid and its path can be reused for future data
-			channels.
-
-Properties	object MainChannel [readonly]
-
-			The first reliable channel opened. It is needed by
-			upper applications in order to send specific protocol
-			data units. The first reliable can change after a
-			reconnection.
-
-
-HealthChannel hierarchy
-=======================
-
-Service		org.bluez
-Interface	org.bluez.HealthChannel1
-Object path	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/chanZZZ
-
-Only the process that created the data channel or the creator of the
-HealthApplication that received it will be able to call these methods.
-
-Methods		fd Acquire()
-
-			Returns the file descriptor for this data channel. If
-			the data channel is not connected it will also
-			reconnect.
-
-			Possible Errors: org.bluez.Error.NotConnected
-					 org.bluez.Error.NotAllowed
-
-		void Release()
-
-			Releases the fd. Application should also need to
-			close() it.
-
-			Possible Errors: org.bluez.Error.NotAcquired
-					 org.bluez.Error.NotAllowed
-
-Properties	string Type [readonly]
-
-			The quality of service of the data channel. ("reliable"
-			or "streaming")
-
-		object Device [readonly]
-
-			Identifies the Remote Device that is connected with.
-			Maps with a HealthDevice object.
-
-		object Application [readonly]
-
-			Identifies the HealthApplication to which this channel
-			is related to (which indirectly defines its role and
-			data type).
diff --git a/doc/org.bluez.HealthChannel.rst b/doc/org.bluez.HealthChannel.rst
new file mode 100644
index 000000000000..f91a1ff94dc1
--- /dev/null
+++ b/doc/org.bluez.HealthChannel.rst
@@ -0,0 +1,72 @@
+=======================
+org.bluez.HealthChannel
+=======================
+
+----------------------------------
+BlueZ D-Bus Health API description
+----------------------------------
+
+:Version: BlueZ
+:Date: July 2010
+:Author: José Antonio Santos Cadenas <santoscadenas@gmail.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	org.bluez
+:Interface:	org.bluez.HealthChannel1
+:Object path:	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX/chanZZZ
+
+Only the process that created the data channel or the creator of the
+HealthApplication that received it will be able to call these methods.
+
+Methods
+-------
+
+fd Acquire()
+````````````
+
+Returns the file descriptor for this data channel. If
+the data channel is not connected it will also
+reconnect.
+
+Possible Errors:
+
+:org.bluez.Error.NotConnected:
+:org.bluez.Error.NotAllowed:
+
+void Release()
+``````````````
+
+Releases the fd. Application should also need to
+close() it.
+
+Possible Errors:
+
+:org.bluez.Error.NotAcquired:
+:org.bluez.Error.NotAllowed:
+
+Properties
+----------
+
+string Type [readonly]
+``````````````````````
+
+The quality of service of the data channel. ("reliable"
+or "streaming")
+
+object Device [readonly]
+````````````````````````
+
+Identifies the Remote Device that is connected with.
+Maps with a HealthDevice object.
+
+object Application [readonly]
+`````````````````````````````
+
+Identifies the HealthApplication to which this channel
+is related to (which indirectly defines its role and
+data type).
+
diff --git a/doc/org.bluez.HealthDevice.rst b/doc/org.bluez.HealthDevice.rst
new file mode 100644
index 000000000000..568f854b7768
--- /dev/null
+++ b/doc/org.bluez.HealthDevice.rst
@@ -0,0 +1,94 @@
+======================
+org.bluez.HealthDevice
+======================
+
+------------------------------------
+BlueZ D-Bus Health API documentation
+------------------------------------
+
+:Version: BlueZ
+:Date: July 2010
+:Author: José Antonio Santos Cadenas <santoscadenas@gmail.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	org.bluez
+:Interface:	org.bluez.HealthDevice1
+:Object path:	[variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX
+
+Methods
+-------
+
+boolean Echo()
+``````````````
+
+Sends an echo petition to the remote service. Returns
+True if response matches with the buffer sent. If some
+error is detected False value is returned.
+
+Possible errors:
+
+:org.bluez.Error.InvalidArguments:
+:org.bluez.Error.OutOfRange:
+
+object CreateChannel(object application, string configuration)
+``````````````````````````````````````````````````````````````
+
+Creates a new data channel.  The configuration should
+indicate the channel quality of service using one of
+this values "reliable", "streaming", "any".
+
+Returns the object path that identifies the data
+channel that is already connected.
+
+Possible errors:
+
+:org.bluez.Error.InvalidArguments:
+:org.bluez.Error.HealthError:
+
+void DestroyChannel(object channel)
+```````````````````````````````````
+
+Destroys the data channel object. Only the creator of
+the channel or the creator of the HealthApplication
+that received the data channel will be able to destroy
+it.
+
+Possible errors:
+
+:org.bluez.Error.InvalidArguments:
+:org.bluez.Error.NotFound:
+:org.bluez.Error.NotAllowed:
+
+Signals
+-------
+
+void ChannelConnected(object channel)
+`````````````````````````````````````
+
+This signal is launched when a new data channel is
+created or when a known data channel is reconnected.
+
+void ChannelDeleted(object channel)
+```````````````````````````````````
+
+This signal is launched when a data channel is deleted.
+
+After this signal the data channel path will not be
+valid and its path can be reused for future data
+channels.
+
+Properties
+----------
+
+object MainChannel [readonly]
+`````````````````````````````
+
+The first reliable channel opened. It is needed by
+upper applications in order to send specific protocol
+data units. The first reliable can change after a
+reconnection.
+
diff --git a/doc/org.bluez.HealthManager.rst b/doc/org.bluez.HealthManager.rst
new file mode 100644
index 000000000000..1eaaf7935eeb
--- /dev/null
+++ b/doc/org.bluez.HealthManager.rst
@@ -0,0 +1,68 @@
+=======================
+org.bluez.HealthManager
+=======================
+
+------------------------------------
+BlueZ D-Bus Health API documentation
+------------------------------------
+
+:Version: BlueZ
+:Date: July 2010
+:Author: José Antonio Santos Cadenas <santoscadenas@gmail.com>
+:Manual section: 5
+:Manual group: Linux System Administration
+
+Interface
+=========
+
+:Service:	org.bluez
+:Interface:	org.bluez.HealthManager1
+:Object path:	/org/bluez/
+
+Methods
+-------
+
+object CreateApplication(dict config)
+`````````````````````````````````````
+
+Returns the path of the new registered application.
+Application will be closed by the call or implicitly
+when the programs leaves the bus.
+
+Possible config value:
+
+:uint16 DataType:
+
+        Mandatory
+
+:string Role:
+
+	Mandatory. Possible values: "source", "sink"
+
+:string Description:
+
+	Optional
+
+:ChannelType:
+
+	Optional, just for sources. Possible
+	values: "reliable", "streaming"
+
+Possible Errors:
+
+:org.bluez.Error.InvalidArguments:
+
+void DestroyApplication(object application)
+```````````````````````````````````````````
+
+Closes the HDP application identified by the object
+path. Also application will be closed if the process
+that started it leaves the bus. Only the creator of the
+application will be able to destroy it.
+
+Possible errors:
+
+:org.bluez.Error.InvalidArguments:
+:org.bluez.Error.NotFound:
+:org.bluez.Error.NotAllowed:
+
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [BlueZ v3 2/9] doc: Move all the man pages to doc/
  2026-01-22  9:05 ` [BlueZ v3 2/9] doc: Move all the man pages to doc/ Bastien Nocera
@ 2026-01-22  9:57   ` Bastien Nocera
  0 siblings, 0 replies; 13+ messages in thread
From: Bastien Nocera @ 2026-01-22  9:57 UTC (permalink / raw)
  To: linux-bluetooth

On Thu, 2026-01-22 at 10:05 +0100, Bastien Nocera wrote:
> No modifications are made to the documentation files, their sources
> (rst
> or rst.in) are just moved to doc/ and the autotools build files
> adjusted
> for the new path.

Please fixup the .gitignore with:
-mesh/bluetooth-meshd.rst
+doc/bluetooth-meshd.rst
-src/bluetoothd.rst
+doc/bluetoothd.rst

in this patch. I'll include it in my patchset if I need to send a v4.

Cheers

> ---
>  Makefile.am                                |  4 +-
>  Makefile.mesh                              |  4 +-
>  Makefile.tools                             | 68 +++++++++++---------
> --
>  configure.ac                               |  4 +-
>  {tools => doc}/bdaddr.rst                  |  0
>  {mesh => doc}/bluetooth-meshd.rst.in       |  0
>  {client => doc}/bluetoothctl-admin.rst     |  0
>  {client => doc}/bluetoothctl-advertise.rst |  0
>  {client => doc}/bluetoothctl-assistant.rst |  0
>  {client => doc}/bluetoothctl-bredr.rst     |  0
>  {client => doc}/bluetoothctl-endpoint.rst  |  0
>  {client => doc}/bluetoothctl-gatt.rst      |  0
>  {client => doc}/bluetoothctl-hci.rst       |  0
>  {client => doc}/bluetoothctl-le.rst        |  0
>  {client => doc}/bluetoothctl-mgmt.rst      |  0
>  {client => doc}/bluetoothctl-monitor.rst   |  0
>  {client => doc}/bluetoothctl-player.rst    |  0
>  {client => doc}/bluetoothctl-scan.rst      |  0
>  {client => doc}/bluetoothctl-telephony.rst |  0
>  {client => doc}/bluetoothctl-transport.rst |  0
>  {client => doc}/bluetoothctl.rst           |  0
>  {src => doc}/bluetoothd.rst.in             |  0
>  {tools => doc}/btattach.rst                |  0
>  {tools => doc}/btmgmt.rst                  |  0
>  {monitor => doc}/btmon.rst                 |  0
>  {tools => doc}/ciptool.rst                 |  0
>  {tools => doc}/hciattach.rst               |  0
>  {tools => doc}/hciconfig.rst               |  0
>  {tools => doc}/hcidump.rst                 |  0
>  {tools => doc}/hcitool.rst                 |  0
>  {tools => doc}/hid2hci.rst                 |  0
>  {tools => doc}/isotest.rst                 |  0
>  {tools => doc}/l2ping.rst                  |  0
>  {tools => doc}/rctest.rst                  |  0
>  {tools => doc}/rfcomm.rst                  |  0
>  {tools => doc}/sdptool.rst                 |  0
>  36 files changed, 40 insertions(+), 40 deletions(-)
>  rename {tools => doc}/bdaddr.rst (100%)
>  rename {mesh => doc}/bluetooth-meshd.rst.in (100%)
>  rename {client => doc}/bluetoothctl-admin.rst (100%)
>  rename {client => doc}/bluetoothctl-advertise.rst (100%)
>  rename {client => doc}/bluetoothctl-assistant.rst (100%)
>  rename {client => doc}/bluetoothctl-bredr.rst (100%)
>  rename {client => doc}/bluetoothctl-endpoint.rst (100%)
>  rename {client => doc}/bluetoothctl-gatt.rst (100%)
>  rename {client => doc}/bluetoothctl-hci.rst (100%)
>  rename {client => doc}/bluetoothctl-le.rst (100%)
>  rename {client => doc}/bluetoothctl-mgmt.rst (100%)
>  rename {client => doc}/bluetoothctl-monitor.rst (100%)
>  rename {client => doc}/bluetoothctl-player.rst (100%)
>  rename {client => doc}/bluetoothctl-scan.rst (100%)
>  rename {client => doc}/bluetoothctl-telephony.rst (100%)
>  rename {client => doc}/bluetoothctl-transport.rst (100%)
>  rename {client => doc}/bluetoothctl.rst (100%)
>  rename {src => doc}/bluetoothd.rst.in (100%)
>  rename {tools => doc}/btattach.rst (100%)
>  rename {tools => doc}/btmgmt.rst (100%)
>  rename {monitor => doc}/btmon.rst (100%)
>  rename {tools => doc}/ciptool.rst (100%)
>  rename {tools => doc}/hciattach.rst (100%)
>  rename {tools => doc}/hciconfig.rst (100%)
>  rename {tools => doc}/hcidump.rst (100%)
>  rename {tools => doc}/hcitool.rst (100%)
>  rename {tools => doc}/hid2hci.rst (100%)
>  rename {tools => doc}/isotest.rst (100%)
>  rename {tools => doc}/l2ping.rst (100%)
>  rename {tools => doc}/rctest.rst (100%)
>  rename {tools => doc}/rfcomm.rst (100%)
>  rename {tools => doc}/sdptool.rst (100%)
> 
> diff --git a/Makefile.am b/Makefile.am
> index c7a356b2cbd7..5deea67eff00 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -364,7 +364,7 @@ nodist_src_bluetoothd_SOURCES = $(builtin_files)
>  CLEANFILES += $(builtin_files)
>  
>  if MANPAGES
> -man_MANS += src/bluetoothd.8
> +man_MANS += doc/bluetoothd.8
>  man_MANS += doc/hci.7 doc/mgmt.7 doc/l2cap.7 doc/rfcomm.7 doc/sco.7
> doc/iso.7
>  man_MANS += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \
>  		doc/org.bluez.Bearer.LE.5
> doc/org.bluez.Bearer.BREDR.5 \
> @@ -400,7 +400,7 @@ man_MANS += doc/org.bluez.obex.Client.5
> doc/org.bluez.obex.Session.5 \
>  		doc/org.bluez.obex.Image.5
>  man_MANS += doc/org.bluez.Telephony.5 doc/org.bluez.Call.5
>  endif
> -manual_pages += src/bluetoothd.8
> +manual_pages += doc/bluetoothd.8
>  manual_pages += doc/hci.7 doc/mgmt.7 doc/l2cap.7 doc/rfcomm.7
> doc/sco.7 \
>  		doc/iso.7
>  manual_pages += doc/org.bluez.Adapter.5 doc/org.bluez.Device.5 \
> diff --git a/Makefile.mesh b/Makefile.mesh
> index e4c9fa6a32e6..bd3a542b7e6c 100644
> --- a/Makefile.mesh
> +++ b/Makefile.mesh
> @@ -48,9 +48,9 @@ mesh_bluetooth_meshd_SOURCES = $(mesh_sources)
> mesh/main.c
>  mesh_bluetooth_meshd_LDADD = src/libshared-ell.la $(ell_ldadd) -
> ljson-c
>  
>  if MANPAGES
> -man_MANS += mesh/bluetooth-meshd.8
> +man_MANS += doc/bluetooth-meshd.8
>  endif
> -manual_pages += mesh/bluetooth-meshd.8
> +manual_pages += doc/bluetooth-meshd.8
>  
>  endif
>  
> diff --git a/Makefile.tools b/Makefile.tools
> index cc8aab55cc9f..b9a092f87168 100644
> --- a/Makefile.tools
> +++ b/Makefile.tools
> @@ -64,10 +64,10 @@ monitor_btmon_LDADD = lib/libbluetooth-
> internal.la \
>  				$(GLIB_LIBS) $(UDEV_LIBS) -ldl
>  
>  if MANPAGES
> -man_MANS += monitor/btmon.1
> +man_MANS += doc/btmon.1
>  endif
>  endif
> -manual_pages += monitor/btmon.1
> +manual_pages += doc/btmon.1
>  
>  if LOGGER
>  pkglibexec_PROGRAMS += tools/btmon-logger
> @@ -355,15 +355,15 @@ profiles_iap_iapd_SOURCES = profiles/iap/main.c
>  profiles_iap_iapd_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS)
> $(DBUS_LIBS)
>  
>  if MANPAGES
> -man_MANS += tools/rctest.1 tools/l2ping.1 tools/btattach.1
> tools/isotest.1 \
> -		tools/btmgmt.1 client/bluetoothctl.1 \
> -		client/bluetoothctl-mgmt.1 \
> -		client/bluetoothctl-monitor.1 client/bluetoothctl-
> admin.1 \
> -		client/bluetoothctl-advertise.1 client/bluetoothctl-
> endpoint.1 \
> -		client/bluetoothctl-gatt.1 client/bluetoothctl-
> player.1 \
> -		client/bluetoothctl-scan.1 client/bluetoothctl-
> transport.1 \
> -		client/bluetoothctl-assistant.1 client/bluetoothctl-
> hci.1 \
> -		client/bluetoothctl-telephony.1
> +man_MANS += doc/rctest.1 doc/l2ping.1 doc/btattach.1 doc/isotest.1 \
> +		doc/btmgmt.1 doc/bluetoothctl.1 \
> +		doc/bluetoothctl-mgmt.1 \
> +		doc/bluetoothctl-monitor.1 doc/bluetoothctl-admin.1
> \
> +		doc/bluetoothctl-advertise.1 doc/bluetoothctl-
> endpoint.1 \
> +		doc/bluetoothctl-gatt.1 doc/bluetoothctl-player.1 \
> +		doc/bluetoothctl-scan.1 doc/bluetoothctl-transport.1
> \
> +		doc/bluetoothctl-assistant.1 doc/bluetoothctl-hci.1
> \
> +		doc/bluetoothctl-telephony.1
>  
>  endif
>  
> @@ -474,30 +474,30 @@ tools_hcidump_LDADD = lib/libbluetooth-
> internal.la
>  tools_rfcomm_LDADD = lib/libbluetooth-internal.la
>  
>  if MANPAGES
> -man_MANS += tools/hciattach.1 tools/hciconfig.1 \
> -			tools/hcitool.1 tools/hcidump.1 \
> -			tools/rfcomm.1 tools/sdptool.1
> tools/ciptool.1
> +man_MANS += doc/hciattach.1 doc/hciconfig.1 \
> +			doc/hcitool.1 doc/hcidump.1 \
> +			doc/rfcomm.1 doc/sdptool.1 doc/ciptool.1
>  endif
>  endif
>  endif
> -manual_pages += tools/hciattach.1 tools/hciconfig.1 \
> -			tools/hcitool.1 tools/hcidump.1 \
> -			tools/rfcomm.1 tools/sdptool.1
> tools/ciptool.1 \
> -			tools/rctest.1 tools/l2ping.1
> tools/btattach.1 \
> -			tools/bdaddr.1 tools/isotest.1
> tools/btmgmt.1 \
> -			client/bluetoothctl.1 \
> -			client/bluetoothctl-mgmt.1 \
> -			client/bluetoothctl-monitor.1 \
> -			client/bluetoothctl-admin.1 \
> -			client/bluetoothctl-advertise.1 \
> -			client/bluetoothctl-endpoint.1 \
> -			client/bluetoothctl-gatt.1 \
> -			client/bluetoothctl-player.1 \
> -			client/bluetoothctl-scan.1 \
> -			client/bluetoothctl-transport.1 \
> -			client/bluetoothctl-assistant.1 \
> -			client/bluetoothctl-hci.1 \
> -			client/bluetoothctl-telephony.1
> +manual_pages += doc/hciattach.1 doc/hciconfig.1 \
> +			doc/hcitool.1 doc/hcidump.1 \
> +			doc/rfcomm.1 doc/sdptool.1 doc/ciptool.1 \
> +			doc/rctest.1 doc/l2ping.1 doc/btattach.1 \
> +			doc/bdaddr.1 doc/isotest.1 doc/btmgmt.1 \
> +			doc/bluetoothctl.1 \
> +			doc/bluetoothctl-mgmt.1 \
> +			doc/bluetoothctl-monitor.1 \
> +			doc/bluetoothctl-admin.1 \
> +			doc/bluetoothctl-advertise.1 \
> +			doc/bluetoothctl-endpoint.1 \
> +			doc/bluetoothctl-gatt.1 \
> +			doc/bluetoothctl-player.1 \
> +			doc/bluetoothctl-scan.1 \
> +			doc/bluetoothctl-transport.1 \
> +			doc/bluetoothctl-assistant.1 \
> +			doc/bluetoothctl-hci.1 \
> +			doc/bluetoothctl-telephony.1
>  
>  if HID2HCI
>  udevdir = $(UDEV_DIR)
> @@ -507,10 +507,10 @@ udev_PROGRAMS = tools/hid2hci
>  tools_hid2hci_LDADD = $(UDEV_LIBS)
>  
>  if MANPAGES
> -man_MANS += tools/hid2hci.1
> +man_MANS += doc/hid2hci.1
>  endif
>  endif
> -manual_pages += tools/hid2hci.1
> +manual_pages += doc/hid2hci.1
>  
>  if READLINE
>  noinst_PROGRAMS += tools/btmgmt tools/obex-client-tool tools/obex-
> server-tool \
> diff --git a/configure.ac b/configure.ac
> index b6f6789bea52..a21cac81f5c3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -523,11 +523,11 @@ AC_SUBST(PLUGIN_PHONEBOOK,
> [${plugin_phonebook}])
>  AC_CONFIG_FILES(
>  	lib/bluez.pc
>  	Makefile
> -	mesh/bluetooth-meshd.rst
> +	doc/bluetooth-meshd.rst
>  	mesh/bluetooth-mesh.service
>  	obexd/src/obex.service
>  	obexd/src/org.bluez.obex.service
> -	src/bluetoothd.rst
> +	doc/bluetoothd.rst
>  	src/bluetooth.service
>  	tools/bluetooth-logger.service
>  	tools/mpris-proxy.service
> diff --git a/tools/bdaddr.rst b/doc/bdaddr.rst
> similarity index 100%
> rename from tools/bdaddr.rst
> rename to doc/bdaddr.rst
> diff --git a/mesh/bluetooth-meshd.rst.in b/doc/bluetooth-meshd.rst.in
> similarity index 100%
> rename from mesh/bluetooth-meshd.rst.in
> rename to doc/bluetooth-meshd.rst.in
> diff --git a/client/bluetoothctl-admin.rst b/doc/bluetoothctl-
> admin.rst
> similarity index 100%
> rename from client/bluetoothctl-admin.rst
> rename to doc/bluetoothctl-admin.rst
> diff --git a/client/bluetoothctl-advertise.rst b/doc/bluetoothctl-
> advertise.rst
> similarity index 100%
> rename from client/bluetoothctl-advertise.rst
> rename to doc/bluetoothctl-advertise.rst
> diff --git a/client/bluetoothctl-assistant.rst b/doc/bluetoothctl-
> assistant.rst
> similarity index 100%
> rename from client/bluetoothctl-assistant.rst
> rename to doc/bluetoothctl-assistant.rst
> diff --git a/client/bluetoothctl-bredr.rst b/doc/bluetoothctl-
> bredr.rst
> similarity index 100%
> rename from client/bluetoothctl-bredr.rst
> rename to doc/bluetoothctl-bredr.rst
> diff --git a/client/bluetoothctl-endpoint.rst b/doc/bluetoothctl-
> endpoint.rst
> similarity index 100%
> rename from client/bluetoothctl-endpoint.rst
> rename to doc/bluetoothctl-endpoint.rst
> diff --git a/client/bluetoothctl-gatt.rst b/doc/bluetoothctl-gatt.rst
> similarity index 100%
> rename from client/bluetoothctl-gatt.rst
> rename to doc/bluetoothctl-gatt.rst
> diff --git a/client/bluetoothctl-hci.rst b/doc/bluetoothctl-hci.rst
> similarity index 100%
> rename from client/bluetoothctl-hci.rst
> rename to doc/bluetoothctl-hci.rst
> diff --git a/client/bluetoothctl-le.rst b/doc/bluetoothctl-le.rst
> similarity index 100%
> rename from client/bluetoothctl-le.rst
> rename to doc/bluetoothctl-le.rst
> diff --git a/client/bluetoothctl-mgmt.rst b/doc/bluetoothctl-mgmt.rst
> similarity index 100%
> rename from client/bluetoothctl-mgmt.rst
> rename to doc/bluetoothctl-mgmt.rst
> diff --git a/client/bluetoothctl-monitor.rst b/doc/bluetoothctl-
> monitor.rst
> similarity index 100%
> rename from client/bluetoothctl-monitor.rst
> rename to doc/bluetoothctl-monitor.rst
> diff --git a/client/bluetoothctl-player.rst b/doc/bluetoothctl-
> player.rst
> similarity index 100%
> rename from client/bluetoothctl-player.rst
> rename to doc/bluetoothctl-player.rst
> diff --git a/client/bluetoothctl-scan.rst b/doc/bluetoothctl-scan.rst
> similarity index 100%
> rename from client/bluetoothctl-scan.rst
> rename to doc/bluetoothctl-scan.rst
> diff --git a/client/bluetoothctl-telephony.rst b/doc/bluetoothctl-
> telephony.rst
> similarity index 100%
> rename from client/bluetoothctl-telephony.rst
> rename to doc/bluetoothctl-telephony.rst
> diff --git a/client/bluetoothctl-transport.rst b/doc/bluetoothctl-
> transport.rst
> similarity index 100%
> rename from client/bluetoothctl-transport.rst
> rename to doc/bluetoothctl-transport.rst
> diff --git a/client/bluetoothctl.rst b/doc/bluetoothctl.rst
> similarity index 100%
> rename from client/bluetoothctl.rst
> rename to doc/bluetoothctl.rst
> diff --git a/src/bluetoothd.rst.in b/doc/bluetoothd.rst.in
> similarity index 100%
> rename from src/bluetoothd.rst.in
> rename to doc/bluetoothd.rst.in
> diff --git a/tools/btattach.rst b/doc/btattach.rst
> similarity index 100%
> rename from tools/btattach.rst
> rename to doc/btattach.rst
> diff --git a/tools/btmgmt.rst b/doc/btmgmt.rst
> similarity index 100%
> rename from tools/btmgmt.rst
> rename to doc/btmgmt.rst
> diff --git a/monitor/btmon.rst b/doc/btmon.rst
> similarity index 100%
> rename from monitor/btmon.rst
> rename to doc/btmon.rst
> diff --git a/tools/ciptool.rst b/doc/ciptool.rst
> similarity index 100%
> rename from tools/ciptool.rst
> rename to doc/ciptool.rst
> diff --git a/tools/hciattach.rst b/doc/hciattach.rst
> similarity index 100%
> rename from tools/hciattach.rst
> rename to doc/hciattach.rst
> diff --git a/tools/hciconfig.rst b/doc/hciconfig.rst
> similarity index 100%
> rename from tools/hciconfig.rst
> rename to doc/hciconfig.rst
> diff --git a/tools/hcidump.rst b/doc/hcidump.rst
> similarity index 100%
> rename from tools/hcidump.rst
> rename to doc/hcidump.rst
> diff --git a/tools/hcitool.rst b/doc/hcitool.rst
> similarity index 100%
> rename from tools/hcitool.rst
> rename to doc/hcitool.rst
> diff --git a/tools/hid2hci.rst b/doc/hid2hci.rst
> similarity index 100%
> rename from tools/hid2hci.rst
> rename to doc/hid2hci.rst
> diff --git a/tools/isotest.rst b/doc/isotest.rst
> similarity index 100%
> rename from tools/isotest.rst
> rename to doc/isotest.rst
> diff --git a/tools/l2ping.rst b/doc/l2ping.rst
> similarity index 100%
> rename from tools/l2ping.rst
> rename to doc/l2ping.rst
> diff --git a/tools/rctest.rst b/doc/rctest.rst
> similarity index 100%
> rename from tools/rctest.rst
> rename to doc/rctest.rst
> diff --git a/tools/rfcomm.rst b/doc/rfcomm.rst
> similarity index 100%
> rename from tools/rfcomm.rst
> rename to doc/rfcomm.rst
> diff --git a/tools/sdptool.rst b/doc/sdptool.rst
> similarity index 100%
> rename from tools/sdptool.rst
> rename to doc/sdptool.rst

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: Port text docs to RST and move man pages
  2026-01-22  9:05 ` [BlueZ v3 1/9] doc: Rename section 7 " Bastien Nocera
@ 2026-01-22 10:07   ` bluez.test.bot
  0 siblings, 0 replies; 13+ messages in thread
From: bluez.test.bot @ 2026-01-22 10:07 UTC (permalink / raw)
  To: linux-bluetooth, hadess

[-- Attachment #1: Type: text/plain, Size: 1262 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1045561

---Test result---

Test Summary:
CheckPatch                    PENDING   0.39 seconds
GitLint                       PENDING   0.41 seconds
BuildEll                      PASS      20.04 seconds
BluezMake                     PASS      645.56 seconds
MakeCheck                     PASS      18.65 seconds
MakeDistcheck                 PASS      242.83 seconds
CheckValgrind                 PASS      292.26 seconds
CheckSmatch                   PASS      352.60 seconds
bluezmakeextell               PASS      185.14 seconds
IncrementalBuild              PENDING   0.38 seconds
ScanBuild                     PASS      1028.74 seconds

Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:

##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:

##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [BlueZ v3 0/9] Port text docs to RST and move man pages
  2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
                   ` (8 preceding siblings ...)
  2026-01-22  9:05 ` [BlueZ v3 9/9] doc: Port health-api.txt " Bastien Nocera
@ 2026-01-22 16:50 ` patchwork-bot+bluetooth
  9 siblings, 0 replies; 13+ messages in thread
From: patchwork-bot+bluetooth @ 2026-01-22 16:50 UTC (permalink / raw)
  To: Bastien Nocera; +Cc: linux-bluetooth

Hello:

This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>:

On Thu, 22 Jan 2026 10:04:59 +0100 you wrote:
> This supersedes the "Port text docs to RST" patchset
> 
> Changes since v2:
> - Move all man pages under doc/ so make it easier to reference
>   in the HTML docs.
> - Fix syntax error in maintainer-guidelines
> Changes since v1:
> - Fix distcheck
> 
> [...]

Here is the summary with links:
  - [BlueZ,v3,1/9] doc: Rename section 7 man pages
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=5e2bb7b1ba13
  - [BlueZ,v3,2/9] doc: Move all the man pages to doc/
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=44e3dd321e4b
  - [BlueZ,v3,3/9] doc: Port assigned-numbers.txt to RST
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=e93d8cd4fe41
  - [BlueZ,v3,4/9] doc: Port thermometer-api.txt to RST
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=4371db7798b3
  - [BlueZ,v3,5/9] doc: Port security-bugs.txt to RST
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=17d407e34cbe
  - [BlueZ,v3,6/9] doc: Port coding-style.txt to RST
    (no matching commit)
  - [BlueZ,v3,7/9] doc: Port sap-api.txt to RST
    (no matching commit)
  - [BlueZ,v3,8/9] doc: Port maintainer-guidelines.txt to RST
    https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=fddcda9751af
  - [BlueZ,v3,9/9] doc: Port health-api.txt to RST
    (no matching commit)

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-01-22 16:50 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-22  9:04 [BlueZ v3 0/9] Port text docs to RST and move man pages Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 1/9] doc: Rename section 7 " Bastien Nocera
2026-01-22 10:07   ` Port text docs to RST and move " bluez.test.bot
2026-01-22  9:05 ` [BlueZ v3 2/9] doc: Move all the man pages to doc/ Bastien Nocera
2026-01-22  9:57   ` Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 3/9] doc: Port assigned-numbers.txt to RST Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 4/9] doc: Port thermometer-api.txt " Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 5/9] doc: Port security-bugs.txt " Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 6/9] doc: Port coding-style.txt " Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 7/9] doc: Port sap-api.txt " Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 8/9] doc: Port maintainer-guidelines.txt " Bastien Nocera
2026-01-22  9:05 ` [BlueZ v3 9/9] doc: Port health-api.txt " Bastien Nocera
2026-01-22 16:50 ` [BlueZ v3 0/9] Port text docs to RST and move man pages patchwork-bot+bluetooth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox