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:
@@ -0,0 +1,45 @@
|
||||
From b77cbe67df5fa0998946503f207c256ee740bb5f Mon Sep 17 00:00:00 2001
|
||||
From: Ross Burton <ross.burton@intel.com>
|
||||
Date: Tue, 3 Jul 2018 13:59:09 +0100
|
||||
Subject: [PATCH] Make CPU family warnings fatal
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
---
|
||||
mesonbuild/envconfig.py | 4 ++--
|
||||
mesonbuild/environment.py | 6 ++----
|
||||
2 files changed, 4 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
|
||||
index 07f1229..a35c356 100644
|
||||
--- a/mesonbuild/envconfig.py
|
||||
+++ b/mesonbuild/envconfig.py
|
||||
@@ -285,8 +285,8 @@ class MachineInfo(HoldableObject):
|
||||
'but is missing {}.'.format(minimum_literal - set(literal)))
|
||||
|
||||
cpu_family = literal['cpu_family']
|
||||
- if cpu_family not in known_cpu_families:
|
||||
- mlog.warning(f'Unknown CPU family {cpu_family}, please report this at https://github.com/mesonbuild/meson/issues/new')
|
||||
+ if cpu_family not in known_cpu_families and cpu_family != "riscv":
|
||||
+ raise EnvironmentException('Unknown CPU family {}, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.'.format(cpu_family))
|
||||
|
||||
endian = literal['endian']
|
||||
if endian not in ('little', 'big'):
|
||||
diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
|
||||
index 2ba2054..d798e3b 100644
|
||||
--- a/mesonbuild/environment.py
|
||||
+++ b/mesonbuild/environment.py
|
||||
@@ -359,10 +359,8 @@ def detect_cpu_family(compilers: CompilersDict) -> str:
|
||||
if compilers and not any_compiler_has_define(compilers, '__mips64'):
|
||||
trial = 'mips'
|
||||
|
||||
- if trial not in known_cpu_families:
|
||||
- mlog.warning(f'Unknown CPU family {trial!r}, please report this at '
|
||||
- 'https://github.com/mesonbuild/meson/issues/new with the '
|
||||
- 'output of `uname -a` and `cat /proc/cpuinfo`')
|
||||
+ if trial not in known_cpu_families and trail != "riscv":
|
||||
+ raise EnvironmentException('Unknown CPU family %s, see https://wiki.yoctoproject.org/wiki/Meson/UnknownCPU for directions.' % trial)
|
||||
|
||||
return trial
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From e85683698aa3556bf14fc6d35f2c067f16af520b Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Mon, 19 Nov 2018 14:24:26 +0100
|
||||
Subject: [PATCH] python module: do not manipulate the environment when calling
|
||||
pkg-config
|
||||
|
||||
Upstream-Status: Inappropriate [oe-core specific]
|
||||
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
|
||||
---
|
||||
mesonbuild/dependencies/python.py | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/mesonbuild/dependencies/python.py b/mesonbuild/dependencies/python.py
|
||||
index 9aea6bd..8c13ede 100644
|
||||
--- a/mesonbuild/dependencies/python.py
|
||||
+++ b/mesonbuild/dependencies/python.py
|
||||
@@ -380,9 +380,6 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
|
||||
empty.name = 'python'
|
||||
return empty
|
||||
|
||||
- old_pkg_libdir = os.environ.pop('PKG_CONFIG_LIBDIR', None)
|
||||
- old_pkg_path = os.environ.pop('PKG_CONFIG_PATH', None)
|
||||
- os.environ['PKG_CONFIG_LIBDIR'] = pkg_libdir
|
||||
try:
|
||||
return PythonPkgConfigDependency(name, env, kwargs, installation, True)
|
||||
finally:
|
||||
@@ -391,8 +388,7 @@ def python_factory(env: 'Environment', for_machine: 'MachineChoice',
|
||||
os.environ[name] = value
|
||||
elif name in os.environ:
|
||||
del os.environ[name]
|
||||
- set_env('PKG_CONFIG_LIBDIR', old_pkg_libdir)
|
||||
- set_env('PKG_CONFIG_PATH', old_pkg_path)
|
||||
+ pass
|
||||
|
||||
candidates.append(functools.partial(wrap_in_pythons_pc_dir, pkg_name, env, kwargs, installation))
|
||||
# We only need to check both, if a python install has a LIBPC. It might point to the wrong location,
|
||||
@@ -0,0 +1,26 @@
|
||||
From 6fb8db54929b40e1fd7ac949ef44f0d37df0bae9 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Kjellerstedt <pkj@axis.com>
|
||||
Date: Thu, 26 Jul 2018 16:32:49 +0200
|
||||
Subject: [PATCH] Support building allarch recipes again
|
||||
|
||||
This registers "allarch" as a known CPU family.
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
|
||||
|
||||
---
|
||||
mesonbuild/envconfig.py | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/mesonbuild/envconfig.py b/mesonbuild/envconfig.py
|
||||
index a35c356..436355f 100644
|
||||
--- a/mesonbuild/envconfig.py
|
||||
+++ b/mesonbuild/envconfig.py
|
||||
@@ -38,6 +38,7 @@ from pathlib import Path
|
||||
|
||||
|
||||
known_cpu_families = (
|
||||
+ 'allarch',
|
||||
'aarch64',
|
||||
'alpha',
|
||||
'arc',
|
||||
43
sources/poky/meta/recipes-devtools/meson/meson/meson-setup.py
Executable file
43
sources/poky/meta/recipes-devtools/meson/meson/meson-setup.py
Executable file
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import os
|
||||
import string
|
||||
import sys
|
||||
|
||||
class Template(string.Template):
|
||||
delimiter = "@"
|
||||
|
||||
class Environ():
|
||||
def __getitem__(self, name):
|
||||
val = os.environ[name]
|
||||
val = val.split()
|
||||
if len(val) > 1:
|
||||
val = ["'%s'" % x for x in val]
|
||||
val = ', '.join(val)
|
||||
val = '[%s]' % val
|
||||
elif val:
|
||||
val = "'%s'" % val.pop()
|
||||
return val
|
||||
|
||||
try:
|
||||
sysroot = os.environ['OECORE_NATIVE_SYSROOT']
|
||||
except KeyError:
|
||||
print("Not in environment setup, bailing")
|
||||
sys.exit(1)
|
||||
|
||||
template_file = os.path.join(sysroot, 'usr/share/meson/meson.cross.template')
|
||||
cross_file = os.path.join(sysroot, 'usr/share/meson/%smeson.cross' % os.environ["TARGET_PREFIX"])
|
||||
native_template_file = os.path.join(sysroot, 'usr/share/meson/meson.native.template')
|
||||
native_file = os.path.join(sysroot, 'usr/share/meson/meson.native')
|
||||
|
||||
with open(template_file) as in_file:
|
||||
template = in_file.read()
|
||||
output = Template(template).substitute(Environ())
|
||||
with open(cross_file, "w") as out_file:
|
||||
out_file.write(output)
|
||||
|
||||
with open(native_template_file) as in_file:
|
||||
template = in_file.read()
|
||||
output = Template(template).substitute({'OECORE_NATIVE_SYSROOT': os.environ['OECORE_NATIVE_SYSROOT']})
|
||||
with open(native_file, "w") as out_file:
|
||||
out_file.write(output)
|
||||
31
sources/poky/meta/recipes-devtools/meson/meson/meson-wrapper
Executable file
31
sources/poky/meta/recipes-devtools/meson/meson/meson-wrapper
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z "$OECORE_NATIVE_SYSROOT" ]; then
|
||||
exec "meson.real" "$@"
|
||||
fi
|
||||
|
||||
if [ -z "$SSL_CERT_DIR" ]; then
|
||||
export SSL_CERT_DIR="$OECORE_NATIVE_SYSROOT/etc/ssl/certs/"
|
||||
fi
|
||||
|
||||
# If these are set to a cross-compile path, meson will get confused and try to
|
||||
# use them as native tools. Unset them to prevent this, as all the cross-compile
|
||||
# config is already in meson.cross.
|
||||
unset CC CXX CPP LD AR NM STRIP
|
||||
|
||||
case "$1" in
|
||||
setup|configure|dist|install|introspect|init|test|wrap|subprojects|rewrite|compile|devenv|env2mfile|help) MESON_CMD="$1" ;;
|
||||
*) echo meson-wrapper: Implicit setup command assumed; MESON_CMD=setup ;;
|
||||
esac
|
||||
|
||||
if [ "$MESON_CMD" = "setup" ]; then
|
||||
MESON_SETUP_OPTS=" \
|
||||
--cross-file="$OECORE_NATIVE_SYSROOT/usr/share/meson/${TARGET_PREFIX}meson.cross" \
|
||||
--native-file="$OECORE_NATIVE_SYSROOT/usr/share/meson/meson.native" \
|
||||
"
|
||||
echo meson-wrapper: Running meson with setup options: \"$MESON_SETUP_OPTS\"
|
||||
fi
|
||||
|
||||
exec "$OECORE_NATIVE_SYSROOT/usr/bin/meson.real" \
|
||||
"$@" \
|
||||
$MESON_SETUP_OPTS
|
||||
158
sources/poky/meta/recipes-devtools/meson/meson_1.3.1.bb
Normal file
158
sources/poky/meta/recipes-devtools/meson/meson_1.3.1.bb
Normal file
@@ -0,0 +1,158 @@
|
||||
HOMEPAGE = "http://mesonbuild.com"
|
||||
SUMMARY = "A high performance build system"
|
||||
DESCRIPTION = "Meson is a build system designed to increase programmer \
|
||||
productivity. It does this by providing a fast, simple and easy to use \
|
||||
interface for modern software development tools and practices."
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
GITHUB_BASE_URI = "https://github.com/mesonbuild/meson/releases/"
|
||||
SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/meson-${PV}.tar.gz \
|
||||
file://meson-setup.py \
|
||||
file://meson-wrapper \
|
||||
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
|
||||
file://0001-Make-CPU-family-warnings-fatal.patch \
|
||||
file://0002-Support-building-allarch-recipes-again.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "6020568bdede1643d4fb41e28215be38eff5d52da28ac7d125457c59e0032ad7"
|
||||
UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)$"
|
||||
|
||||
inherit python_setuptools_build_meta github-releases
|
||||
|
||||
RDEPENDS:${PN} = "ninja python3-modules python3-pkg-resources"
|
||||
|
||||
FILES:${PN} += "${datadir}/polkit-1"
|
||||
|
||||
do_install:append () {
|
||||
# As per the same issue in the python recipe itself:
|
||||
# Unfortunately the following pyc files are non-deterministc due to 'frozenset'
|
||||
# being written without strict ordering, even with PYTHONHASHSEED = 0
|
||||
# Upstream is discussing ways to solve the issue properly, until then let's
|
||||
# just not install the problematic files.
|
||||
# More info: http://benno.id.au/blog/2013/01/15/python-determinism
|
||||
rm -f ${D}${libdir}/python*/site-packages/mesonbuild/dependencies/__pycache__/mpi.cpython*
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
inherit meson-routines
|
||||
|
||||
# The cross file logic is similar but not identical to that in meson.bbclass,
|
||||
# since it's generating for an SDK rather than a cross-compile. Important
|
||||
# differences are:
|
||||
# - We can't set vars like CC, CXX, etc. yet because they will be filled in with
|
||||
# real paths by meson-setup.sh when the SDK is extracted.
|
||||
# - Some overrides aren't needed, since the SDK injects paths that take care of
|
||||
# them.
|
||||
def var_list2str(var, d):
|
||||
items = d.getVar(var).split()
|
||||
return items[0] if len(items) == 1 else ', '.join(repr(s) for s in items)
|
||||
|
||||
def generate_native_link_template(d):
|
||||
val = ['-L@{OECORE_NATIVE_SYSROOT}${libdir_native}',
|
||||
'-L@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',
|
||||
'-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${libdir_native}',
|
||||
'-Wl,-rpath-link,@{OECORE_NATIVE_SYSROOT}${base_libdir_native}',
|
||||
'-Wl,--allow-shlib-undefined'
|
||||
]
|
||||
build_arch = d.getVar('BUILD_ARCH')
|
||||
if 'x86_64' in build_arch:
|
||||
loader = 'ld-linux-x86-64.so.2'
|
||||
elif 'i686' in build_arch:
|
||||
loader = 'ld-linux.so.2'
|
||||
elif 'aarch64' in build_arch:
|
||||
loader = 'ld-linux-aarch64.so.1'
|
||||
elif 'ppc64le' in build_arch:
|
||||
loader = 'ld64.so.2'
|
||||
elif 'loongarch64' in build_arch:
|
||||
loader = 'ld-linux-loongarch-lp64d.so.1'
|
||||
elif 'riscv64' in build_arch:
|
||||
loader = 'ld-linux-riscv64-lp64d.so.1'
|
||||
|
||||
if loader:
|
||||
val += ['-Wl,--dynamic-linker=@{OECORE_NATIVE_SYSROOT}${base_libdir_native}/' + loader]
|
||||
|
||||
return repr(val)
|
||||
|
||||
install_templates() {
|
||||
install -d ${D}${datadir}/meson
|
||||
|
||||
cat >${D}${datadir}/meson/meson.native.template <<EOF
|
||||
[binaries]
|
||||
c = ${@meson_array('BUILD_CC', d)}
|
||||
cpp = ${@meson_array('BUILD_CXX', d)}
|
||||
ar = ${@meson_array('BUILD_AR', d)}
|
||||
nm = ${@meson_array('BUILD_NM', d)}
|
||||
strip = ${@meson_array('BUILD_STRIP', d)}
|
||||
readelf = ${@meson_array('BUILD_READELF', d)}
|
||||
pkg-config = 'pkg-config-native'
|
||||
|
||||
[built-in options]
|
||||
c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}]
|
||||
c_link_args = ${@generate_native_link_template(d)}
|
||||
cpp_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}]
|
||||
cpp_link_args = ${@generate_native_link_template(d)}
|
||||
[properties]
|
||||
sys_root = '@OECORE_NATIVE_SYSROOT'
|
||||
EOF
|
||||
|
||||
cat >${D}${datadir}/meson/meson.cross.template <<EOF
|
||||
[binaries]
|
||||
c = @CC
|
||||
cpp = @CXX
|
||||
ar = @AR
|
||||
nm = @NM
|
||||
strip = @STRIP
|
||||
pkg-config = 'pkg-config'
|
||||
|
||||
[built-in options]
|
||||
c_args = @CFLAGS
|
||||
c_link_args = @LDFLAGS
|
||||
cpp_args = @CPPFLAGS
|
||||
cpp_link_args = @LDFLAGS
|
||||
|
||||
[properties]
|
||||
needs_exe_wrapper = true
|
||||
sys_root = @OECORE_TARGET_SYSROOT
|
||||
|
||||
[host_machine]
|
||||
system = '$host_system'
|
||||
cpu_family = '$host_cpu_family'
|
||||
cpu = '$host_cpu'
|
||||
endian = '$host_endian'
|
||||
EOF
|
||||
}
|
||||
|
||||
do_install:append:class-nativesdk() {
|
||||
host_system=${SDK_OS}
|
||||
host_cpu_family=${@meson_cpu_family("SDK_ARCH", d)}
|
||||
host_cpu=${SDK_ARCH}
|
||||
host_endian=${@meson_endian("SDK", d)}
|
||||
install_templates
|
||||
|
||||
install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d
|
||||
install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/
|
||||
|
||||
# We need to wrap the real meson with a thin env setup wrapper.
|
||||
mv ${D}${bindir}/meson ${D}${bindir}/meson.real
|
||||
install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
|
||||
}
|
||||
|
||||
FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}"
|
||||
|
||||
do_install:append:class-native() {
|
||||
host_system=${HOST_OS}
|
||||
host_cpu_family=${@meson_cpu_family("HOST_ARCH", d)}
|
||||
host_cpu=${HOST_ARCH}
|
||||
host_endian=${@meson_endian("HOST", d)}
|
||||
install_templates
|
||||
|
||||
install -d ${D}${datadir}/post-relocate-setup.d
|
||||
install -m 0755 ${WORKDIR}/meson-setup.py ${D}${datadir}/post-relocate-setup.d/
|
||||
|
||||
# We need to wrap the real meson with a thin wrapper that substitues native/cross files
|
||||
# when running in a direct SDK environment.
|
||||
mv ${D}${bindir}/meson ${D}${bindir}/meson.real
|
||||
install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson
|
||||
}
|
||||
Reference in New Issue
Block a user