Complete Yocto mirror with license table for TQMa6UL (2038-compliance)

- 264 license table entries with exact download URLs (224/264 resolved)
- Complete sources/ directory with all BitBake recipes
- Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl)
- Full traceability for Softwarefreigabeantrag
- GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4
- License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
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

@@ -0,0 +1,38 @@
From 18af739fd96960bbc8c5db5dd290d2f9134cd347 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 14 Aug 2024 21:26:24 -0700
Subject: [PATCH] meson: DO not emit absolute path when S != B
build systems like OE build outside sourcetree in such cases it works
ok but cython resolves the input file to absolute path and that gets
emitted into genetate _blueman.c as module name, renders the build
non-reproducible, wish cython had a better way to handle this but there
is not, therefore tweak the meson build rule to account for specifying
workdir to cython which will search the inputs correctly, and use
meson's build_root to emit the output into build dir. This ensures that
it becomes independent of source or build directories and cython does
not generate the absolute paths into generate C code.
See cython discussion on [1]
[1] https://github.com/cython/cython/issues/5949
Upstream-Status: Submitted [https://github.com/blueman-project/blueman/pull/2461]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
module/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/meson.build b/module/meson.build
index 096ad7c8..e3d96f17 100644
--- a/module/meson.build
+++ b/module/meson.build
@@ -4,7 +4,7 @@ blueman_c = custom_target(
'blueman_c',
output: '_blueman.c',
input: '_blueman.pyx',
- command: [cython, '--output-file', '@OUTPUT@', '@INPUT@'])
+ command: [cython, '-w', meson.source_root(), '--output-file', meson.build_root() + '/' + '@OUTPUT@', '@INPUT@'])
sources = [
blueman_c,

View File

@@ -0,0 +1,50 @@
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

@@ -0,0 +1,72 @@
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

@@ -0,0 +1,89 @@
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 \
file://0001-meson-DO-not-emit-absolute-path-when-S-B.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
}