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:
2
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/README
Normal file
2
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/README
Normal file
@@ -0,0 +1,2 @@
|
||||
These test cases are used by buildtools-tarball, and are not used by the testsdk
|
||||
class.
|
||||
32
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
Normal file
32
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/build.py
Normal file
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import os, tempfile
|
||||
import time
|
||||
from oeqa.sdk.case import OESDKTestCase
|
||||
from oeqa.utils.subprocesstweak import errors_have_output
|
||||
errors_have_output()
|
||||
|
||||
class BuildTests(OESDKTestCase):
|
||||
"""
|
||||
Verify that bitbake can build virtual/libc inside the buildtools.
|
||||
"""
|
||||
def test_libc(self):
|
||||
with tempfile.TemporaryDirectory(prefix='bitbake-build-', dir=self.tc.sdk_dir) as testdir:
|
||||
corebase = self.td['COREBASE']
|
||||
|
||||
self._run('. %s/oe-init-build-env %s' % (corebase, testdir))
|
||||
with open(os.path.join(testdir, 'conf', 'local.conf'), 'ta') as conf:
|
||||
conf.write('\n')
|
||||
conf.write('DL_DIR = "%s"\n' % self.td['DL_DIR'])
|
||||
|
||||
try:
|
||||
self._run('. %s/oe-init-build-env %s && bitbake virtual/libc' % (corebase, testdir))
|
||||
finally:
|
||||
delay = 10
|
||||
while delay and (os.path.exists(testdir + "/bitbake.lock") or os.path.exists(testdir + "/cache/hashserv.db-wal")):
|
||||
time.sleep(1)
|
||||
delay = delay - 1
|
||||
31
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
Normal file
31
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/gcc.py
Normal file
@@ -0,0 +1,31 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import os.path
|
||||
from oeqa.sdk.case import OESDKTestCase
|
||||
|
||||
class GccTests(OESDKTestCase):
|
||||
def test_verify_specs(self):
|
||||
"""
|
||||
Verify that the compiler has been relocated successfully and isn't
|
||||
looking in the hard-coded prefix.
|
||||
"""
|
||||
# Canonicalise the SDK root
|
||||
sdk_base = os.path.realpath(self.tc.sdk_dir)
|
||||
# Canonicalise the location of GCC
|
||||
gcc_path = os.path.realpath(self._run("command -v gcc").strip())
|
||||
# Skip the test if the GCC didn't come from the buildtools, as it only
|
||||
# comes with buildtools-extended-tarball.
|
||||
if os.path.commonprefix((sdk_base, gcc_path)) != sdk_base:
|
||||
self.skipTest("Buildtools does not provide GCC")
|
||||
|
||||
# This is the prefix that GCC is build with, and should be replaced at
|
||||
# installation time.
|
||||
sdkpath = self.td.get("SDKPATH")
|
||||
self.assertTrue(sdkpath)
|
||||
|
||||
for line in self._run('gcc -dumpspecs').splitlines():
|
||||
self.assertNotIn(sdkpath, line)
|
||||
22
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
Normal file
22
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/https.py
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
from oeqa.sdk.case import OESDKTestCase
|
||||
from oeqa.utils.subprocesstweak import errors_have_output
|
||||
errors_have_output()
|
||||
|
||||
class HTTPTests(OESDKTestCase):
|
||||
"""
|
||||
Verify that HTTPS certificates are working correctly, as this depends on
|
||||
environment variables being set correctly.
|
||||
"""
|
||||
|
||||
def test_wget(self):
|
||||
self._run('env -i wget --debug --output-document /dev/null https://yoctoproject.org/connectivity.html')
|
||||
|
||||
def test_python(self):
|
||||
# urlopen() returns a file-like object on success and throws an exception otherwise
|
||||
self._run('python3 -c \'import urllib.request; urllib.request.urlopen("https://yoctoproject.org/connectivity.html")\'')
|
||||
24
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
Normal file
24
sources/poky/meta/lib/oeqa/sdk/buildtools-cases/sanity.py
Normal file
@@ -0,0 +1,24 @@
|
||||
#
|
||||
# Copyright OpenEmbedded Contributors
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import shutil
|
||||
import os.path
|
||||
from oeqa.sdk.case import OESDKTestCase
|
||||
|
||||
class SanityTests(OESDKTestCase):
|
||||
def test_tools(self):
|
||||
"""
|
||||
Test that wget and tar come from the buildtools, not the host. This
|
||||
verifies that the buildtools have installed correctly. We can't check
|
||||
for gcc as that is only installed by buildtools-extended.
|
||||
"""
|
||||
for command in ("tar", "wget"):
|
||||
# Canonicalise the SDK root
|
||||
sdk_base = os.path.realpath(self.tc.sdk_dir)
|
||||
# Canonicalise the location of this command
|
||||
tool_path = os.path.realpath(self._run("command -v %s" % command).strip())
|
||||
# Assert that the tool was found inside the SDK root
|
||||
self.assertEqual(os.path.commonprefix((sdk_base, tool_path)), sdk_base)
|
||||
Reference in New Issue
Block a user