- rebase patches
- remove 0001-Search-for-cython3.patch, cython3 is the default now
- dont create polkit rule, meanwhile it is contained in the package
- simplify the injection of python paths by patching the .in files
  at do_configure

This adds a reproducibility issue where I haven't yet been able to
figure out the root cause, so this is marked RFC
WARNING: blueman-2.4-r0 do_package_qa: QA Issue: File 
/usr/src/debug/blueman/2.4/module/_blueman.c in package blueman-src contains 
reference to TMPDIR [buildpaths]
WARNING: blueman-2.4-r0 do_package_qa: QA Issue: File 
/usr/lib/python3.12/site-packages/_blueman.so in package blueman contains 
reference to TMPDIR [buildpaths]

I've tested the rc version for quite some time now and its working
well for me. It increases the short search timeout and includes
matching polkit rule by default. Also it now bluetooth on/off switch,
which is working great.
Note: after disabling bluetooth the icon disappears immediately from e.g.
waybar, but due to the lack of dbus communication it will be needed to
restart waybar, to get it back visible after reactivating bluez again

New features
Audio profile switcher in applet menu (@abhijeetviswa)
Set router address as DNS server instead of loopback addresses
Enable dnsmasq DNS service if possible and add DNS servers otherwise
Reconfigure DHCP service on local nameserver changes
Support for systemd-resolved for getting nameservers for NAP clients
List connected devices in status icon tooltip
Support for nautilus 43 and later
Copy bleutooth address to clipboard in devicelist
Add battery levels to status icon tooltip
Changes
Raise minimum Python version to 3.8
Raise minumum Gtk+ version to 3.24
Hide recent connections associated with unavailable adapters
Store network configuration in GSettings instead of 
/var/lib/blueman/network.state.
Replace custom MessageArea widget with regular Gtk.InfoBar
Drop auto-power feature. BlueZ now has the AutoEnable setting for even better 
auto-powering.
Do not use pointless link quality value
Recent connections in toplevel applet menu
Never hide keyboard and combos, see #1954 for more info
Do not close blueman-manager from applet
Add Switch to blueman-manager to set bluetooth on/off
Remove broken check for bluetooth status
PluginDialog: Replace custom list with Gtk.ListBox
Ignore double-click for connect when unpowered
Drop homgeneous from statusbar
PulseAudioUtils: Use python enums in several places
Use operator convenience functions
Cleanup PluginDialog UI
Show HCI device in blueman-adapers tabs
Show different icon for the active audio profile @localevil
Make blueman-services a notebook
Use the TypedDict as constructor
Bugs fixed
Fix device-selected handlers
Fix deprecations in tests
Fix showing -1 seconds when discovering @kuraga
Tray: Let dbus call end and reply to caller
Get the image-missing icon if lookup failed to avoid crash

Signed-off-by: Markus Volk <f_...@t-online.de>
---
 .../blueman/0001-Search-for-cython3.patch     | 24 -----
 ...01-meson-add-pythoninstalldir-option.patch | 29 +++---
 .../0002-fix-fail-to-enable-bluetooth.patch   | 20 ++---
 .../blueman/blueman_2.3.5.bb                  | 88 -------------------
 .../blueman/blueman_2.4.bb                    | 57 ++++++++++++
 5 files changed, 85 insertions(+), 133 deletions(-)
 delete mode 100644 
meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch
 delete mode 100644 
meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
 create mode 100644 meta-networking/recipes-connectivity/blueman/blueman_2.4.bb

diff --git 
a/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch
 
