blueman: update 2.3.5 -> 2.4.3

Remove 0001-meson-add-pythoninstalldir-option.patch. It was fixed by:
[https://github.com/blueman-project/blueman/pull/1700]

Remove 0001-Search-for-cython3.patch. It was fixed by:
[2682501e31/module/meson.build (L1)]

Remove 0001-meson-add-pythoninstalldir-option.patch. Not quite sure about this one,
but even without this patch there are no issues to enable bluetooth on my side

Dont add polkit rule. It is now added by default.

Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Markus Volk 2024-08-06 23:51:26 +02:00 committed by Khem Raj
parent baa80b3305
commit a4bd1cf8cc
No known key found for this signature in database
GPG Key ID: BB053355919D3314
4 changed files with 3 additions and 171 deletions

View File

@ -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_l_k@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

View File

@ -1,50 +0,0 @@
From 37f24a9bd62f0a8f3e37eaddd33f2f0c9d3aaa0a Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Fri, 1 Apr 2022 23:12:17 -0700
Subject: [PATCH] meson: add pythoninstalldir option
In case of cross build, using host python to determine the python
site-packages directory for target is not feasible, add a new option
pythoninstalldir to fix the issue.
Upstream-Status: Submitted [https://github.com/blueman-project/blueman/pull/1699]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
meson.build | 7 ++++++-
meson_options.txt | 1 +
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index e12d0ce6..e84457a5 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'])
-pythondir = pyinstall.get_install_dir()
+pythoninstalldir = get_option('pythoninstalldir')
+if pythoninstalldir != ''
+ pythondir = join_paths([prefix, pythoninstalldir])
+else
+ pythondir = join_paths([prefix, python.sysconfig_path('purelib')])
+endif
if get_option('policykit')
have_polkit = 'True'
diff --git a/meson_options.txt b/meson_options.txt
index 177d9ab8..3e397d8e 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -2,6 +2,7 @@ option('runtime_deps_check', type: 'boolean', value: true, description: 'Disable
option('dhcp-config-path', type: 'string', value: '/etc/dhcp3/dhcpd.conf', description: 'Set dhcp3 server configuration path')
option('policykit', type: 'boolean', value: true, description: 'Enable policykit support')
option('pulseaudio', type: 'boolean', value: true, description: 'Enable PulseAudio support')
+option('pythoninstalldir', type: 'string', description: 'Path to python site-packages dir relative to ${prefix}')
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

View File

@ -1,72 +0,0 @@
Fix fail to enable bluetooth issue
When launch blueman-manager while bluetooth is disable, it may fails
with error:
Failed to enable bluetooth
Because when get bluetooth status right after change its status, the
status may not be updated that plugin applet/KillSwitch.py sets the
bluetooth status via method of another dbus service which doesn't return
immediately.
Provides a new dbus method for PowerManager which checks whether dbus
method SetBluetoothStatus() has finished. Then it makes sure to get
right bluetooth status.
Upstream-Status: Inappropriate
Send to upstream but not accepted:
https://github.com/blueman-project/blueman/pull/1121
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
blueman/Functions.py | 10 ++++++++++
blueman/plugins/applet/PowerManager.py | 4 ++++
2 files changed, 14 insertions(+)
diff --git a/blueman/Functions.py b/blueman/Functions.py
index 3917f42..b4d5eae 100644
--- a/blueman/Functions.py
+++ b/blueman/Functions.py
@@ -80,6 +80,16 @@ def check_bluetooth_status(message: str, exitfunc: Callable[[], Any]) -> None:
return
applet.SetBluetoothStatus('(b)', True)
+
+ timeout = time.time() + 10
+ while applet.GetRequestStatus():
+ time.sleep(0.1)
+ if time.time() > timeout:
+ # timeout 5s has been set in applet/PowerManager.py
+ # so it should NOT reach timeout here
+ logging.warning('Should NOT reach timeout.')
+ break
+
if not applet.GetBluetoothStatus():
print('Failed to enable bluetooth')
exitfunc()
diff --git a/blueman/plugins/applet/PowerManager.py b/blueman/plugins/applet/PowerManager.py
index c2f7bc3..bf6c99f 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")
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):
def get_bluetooth_status(self) -> bool:
return self.current_state
+ def get_request_status(self):
+ return self.request_in_progress
+
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

View File

@ -8,16 +8,11 @@ inherit meson gettext systemd gsettings pkgconfig python3native gtk-icon-cache u
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 \
"
SRC_URI = "git://github.com/blueman-project/blueman.git;protocol=https;branch=2-4-stable"
S = "${WORKDIR}/git"
SRCREV = "c85e7afb8d6547d4c35b7b639124de8e999c3650"
SRCREV = "7bcf919ad6ac0ee9a8c66b18b0ca98af877d4c8f"
EXTRA_OEMESON = "-Druntime_deps_check=false -Dpythoninstalldir=${@noprefix('PYTHON_SITEPACKAGES_DIR', d)}"
EXTRA_OEMESON = "-Druntime_deps_check=false"
SYSTEMD_SERVICE:${PN} = "${BPN}-mechanism.service"
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
@ -61,23 +56,6 @@ do_install:append() {
${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"