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,83 @@
From 326947e7b24ea4615e2971fc7cd48e6c1a9245df Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
Date: Wed, 7 Aug 2024 12:01:24 +0200
Subject: [PATCH] udev-builtin-net_id: add NAMING_DEVICETREE_PORT_ALIASES to
check of_node of netdevs before their parents
The net_id builtin only checked the of_node of a netdev's parent device,
not that of the netdev itself. While it is common that netdevs don't have
an OF node assigned themselves, as they are derived from some parent
device, this is not always the case. In particular when a single
controller provides multiple ports that can be referenced indiviually in
the Device Tree (both for aliases/MAC address assignment and phandle
references), the correct of_node will be that of the netdev itself, not
that of the parent, so it needs to be checked, too.
A new naming scheme flag NAMING_DEVICETREE_PORT_ALIASES is added to
allow selecting the new behavior.
Upstream-Status: Backport [https://github.com/systemd/systemd/commit/24c2e04e9a3b53bc8a57ac4a7a89d8da8e4feb72]
The new naming scheme flag is not used by default in the backported
patch; it must be enabled using the extra-net-naming-schemes build option.
---
diff --git a/src/shared/netif-naming-scheme.h b/src/shared/netif-naming-scheme.h
index 3f7be08830..904a3b75ff 100644
--- a/src/shared/netif-naming-scheme.h
+++ b/src/shared/netif-naming-scheme.h
@@ -38,9 +38,10 @@ typedef enum NamingSchemeFlags {
NAMING_XEN_VIF = 1 << 13, /* Generate names for Xen netfront devices */
NAMING_BRIDGE_MULTIFUNCTION_SLOT = 1 << 14, /* Use PCI hotplug slot information associated with bridge, but only if PCI device is multifunction.
* This is disabled since v255, as it seems not to work at least for some setups. See issue #28929. */
- NAMING_DEVICETREE_ALIASES = 1 << 15, /* Generate names from devicetree aliases */
+ NAMING_DEVICETREE_ALIASES = 1 << 15, /* Generate names from devicetree aliases of a netdev's parent's OF node */
NAMING_USB_HOST = 1 << 16, /* Generate names for usb host */
NAMING_SR_IOV_R = 1 << 17, /* Use "r" suffix for SR-IOV VF representors */
+ NAMING_DEVICETREE_PORT_ALIASES = 1 << 19, /* Include aliases of OF nodes of a netdev itself, not just its parent. See PR #33958. */
/* And now the masks that combine the features above */
NAMING_V238 = 0,
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
index 91b40088f4..faf7dd4940 100644
--- a/src/udev/udev-builtin-net_id.c
+++ b/src/udev/udev-builtin-net_id.c
@@ -781,7 +781,6 @@ static int names_platform(sd_device *dev, const char *prefix, bool test) {
static int names_devicetree(sd_device *dev, const char *prefix, bool test) {
_cleanup_(sd_device_unrefp) sd_device *aliases_dev = NULL, *ofnode_dev = NULL, *devicetree_dev = NULL;
const char *ofnode_path, *ofnode_syspath, *devicetree_syspath;
- sd_device *parent;
int r;
assert(dev);
@@ -794,14 +793,24 @@ static int names_devicetree(sd_device *dev, const char *prefix, bool test) {
if (!streq(prefix, "en"))
return -EOPNOTSUPP;
- /* check if our direct parent has an of_node */
- r = sd_device_get_parent(dev, &parent);
- if (r < 0)
- return log_device_debug_errno(dev, r, "Failed to get parent device: %m");
+ /* check if the device itself has an of_node */
+ if (naming_scheme_has(NAMING_DEVICETREE_PORT_ALIASES)) {
+ r = sd_device_new_child(&ofnode_dev, dev, "of_node");
+ if (r < 0)
+ log_device_debug_errno(dev, r, "Failed to get device of_node, ignoring: %m");
+ }
+ if (!ofnode_dev) {
+ sd_device *parent;
- r = sd_device_new_child(&ofnode_dev, parent, "of_node");
- if (r < 0)
- return log_device_debug_errno(parent, r, "Failed to get 'of_node' child device: %m");
+ /* check if our direct parent has an of_node as a fallback */
+ r = sd_device_get_parent(dev, &parent);
+ if (r < 0)
+ return log_device_debug_errno(dev, r, "Failed to get parent device: %m");
+
+ r = sd_device_new_child(&ofnode_dev, parent, "of_node");
+ if (r < 0)
+ return log_device_debug_errno(parent, r, "Failed to get device of_node: %m");
+ }
r = sd_device_get_syspath(ofnode_dev, &ofnode_syspath);
if (r < 0)

View File

@@ -0,0 +1,9 @@
# SPDX-License-Identifier: MIT
#
# Copyright (c) 2024 TQ-Systems GmbH <oss@ew.tq-group.com>, D-82229 Seefeld, Germany.
# Author: Matthias Schiffer
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
SRC_URI += "file://0001-udev-builtin-net_id-add-NAMING_DEVICETREE_PORT_ALIAS.patch"
EXTRA_OEMESON += "-Dextra-net-naming-schemes=latest=v255+devicetree-port-aliases"