b/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch
deleted file mode 100644
index 913566dce..000000000
--- 
a/meta-networking/recipes-connectivity/blueman/blueman/0001-Search-for-cython3.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Subject: [PATCH] Search for cython3
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Markus Volk <f_...@gmx.net>
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/module/meson.build        2022-02-10 08:49:35.000000000 +0100
-+++ b/module/meson.build        2022-03-29 12:58:03.456193737 +0200
-@@ -1,4 +1,4 @@
--cython = find_program('cython', required: true)
-+cython = find_program('cython3', required: true)
- 
- blueman_c = custom_target(
-     'blueman_c',
-
--- 
-2.14.3
-
diff --git 
a/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch
 
b/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch
index cc448b4ff..3e9543410 100644
--- 
a/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch
+++ 
b/meta-networking/recipes-connectivity/blueman/blueman/0001-meson-add-pythoninstalldir-option.patch
@@ -1,4 +1,4 @@
-From 37f24a9bd62f0a8f3e37eaddd33f2f0c9d3aaa0a Mon Sep 17 00:00:00 2001
+From 3d0cc8aae6de1b0a3b3dc87cdadc80199980783c Mon Sep 17 00:00:00 2001
 From: Chen Qi <qi.c...@windriver.com>
 Date: Fri, 1 Apr 2022 23:12:17 -0700
 Subject: [PATCH] meson: add pythoninstalldir option
@@ -16,13 +16,13 @@ Signed-off-by: Chen Qi <qi.c...@windriver.com>
  2 files changed, 7 insertions(+), 1 deletion(-)
 
 diff --git a/meson.build b/meson.build
-index e12d0ce6..e84457a5 100644
+index 2a4303ce..5154b2ad 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -26,7 +26,12 @@ pkgdatadir = join_paths([prefix, get_option('datadir'), 
package_name])
- bindir = join_paths([prefix, get_option('bindir')])
- libexecdir = join_paths([prefix, get_option('libexecdir')])
- schemadir = join_paths(['share', 'glib-2.0', 'schemas'])
+@@ -29,7 +29,12 @@ dbusdir = join_paths([datadir, 'dbus-1'])
+ libexecdir = get_option('libexecdir')
+ schemadir = join_paths([datadir, 'glib-2.0', 'schemas'])
+ polkitdir = join_paths([datadir, 'polkit-1'])
 -pythondir = pyinstall.get_install_dir()
 +pythoninstalldir = get_option('pythoninstalldir')
 +if pythoninstalldir != ''
@@ -30,11 +30,20 @@ index e12d0ce6..e84457a5 100644
 +else
 +    pythondir = join_paths([prefix, python.sysconfig_path('purelib')])
 +endif
+ systemd_base_path = join_paths(libdir, 'systemd')
  
  if get_option('policykit')
-     have_polkit = 'True'
+@@ -51,7 +56,7 @@ conf_data.set('icondir', join_paths(prefix, datadir, 
'icons'))
+ conf_data.set('dhconfig', get_option('dhcp-config-path'))
+ conf_data.set('POLKIT', have_polkit)
+ conf_data.set('GETTEXT_PACKAGE', package_name)
+-conf_data.set('PYTHON', pyinstall.full_path())
++conf_data.set('PYTHON', pyinstall.path())
+ 
+ # Check for build dependencies
+ pythonlib = pyinstall.dependency()
 diff --git a/meson_options.txt b/meson_options.txt
-index 177d9ab8..3e397d8e 100644
+index 177d9ab8..87d73872 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
 @@ -2,6 +2,7 @@ option('runtime_deps_check', type: 'boolean', value: true, 
description: 'Disable
@@ -45,6 +54,4 @@ index 177d9ab8..3e397d8e 100644
  option('systemdsystemunitdir', type: 'string', description: 'Path to systemd 
system unit dir relative to ${prefix}')
  option('systemduserunitdir', type: 'string', description: 'Path to systemd 
user unit dir relative to ${prefix}')
  option('sendto-plugins', type: 'array', choices: ['Caja', 'Nemo', 
'Nautilus'], value: ['Caja', 'Nemo', 'Nautilus'], description: 'Install sendto 
plugins for various filemanagers')
--- 
-2.34.1
-
+ 
diff --git 
a/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
 
b/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
index 282d82137..8a18600dd 100644
--- 
a/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
+++ 
b/meta-networking/recipes-connectivity/blueman/blueman/0002-fix-fail-to-enable-bluetooth.patch
@@ -1,4 +1,7 @@
-Fix fail to enable bluetooth issue
+From 37c5f0e9741e8a07114ab6120a74affadf0a453e Mon Sep 17 00:00:00 2001
+From: Kai Kang <kai.k...@windriver.com>
+Date: Fri, 25 Oct 2019 12:56:48 +0800
+Subject: [PATCH] Fix fail to enable bluetooth issue
 
 When launch blueman-manager while bluetooth is disable, it may fails
 with error:
@@ -25,10 +28,10 @@ Signed-off-by: Kai Kang <kai.k...@windriver.com>
  2 files changed, 14 insertions(+)
 
 diff --git a/blueman/Functions.py b/blueman/Functions.py
-index 3917f42..b4d5eae 100644
+index 018ffaed..f4fdca41 100644
 --- a/blueman/Functions.py
 +++ b/blueman/Functions.py
-@@ -80,6 +80,16 @@ def check_bluetooth_status(message: str, exitfunc: 
Callable[[], Any]) -> None:
+@@ -79,6 +79,16 @@ def check_bluetooth_status(message: str, exitfunc: 
Callable[[], Any]) -> None:
              return
  
      applet.SetBluetoothStatus('(b)', True)
@@ -46,18 +49,18 @@ index 3917f42..b4d5eae 100644
          print('Failed to enable bluetooth')
          exitfunc()
 diff --git a/blueman/plugins/applet/PowerManager.py 
b/blueman/plugins/applet/PowerManager.py
-index c2f7bc3..bf6c99f 100644
+index 8c3991e4..57c1aa57 100644
 --- a/blueman/plugins/applet/PowerManager.py
 +++ b/blueman/plugins/applet/PowerManager.py
-@@ -63,6 +63,7 @@ class PowerManager(AppletPlugin, StatusIconProvider):
-         self._add_dbus_signal("BluetoothStatusChanged", "b")
+@@ -49,6 +49,7 @@ class PowerManager(AppletPlugin, StatusIconProvider):
+ 
          self._add_dbus_method("SetBluetoothStatus", ("b",), "", 
self.request_power_state)
          self._add_dbus_method("GetBluetoothStatus", (), "b", 
self.get_bluetooth_status)
 +        self._add_dbus_method("GetRequestStatus", (), "b", 
self.get_request_status)
  
      def on_unload(self) -> None:
          self.parent.Plugins.Menu.unregister(self)
-@@ -196,6 +197,9 @@ class PowerManager(AppletPlugin, StatusIconProvider):
+@@ -178,6 +179,9 @@ class PowerManager(AppletPlugin, StatusIconProvider):
      def get_bluetooth_status(self) -> bool:
          return self.current_state
  
@@ -67,6 +70,3 @@ index c2f7bc3..bf6c99f 100644
      def on_adapter_property_changed(self, _path: str, key: str, value: Any) 
-> None:
          if key == "Powered":
              if value and not self.current_state:
--- 
-2.31.1
-
diff --git a/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb 
b/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
deleted file mode 100644
index 0374d23f0..000000000
--- a/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
+++ /dev/null
@@ -1,88 +0,0 @@
-DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
-LICENSE = "GPL-3.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
-
-DEPENDS = "gtk+3 glib-2.0 bluez5 python3-pygobject python3-cython-native"
-
-inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache 
useradd features_check
-
-REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-
-SRC_URI = " \
-    
git://github.com/blueman-project/blueman.git;protocol=https;branch=2-3-stable \
-    file://0001-Search-for-cython3.patch \
-    file://0002-fix-fail-to-enable-bluetooth.patch \
-    file://0001-meson-add-pythoninstalldir-option.patch \
-"
-S = "${WORKDIR}/git"
-SRCREV = "c85e7afb8d6547d4c35b7b639124de8e999c3650"
-
-EXTRA_OEMESON = "-Druntime_deps_check=false 
-Dpythoninstalldir=${@noprefix('PYTHON_SITEPACKAGES_DIR', d)}"
-
-SYSTEMD_SERVICE:${PN} = "${BPN}-mechanism.service"
-SYSTEMD_AUTO_ENABLE:${PN} = "disable"
-
-RRECOMMENDS:${PN} += "adwaita-icon-theme"
-RDEPENDS:${PN} += " \
-    python3-core \
-    python3-ctypes \
-    python3-dbus \
-    python3-pygobject \
-    python3-terminal \
-    python3-fcntl \
-    packagegroup-tools-bluetooth \
-"
-
-PACKAGECONFIG ??= " \
-    ${@bb.utils.filter('DISTRO_FEATURES', 'polkit pulseaudio ', d)} \
-    thunar \
-"
-PACKAGECONFIG[thunar] = "-Dthunar-sendto=true,-Dthunar-sendto=false"
-PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=true,-Dpulseaudio=false"
-PACKAGECONFIG[polkit] = "-Dpolicykit=true,-Dpolicykit=false"
-
-FILES:${PN} += " \
-    ${datadir} \
-    ${systemd_user_unitdir} \
-    ${PYTHON_SITEPACKAGES_DIR} \
-"
-
-# In code, path to python is a variable that is replaced with path to native 
version of it
-# during the configure stage, e.g 
../recipe-sysroot-native/usr/bin/python3-native/python3.
-# Replace it with #!/usr/bin/env python3
-do_install:append() {
-    sed -i "1s/.*/#!\/usr\/bin\/env python3/" 
${D}${prefix}/libexec/blueman-rfcomm-watcher \
-                                              
${D}${prefix}/libexec/blueman-mechanism \
-                                              ${D}${bindir}/blueman-adapters \
-                                              ${D}${bindir}/blueman-applet \
-                                              ${D}${bindir}/blueman-manager \
-                                              ${D}${bindir}/blueman-sendto \
-                                              ${D}${bindir}/blueman-services \
-                                              ${D}${bindir}/blueman-tray
-}
-
-do_install:append() {
-    install -d ${D}${datadir}/polkit-1/rules.d
-    cat >${D}${datadir}/polkit-1/rules.d/51-blueman.rules <<EOF
-/* Allow users in wheel group to use blueman feature requiring root without 
authentication */
-polkit.addRule(function(action, subject) {
-    if ((action.id == "org.blueman.network.setup" ||
-         action.id == "org.blueman.dhcp.client" ||
-         action.id == "org.blueman.rfkill.setstate" ||
-         action.id == "org.blueman.pppd.pppconnect") &&
-        subject.isInGroup("wheel")) {
-
-        return polkit.Result.YES;
-    }
-});
-EOF
-}
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --no-create-home --user-group --home-dir 
${sysconfdir}/polkit-1 --shell /bin/nologin polkitd"
-
-do_install:append() {
-        # Fix up permissions on polkit rules.d to work with rpm4 constraints
-        chmod 700 ${D}/${datadir}/polkit-1/rules.d
-        chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
-}
diff --git a/meta-networking/recipes-connectivity/blueman/blueman_2.4.bb 
b/meta-networking/recipes-connectivity/blueman/blueman_2.4.bb
new file mode 100644
index 000000000..71fa0317d
--- /dev/null
+++ b/meta-networking/recipes-connectivity/blueman/blueman_2.4.bb
@@ -0,0 +1,57 @@
+DESCRIPTION = "Blueman is a GTK+ Bluetooth Manager"
+LICENSE = "GPL-3.0-only"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "gtk+3 glib-2.0 bluez5 python3-pygobject python3-cython-native"
+
+inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache 
features_check
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
+
+SRC_URI = " \
+    
git://github.com/blueman-project/blueman.git;protocol=https;branch=2-4-stable \
+    file://0002-fix-fail-to-enable-bluetooth.patch \
+    file://0001-meson-add-pythoninstalldir-option.patch \
+"
+S = "${WORKDIR}/git"
+SRCREV = "71948d45d5b23d58f4be03543570d256faa45cc4"
+
+EXTRA_OEMESON = "-Druntime_deps_check=false 
-Dpythoninstalldir=${@noprefix('PYTHON_SITEPACKAGES_DIR', d)}"
+
+SYSTEMD_SERVICE:${PN} = "${BPN}-mechanism.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+RRECOMMENDS:${PN} += "adwaita-icon-theme"
+RDEPENDS:${PN} += " \
+    python3-core \
+    python3-ctypes \
+    python3-dbus \
+    python3-pygobject \
+    python3-terminal \
+    python3-fcntl \
+    packagegroup-tools-bluetooth \
+"
+
+do_configure:prepend() {
+       for file in ${S}/apps/*.in; do
+               sed -i "s|@PYTHON@|\/usr\/bin\/env python3|" "$file"
+       done
+}
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'polkit pulseaudio ', 
d)}"
+
+PACKAGECONFIG[thunar] = "-Dthunar-sendto=true,-Dthunar-sendto=false"
+PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=true,-Dpulseaudio=false"
+PACKAGECONFIG[polkit] = "-Dpolicykit=true,-Dpolicykit=false"
+
+do_install:append() {
+        # Fix up permissions on polkit rules.d to work with rpm4 constraints
+        chmod 700 ${D}/${datadir}/polkit-1/rules.d
+        chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+}
+
+FILES:${PN} += " \
+    ${datadir} \
+    ${systemd_user_unitdir} \
+    ${PYTHON_SITEPACKAGES_DIR} \
+"
-- 
2.44.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#109695): 
https://lists.openembedded.org/g/openembedded-devel/message/109695
Mute This Topic: https://lists.openembedded.org/mt/105259533/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to