From 3695375afa3c6a4b92f9d66f52de69c6f3199ac3579bb4cd6755ef352123b109 Mon Sep 17 00:00:00 2001 From: Stefan Seyfried Date: Fri, 25 Jun 2021 18:09:12 +0000 Subject: [PATCH] Accepting request 902416 from home:seife:testing update to 5.59 OBS-URL: https://build.opensuse.org/request/show/902416 OBS-URL: https://build.opensuse.org/package/show/Base:System/bluez?expand=0&rev=307 --- bluez-5.58.tar.xz | 3 - bluez-5.59.tar.xz | 3 + bluez-test-2to3.diff | 136 +++++++++++++++++-------------------------- bluez.changes | 12 ++++ bluez.spec | 17 +++++- 5 files changed, 84 insertions(+), 87 deletions(-) delete mode 100644 bluez-5.58.tar.xz create mode 100644 bluez-5.59.tar.xz diff --git a/bluez-5.58.tar.xz b/bluez-5.58.tar.xz deleted file mode 100644 index e5355d1..0000000 --- a/bluez-5.58.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c8065e75a5eb67236849ef68a354b1700540305a8c88ef0a0fd6288f19daf1f1 -size 2060368 diff --git a/bluez-5.59.tar.xz b/bluez-5.59.tar.xz new file mode 100644 index 0000000..d91c777 --- /dev/null +++ b/bluez-5.59.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:046b95b386d0bfb2a16311fe799d517ee7735045512d89902c4ed701db477316 +size 2123104 diff --git a/bluez-test-2to3.diff b/bluez-test-2to3.diff index 225b748..60fa602 100644 --- a/bluez-test-2to3.diff +++ b/bluez-test-2to3.diff @@ -1,34 +1,8 @@ -Index: b/test/agent.py -=================================================================== ---- a/test/agent.py -+++ b/test/agent.py -@@ -52,16 +52,16 @@ class Agent(dbus.service.Object): - - @dbus.service.method(AGENT_IFACE, in_signature="su", out_signature="") - def DisplayNumeric(self, type, value): -- print(set_cyan('DisplayNumeric ('), type, -- set_cyan(') number ='), set_green(value)) -+ print((set_cyan('DisplayNumeric ('), type, -+ set_cyan(') number ='), set_green(value))) - - @dbus.service.method(AGENT_IFACE, in_signature="s", out_signature="ay") - def PromptStatic(self, type): - static_key = numpy.random.randint(0, 255, 16) - key_str = array_to_string(static_key) - -- print(set_cyan('PromptStatic ('), type, set_cyan(')')) -- print(set_cyan('Enter 16 octet key on remote device: '), -- set_green(key_str)); -+ print((set_cyan('PromptStatic ('), type, set_cyan(')'))) -+ print((set_cyan('Enter 16 octet key on remote device: '), -+ set_green(key_str))); - - return dbus.Array(static_key, signature='y') Index: b/test/bluezutils.py =================================================================== --- a/test/bluezutils.py +++ b/test/bluezutils.py -@@ -15,7 +15,7 @@ def find_adapter(pattern=None): +@@ -17,7 +17,7 @@ def find_adapter(pattern=None): def find_adapter_in_objects(objects, pattern=None): bus = dbus.SystemBus() @@ -37,7 +11,7 @@ Index: b/test/bluezutils.py adapter = ifaces.get(ADAPTER_INTERFACE) if adapter is None: continue -@@ -35,7 +35,7 @@ def find_device_in_objects(objects, devi +@@ -37,7 +37,7 @@ def find_device_in_objects(objects, devi if adapter_pattern: adapter = find_adapter_in_objects(objects, adapter_pattern) path_prefix = adapter.object_path @@ -50,7 +24,7 @@ Index: b/test/example-advertisement =================================================================== --- a/test/example-advertisement +++ b/test/example-advertisement -@@ -163,7 +163,7 @@ def find_adapter(bus): +@@ -164,7 +164,7 @@ def find_adapter(bus): DBUS_OM_IFACE) objects = remote_om.GetManagedObjects() @@ -63,7 +37,7 @@ Index: b/test/example-gatt-client =================================================================== --- a/test/example-gatt-client +++ b/test/example-gatt-client -@@ -32,7 +32,7 @@ hr_ctrl_pt_chrc = None +@@ -33,7 +33,7 @@ hr_ctrl_pt_chrc = None def generic_error_cb(error): @@ -72,7 +46,7 @@ Index: b/test/example-gatt-client mainloop.quit() -@@ -68,10 +68,10 @@ def sensor_contact_val_to_str(val): +@@ -69,10 +69,10 @@ def sensor_contact_val_to_str(val): def body_sensor_val_cb(value): if len(value) != 1: @@ -85,7 +59,7 @@ Index: b/test/example-gatt-client def hr_msrmt_start_notify_cb(): -@@ -103,12 +103,12 @@ def hr_msrmt_changed_cb(iface, changed_p +@@ -104,12 +104,12 @@ def hr_msrmt_changed_cb(iface, changed_p hr_msrmt = value[1] | (value[2] << 8) next_ind = 3 @@ -102,7 +76,7 @@ Index: b/test/example-gatt-client def start_client(): -@@ -146,7 +146,7 @@ def process_chrc(chrc_path): +@@ -147,7 +147,7 @@ def process_chrc(chrc_path): global hr_ctrl_pt_chrc hr_ctrl_pt_chrc = (chrc, chrc_props) else: @@ -111,7 +85,7 @@ Index: b/test/example-gatt-client return True -@@ -161,7 +161,7 @@ def process_hr_service(service_path, chr +@@ -162,7 +162,7 @@ def process_hr_service(service_path, chr if uuid != HR_SVC_UUID: return False @@ -120,7 +94,7 @@ Index: b/test/example-gatt-client # Process the characteristics. for chrc_path in chrc_paths: -@@ -198,14 +198,14 @@ def main(): +@@ -199,14 +199,14 @@ def main(): chrcs = [] # List characteristics found @@ -143,7 +117,7 @@ Index: b/test/example-gatt-server =================================================================== --- a/test/example-gatt-server +++ b/test/example-gatt-server -@@ -292,7 +292,7 @@ class HeartRateMeasurementChrc(Character +@@ -293,7 +293,7 @@ class HeartRateMeasurementChrc(Character min(0xffff, self.service.energy_expended + 1) self.hr_ee_count += 1 @@ -152,7 +126,7 @@ Index: b/test/example-gatt-server self.PropertiesChanged(GATT_CHRC_IFACE, { 'Value': value }, []) -@@ -354,7 +354,7 @@ class HeartRateControlPointChrc(Characte +@@ -355,7 +355,7 @@ class HeartRateControlPointChrc(Characte raise InvalidValueLengthException() byte = value[0] @@ -161,7 +135,7 @@ Index: b/test/example-gatt-server if byte != 1: raise FailedException("0x80") -@@ -407,12 +407,12 @@ class BatteryLevelCharacteristic(Charact +@@ -408,12 +408,12 @@ class BatteryLevelCharacteristic(Charact self.battery_lvl -= 2 if self.battery_lvl < 0: self.battery_lvl = 0 @@ -176,7 +150,7 @@ Index: b/test/example-gatt-server return [dbus.Byte(self.battery_lvl)] def StartNotify(self): -@@ -465,11 +465,11 @@ class TestCharacteristic(Characteristic) +@@ -466,11 +466,11 @@ class TestCharacteristic(Characteristic) CharacteristicUserDescriptionDescriptor(bus, 1, self)) def ReadValue(self, options): @@ -190,7 +164,7 @@ Index: b/test/example-gatt-server self.value = value -@@ -537,11 +537,11 @@ class TestEncryptCharacteristic(Characte +@@ -538,11 +538,11 @@ class TestEncryptCharacteristic(Characte CharacteristicUserDescriptionDescriptor(bus, 3, self)) def ReadValue(self, options): @@ -204,7 +178,7 @@ Index: b/test/example-gatt-server self.value = value class TestEncryptDescriptor(Descriptor): -@@ -583,11 +583,11 @@ class TestSecureCharacteristic(Character +@@ -584,11 +584,11 @@ class TestSecureCharacteristic(Character CharacteristicUserDescriptionDescriptor(bus, 3, self)) def ReadValue(self, options): @@ -218,7 +192,7 @@ Index: b/test/example-gatt-server self.value = value -@@ -615,7 +615,7 @@ def register_app_cb(): +@@ -616,7 +616,7 @@ def register_app_cb(): def register_app_error_cb(error): @@ -227,7 +201,7 @@ Index: b/test/example-gatt-server mainloop.quit() -@@ -624,8 +624,8 @@ def find_adapter(bus): +@@ -625,8 +625,8 @@ def find_adapter(bus): DBUS_OM_IFACE) objects = remote_om.GetManagedObjects() @@ -242,7 +216,7 @@ Index: b/test/list-devices =================================================================== --- a/test/list-devices +++ b/test/list-devices -@@ -31,17 +31,17 @@ def extract_uuids(uuid_list): +@@ -32,17 +32,17 @@ def extract_uuids(uuid_list): objects = manager.GetManagedObjects() @@ -265,7 +239,7 @@ Index: b/test/list-devices value = properties[key] if (key == "UUIDs"): list = extract_uuids(value) -@@ -57,7 +57,7 @@ for path, interfaces in objects.iteritem +@@ -58,7 +58,7 @@ for path, interfaces in objects.iteritem dev = objects[dev_path] properties = dev["org.bluez.Device1"] @@ -278,7 +252,7 @@ Index: b/test/map-client =================================================================== --- a/test/map-client +++ b/test/map-client -@@ -26,15 +26,15 @@ def unwrap(x): +@@ -27,15 +27,15 @@ def unwrap(x): printed. Taken from d-feet """ if isinstance(x, list): @@ -301,7 +275,7 @@ Index: b/test/monitor-bluetooth =================================================================== --- a/test/monitor-bluetooth +++ b/test/monitor-bluetooth -@@ -13,17 +13,17 @@ relevant_ifaces = [ "org.bluez.Adapter1" +@@ -14,17 +14,17 @@ relevant_ifaces = [ "org.bluez.Adapter1" def property_changed(interface, changed, invalidated, path): iface = interface[interface.rfind(".") + 1:] @@ -326,7 +300,7 @@ Index: b/test/pbap-client =================================================================== --- a/test/pbap-client +++ b/test/pbap-client -@@ -134,11 +134,11 @@ if __name__ == '__main__': +@@ -135,11 +135,11 @@ if __name__ == '__main__': print(header) for line in lines: print(line), @@ -344,7 +318,7 @@ Index: b/test/sap_client.py =================================================================== --- a/test/sap_client.py +++ b/test/sap_client.py -@@ -178,7 +178,7 @@ class SAPParam_ConnectionStatus(SAPParam +@@ -165,7 +165,7 @@ class SAPParam_ConnectionStatus(SAPParam def __validate(self): if self.value is not None and self.value not in (0x00, 0x01, 0x02, 0x03, 0x04): @@ -353,7 +327,7 @@ Index: b/test/sap_client.py def deserialize(self, buf): ret = SAPParam.deserialize(self, buf) -@@ -196,7 +196,7 @@ class SAPParam_ResultCode(SAPParam): +@@ -183,7 +183,7 @@ class SAPParam_ResultCode(SAPParam): def __validate(self): if self.value is not None and self.value not in (0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07): @@ -362,7 +336,7 @@ Index: b/test/sap_client.py def deserialize(self, buf): ret = SAPParam.deserialize(self, buf) -@@ -214,7 +214,7 @@ class SAPParam_DisconnectionType(SAPPara +@@ -201,7 +201,7 @@ class SAPParam_DisconnectionType(SAPPara def __validate(self): if self.value is not None and self.value not in (0x00, 0x01): @@ -371,7 +345,7 @@ Index: b/test/sap_client.py def deserialize(self, buf): ret = SAPParam.deserialize(self, buf) -@@ -240,7 +240,7 @@ class SAPParam_StatusChange(SAPParam): +@@ -227,7 +227,7 @@ class SAPParam_StatusChange(SAPParam): def __validate(self): if self.value is not None and self.value not in (0x00, 0x01, 0x02, 0x03, 0x04, 0x05): @@ -380,7 +354,7 @@ Index: b/test/sap_client.py def deserialize(self, buf): ret = SAPParam.deserialize(self, buf) -@@ -258,7 +258,7 @@ class SAPParam_TransportProtocol(SAPPara +@@ -245,7 +245,7 @@ class SAPParam_TransportProtocol(SAPPara def __validate(self): if self.value is not None and self.value not in (0x00, 0x01): @@ -389,7 +363,7 @@ Index: b/test/sap_client.py def deserialize(self, buf): ret = SAPParam.deserialize(self, buf) -@@ -741,7 +741,7 @@ class SAPClient: +@@ -728,7 +728,7 @@ class SAPClient: self.port = first_match["port"] self.host = first_match["host"] @@ -398,7 +372,7 @@ Index: b/test/sap_client.py def __connectRFCOMM(self): self.sock=BluetoothSocket( RFCOMM ) -@@ -752,19 +752,19 @@ class SAPClient: +@@ -739,19 +739,19 @@ class SAPClient: def __sendMsg(self, msg): if isinstance(msg, SAPMessage): s = msg.serialize() @@ -422,7 +396,7 @@ Index: b/test/sap_client.py raise BluetoothError ("Message deserialization failed.") else: raise BluetoothError ("Timeout. No data received.") -@@ -810,8 +810,8 @@ class SAPClient: +@@ -797,8 +797,8 @@ class SAPClient: return False else: return False @@ -433,7 +407,7 @@ Index: b/test/sap_client.py return False def proc_disconnectByClient(self, timeout=0): -@@ -821,8 +821,8 @@ class SAPClient: +@@ -808,8 +808,8 @@ class SAPClient: time.sleep(timeout) # let srv to close rfcomm self.__disconnectRFCOMM() return True @@ -444,7 +418,7 @@ Index: b/test/sap_client.py return False def proc_disconnectByServer(self, timeout=0): -@@ -836,8 +836,8 @@ class SAPClient: +@@ -823,8 +823,8 @@ class SAPClient: return self.proc_disconnectByClient(timeout) @@ -455,7 +429,7 @@ Index: b/test/sap_client.py return False def proc_transferAPDU(self, apdu = "Sample APDU command"): -@@ -845,8 +845,8 @@ class SAPClient: +@@ -832,8 +832,8 @@ class SAPClient: self.__sendMsg(SAPMessage_TRANSFER_APDU_REQ(apdu)) params = self.__rcvMsg(SAPMessage_TRANSFER_APDU_RESP()).getParams() return True @@ -466,7 +440,7 @@ Index: b/test/sap_client.py return False def proc_transferATR(self): -@@ -854,8 +854,8 @@ class SAPClient: +@@ -841,8 +841,8 @@ class SAPClient: self.__sendMsg(SAPMessage_TRANSFER_ATR_REQ()) params = self.__rcvMsg(SAPMessage_TRANSFER_ATR_RESP()).getParams() return True @@ -477,7 +451,7 @@ Index: b/test/sap_client.py return False def proc_powerSimOff(self): -@@ -863,8 +863,8 @@ class SAPClient: +@@ -850,8 +850,8 @@ class SAPClient: self.__sendMsg(SAPMessage_POWER_SIM_OFF_REQ()) params = self.__rcvMsg(SAPMessage_POWER_SIM_OFF_RESP()).getParams() return True @@ -488,7 +462,7 @@ Index: b/test/sap_client.py return False def proc_powerSimOn(self): -@@ -875,8 +875,8 @@ class SAPClient: +@@ -862,8 +862,8 @@ class SAPClient: return self.proc_transferATR() return True @@ -499,7 +473,7 @@ Index: b/test/sap_client.py return False def proc_resetSim(self): -@@ -887,23 +887,23 @@ class SAPClient: +@@ -874,23 +874,23 @@ class SAPClient: return self.proc_transferATR() return True @@ -529,7 +503,7 @@ Index: b/test/sap_client.py return False def proc_errorResponse(self): -@@ -912,8 +912,8 @@ class SAPClient: +@@ -899,8 +899,8 @@ class SAPClient: self.__sendMsg(SAPMessage_CONNECT_REQ()) params = self.__rcvMsg(SAPMessage_ERROR_RESP()).getParams() @@ -540,7 +514,7 @@ Index: b/test/sap_client.py return False def proc_setTransportProtocol(self, protocol = 0): -@@ -935,8 +935,8 @@ class SAPClient: +@@ -922,8 +922,8 @@ class SAPClient: else: return False @@ -555,7 +529,7 @@ Index: b/test/simple-agent =================================================================== --- a/test/simple-agent +++ b/test/simple-agent -@@ -23,9 +23,9 @@ dev_path = None +@@ -24,9 +24,9 @@ dev_path = None def ask(prompt): try: @@ -571,7 +545,7 @@ Index: b/test/simple-player =================================================================== --- a/test/simple-player +++ b/test/simple-player -@@ -118,7 +118,7 @@ class InputHandler: +@@ -119,7 +119,7 @@ class InputHandler: return True try: @@ -584,7 +558,7 @@ Index: b/test/test-adapter =================================================================== --- a/test/test-adapter +++ b/test/test-adapter -@@ -60,7 +60,7 @@ if (args[0] == "list"): +@@ -61,7 +61,7 @@ if (args[0] == "list"): om = dbus.Interface(bus.get_object("org.bluez", "/"), "org.freedesktop.DBus.ObjectManager") objects = om.GetManagedObjects() @@ -593,7 +567,7 @@ Index: b/test/test-adapter if "org.bluez.Adapter1" not in interfaces: continue -@@ -68,7 +68,7 @@ if (args[0] == "list"): +@@ -69,7 +69,7 @@ if (args[0] == "list"): props = interfaces["org.bluez.Adapter1"] @@ -606,7 +580,7 @@ Index: b/test/test-device =================================================================== --- a/test/test-device +++ b/test/test-device -@@ -48,7 +48,7 @@ if (args[0] == "list"): +@@ -49,7 +49,7 @@ if (args[0] == "list"): "org.freedesktop.DBus.ObjectManager") objects = om.GetManagedObjects() @@ -619,7 +593,7 @@ Index: b/test/test-discovery =================================================================== --- a/test/test-discovery +++ b/test/test-discovery -@@ -18,9 +18,9 @@ def print_compact(address, properties): +@@ -19,9 +19,9 @@ def print_compact(address, properties): name = "" address = "" @@ -631,7 +605,7 @@ Index: b/test/test-discovery if (key == "Name"): name = value elif (key == "Address"): -@@ -38,10 +38,10 @@ def print_compact(address, properties): +@@ -39,10 +39,10 @@ def print_compact(address, properties): def print_normal(address, properties): print("[ " + address + " ]") @@ -644,7 +618,7 @@ Index: b/test/test-discovery if (key == "Class"): print(" %s = 0x%06x" % (key, value)) else: -@@ -70,7 +70,7 @@ def interfaces_added(path, interfaces): +@@ -71,7 +71,7 @@ def interfaces_added(path, interfaces): if compact and skip_dev(dev, properties): return @@ -653,7 +627,7 @@ Index: b/test/test-discovery else: devices[path] = properties -@@ -93,7 +93,7 @@ def properties_changed(interface, change +@@ -94,7 +94,7 @@ def properties_changed(interface, change if compact and skip_dev(dev, changed): return @@ -662,7 +636,7 @@ Index: b/test/test-discovery else: devices[path] = changed -@@ -152,7 +152,7 @@ if __name__ == '__main__': +@@ -153,7 +153,7 @@ if __name__ == '__main__': om = dbus.Interface(bus.get_object("org.bluez", "/"), "org.freedesktop.DBus.ObjectManager") objects = om.GetManagedObjects() @@ -675,7 +649,7 @@ Index: b/test/test-health =================================================================== --- a/test/test-health +++ b/test/test-health -@@ -146,8 +146,8 @@ manager = dbus.Interface(bus.get_object( +@@ -147,8 +147,8 @@ manager = dbus.Interface(bus.get_object( objects = manager.GetManagedObjects() adapters = [] @@ -686,7 +660,7 @@ Index: b/test/test-health adapters.append(path) i = 1 -@@ -171,7 +171,7 @@ while select == None: +@@ -172,7 +172,7 @@ while select == None: adapter = dbus.Interface(bus.get_object(BUS_NAME, select), ADAPTER_INTERFACE) devices = [] @@ -699,7 +673,7 @@ Index: b/test/test-health-sink =================================================================== --- a/test/test-health-sink +++ b/test/test-health-sink -@@ -40,8 +40,8 @@ manager = dbus.Interface(bus.get_object( +@@ -41,8 +41,8 @@ manager = dbus.Interface(bus.get_object( objects = manager.GetManagedObjects() adapters = [] @@ -710,7 +684,7 @@ Index: b/test/test-health-sink adapters.append(path) i = 1 -@@ -66,7 +66,7 @@ adapter = dbus.Interface(bus.get_object +@@ -67,7 +67,7 @@ adapter = dbus.Interface(bus.get_object ADAPTER_INTERFACE) devices = [] @@ -723,7 +697,7 @@ Index: b/test/test-hfp =================================================================== --- a/test/test-hfp +++ b/test/test-hfp -@@ -185,7 +185,7 @@ class HfpProfile(dbus.service.Object): +@@ -186,7 +186,7 @@ class HfpProfile(dbus.service.Object): version = 0x0105 features = 0 print("NewConnection(%s, %d)" % (path, fd)) @@ -736,7 +710,7 @@ Index: b/test/test-profile =================================================================== --- a/test/test-profile +++ b/test/test-profile -@@ -33,7 +33,7 @@ class Profile(dbus.service.Object): +@@ -34,7 +34,7 @@ class Profile(dbus.service.Object): def NewConnection(self, path, fd, properties): self.fd = fd.take() print("NewConnection(%s, %d)" % (path, self.fd)) diff --git a/bluez.changes b/bluez.changes index 337bbf6..844c6e3 100644 --- a/bluez.changes +++ b/bluez.changes @@ -1,3 +1,15 @@ +------------------------------------------------------------------- +Thu Jun 17 13:45:19 UTC 2021 - Stefan Seyfried + +- update to 5.59: + * Fix issue with string to UUID-32 conversion. + * Fix issue with connect request if SDP search failed. + * Fix issue with accepting invalid AVDTP capabilities. + * Fix issue with unregister handling of AVRCP player. +- new tool: mesh-cfgtest +- new manpages: btmon.1, bluetooth-meshd.8 +- rebased bluez-test-2to3.diff + ------------------------------------------------------------------- Wed Apr 7 07:49:44 UTC 2021 - Stefan Seyfried diff --git a/bluez.spec b/bluez.spec index 3c7796b..00a27d6 100644 --- a/bluez.spec +++ b/bluez.spec @@ -23,11 +23,9 @@ %bcond_with mesh %endif %bcond_without bluez_deprecated -# maintained at https://github.com/seifes-opensuse-packages/bluez.git -# contributions via pull requests are welcome! # Name: bluez -Version: 5.58 +Version: 5.59 Release: 0 Summary: Bluetooth Stack for Linux License: GPL-2.0-or-later @@ -54,6 +52,10 @@ Patch10: RPi-Move-the-43xx-firmware-into-lib-firmware.patch # fix some memory leak with malformed packet (reported upstream but not yet fixed) Patch101: CVE-2016-9800-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch Patch102: CVE-2016-9804-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch +# mesh-cfgtest only compiles with gcc8 or newer, Leap 15 has gcc7.5.0 as default +%if 0%{?suse_version} < 1550 +BuildRequires: gcc8 +%endif BuildRequires: automake BuildRequires: flex BuildRequires: libtool @@ -69,6 +71,8 @@ BuildRequires: pkgconfig(libical) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(sndfile) BuildRequires: pkgconfig(udev) +# for rst2man +BuildRequires: python3-docutils # libgio-2_0-0 has a runtime dependency on shared-mime-info, which is not # required for building here, but causes a build loop #!BuildIgnore: shared-mime-info @@ -191,6 +195,10 @@ echo AutoEnable=true >> src/main.conf sed -i '1s#/usr/bin/python$#/usr/bin/python3#' test/* %build +%if 0%{?suse_version} < 1550 +echo 0%{?suse_version} +export CC=gcc-8 +%endif # because of patch4... autoreconf -fi # --enable-experimental is needed or btattach does not build (bug?) @@ -338,6 +346,8 @@ touch -r %{SOURCE0} $UM %{_libexecdir}/bluetooth/bluetoothd %if %{with mesh} %{_libexecdir}/bluetooth/bluetooth-meshd +%{_bindir}/mesh-cfgtest +%{_mandir}/man8/bluetooth-meshd.8%{?ext_man} %endif %{_libexecdir}/bluetooth/obexd %{_bindir}/bluetoothctl @@ -348,6 +358,7 @@ touch -r %{SOURCE0} $UM %endif %{_prefix}/lib/udev/ %{_mandir}/man1/btattach.1%{?ext_man} +%{_mandir}/man1/btmon.1%{?ext_man} %{_mandir}/man8/bluetoothd.8%{?ext_man} %{_mandir}/man1/hid2hci.1%{?ext_man} %{_mandir}/man1/l2ping.1%{?ext_man}