Bruce Ashfield [Sat, 18 Mar 2023 15:32:02 +0000 (11:32 -0400)]
lttng-modules: fix for v6.3+ kernels
As part of updating linux-yocto-dev to v6.3, lttng-modules needs to
have four backported patches to adjust for the new kernel version.
These are safe for inclusion in the upcoming release, as they are
version protected and provide some future proofing for folks trying
to use newer kernels than our released 6.1.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Sat, 18 Mar 2023 15:32:01 +0000 (11:32 -0400)]
lttng-modules: update to v2.13.9
Bumping lttng-modules to version v2.13.9-4-g12f43cab, which comprises the following commits:
da1f5a26 Version 2.13.9 dc2d1294 fix: jbd2: use the correct print format (v5.4.229) d04c1211 fix: jbd2 upper bound for v5.10.163 4b8864fc fix: jbd2: use the correct print format (v5.10.163) 69d3aa79 fix: btrfs: move accessor helpers into accessors.h (v6.2)
We drop our previously backported commits as well, since they are part
of the release.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop patches:
0001-gbm-backend-fix-gbm-compile-without-dri.patch
0001-freedreno-pm4-Use-unsigned-instead-of-uint-to-fix-mu.patch
(backports)
0001-util-format-Check-for-NEON-before-using-it.patch
(upstream submission has stalled with unanswered concerns from upstream;
patch no longer applies; issue does not reproduce with 'raspberrypi0-wifi' MACHINE)
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This was needed back when we used upstream llvm-config which
would add bogus rpaths into the drivers; nowadays it is replaced
with a oe-specific wrapper.
The particular reason is that mesa-native relies on having rpaths
to work correctly (i.e. find other native libraries in the
same sysroot location).
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
llvm: allow building libllvm in native builds, subject to PACKAGECONFIG
Also, enable that, if opengl is in native DISTRO_FEATURES: this allows
mesa-native to build drivers that rely on libllvm, particularly llvmpipe,
which is a (sort of) accelerated software renderer that is the only
option on build hosts without dedicated or supported GPUs.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
mesa: enable a rich set of drivers for native builds
Without this, the only available driver would be swrast
(without llvmpipe) which is far too slow to be practical,
and so qemu wouldn't be able to perform accelerated graphics.
The one major dependency pulled in by this change is llvm-native
which takes just under three minutes on my machine. If this is
undesitable, opengl can be removed from DISTRO_FEATURES_NATIVE.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
mesa: allow mesa-native/nativesdk only subject to opengl/vulkan DISTRO_FEATURE
This prevents accidental builds of it when native/nativesdk opengl
is not actually enabled (which may cause undesirable lengthening
of dependency chains or build failures because those dependencies
don't enable options required for mesa).
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
runqemu: direct mesa to use its own drivers, rather than ones provided by host distro
With mesa 23.0, it is not longer possible to use the host drivers, as
mesa upstream has added strict checks for matching builds between
drivers and libraries that load them.
Add a check and a hint to runqemu so that there is a helpful error when
there is no native/nativesdk opengl/virgl support.
Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Martin Jansa [Mon, 13 Mar 2023 14:20:31 +0000 (15:20 +0100)]
oeqa: loader.py: show warning when skipping selected module and abort if all are skipped
* skipped modules were triggering an ERROR before:
poky $ oe-selftest -v -r eSDK.oeSDKExtSelfTest.test_install_libraries_headers imagefeatures.ImageFeatures.test_image_gen_debugfs -K -B /OE/build/poky/build-eSDK
2023-03-13 15:07:53,430 - oe-selftest - ERROR - Not found eSDK.oeSDKExtSelfTest.test_install_libraries_headers in loaded test cases
* but didn't show the reason why it wasn't loaded and more importantly -r
was ignored when all selected modules were silently skipped
* add a warning when skipping some module and abort if some modules were
selected, but all ended being skipped:
poky $ oe-selftest -v -r eSDK.oeSDKExtSelfTest.test_install_libraries_headers -K -B /OE/build/poky/build-eSDK
2023-03-13 15:11:51,028 - oe-selftest - WARNING - module 'eSDK.oeSDKExtSelfTest.test_install_libraries_headers' was skipped from selected modules, because it doesn't match with module name assumptions: package and module names do not contain upper case characters, whereas class names do
2023-03-13 15:11:51,028 - oe-selftest - ERROR - All selected modules were skipped, this would trigger selftest with all tests and -r ignored.
* I was hit by this in oe-selftest -r eSDK.oeSDKExtSelfTest.test_install_libraries_headers
which is skipped due to upper case characters in module name and selftest started to run
all tests (archiver.Archiver.test_archiver_allows_to_filter_on_recipe_name as first from 529)
Martin Jansa [Mon, 13 Mar 2023 12:15:41 +0000 (13:15 +0100)]
selftest: imagefeatures.py: respect IMAGE_LINK_NAME for debugfs and manifest as well
* these cases were correctly respecting IMAGE_LINK_NAME in most tests
* the only exception was relatively wide glob for manifest:
"test-empty-image-*.manifest"
* and even wider glob for -dbg:
"*-dbg.rootfs.tar.bz2"
* replace them with the exact filename we expect for given image
* be aware that gzip won't accept the symlink in IMAGE_LINK_NAME causing:
2023-03-13 08:58:23,845 - oe-selftest - INFO - ... FAIL
2023-03-13 08:58:23,845 - oe-selftest - INFO - Traceback (most recent call last):
File "/OE/build/poky/meta/lib/oeqa/selftest/cases/imagefeatures.py", line 124, in test_bmap
self.assertTrue(runCmd('gzip -t %s' % gzip_path))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/OE/build/poky/meta/lib/oeqa/utils/commands.py", line 214, in runCmd
raise AssertionError("Command '%s' returned non-zero exit status %d:\n%s" % (command, result.status, exc_output))
AssertionError: Command 'gzip -t /OE/build/poky/build/build-st-2023-03-12-todo-patch2/imagefeatures.ImageFeatures.test_bmap/build-st/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.rootfs.ext4.bmap.gz' returned non-zero exit status 1:
gzip: skipping: /OE/build/poky/build/build-st-2023-03-12-todo-patch2/imagefeatures.ImageFeatures.test_bmap/build-st/tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.rootfs.ext4.bmap.gz is a symbolic link
* and "*-dbg.rootfs.tar.bz2" doesn't work if IMAGE_NAME_SUFFIX
is changed to anything else than ".rootfs" or moved into
IMAGE_LINK_NAME (like I plan in future changes where this will
need to be updated again).
Luckily we can use the symlink which currently doesn't have
IMAGE_NAME_SUFFIX nor the DATETIME, so we don't need to search
for it with glob, e.g. currently:
* to make it easier for projects to avoid default -${MACHINE} suffix if
the ${MACHINE} named DEPLOY_DIR_IMAGE works better for them
* also use IMAGE_LINK_NAME in IMAGE_NAME to make it more clear
that IMAGE_NAME is the same as IMAGE_LINK_NAME but with version
suffix
* adding it as separate variable helps us to catch the cases
where we didn't respect ${IMAGE_LINK_NAME} variable and just used
the common default ${IMAGE_BASENAME}-${MACHINE}.
[YOCTO #12937]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Martin Jansa [Mon, 13 Mar 2023 12:15:35 +0000 (13:15 +0100)]
selftest: fitimage.py: respect INITRAMFS_IMAGE_NAME and KERNEL_FIT_LINK_NAME
* use these variables instead of assuming:
"fitImage-its-%s-%s-%s" % (image_type, machine, machine)
notice that these files have no extension and the -machine suffix
is duplicated (once from core-image-minimal and once from
kernel-fitimage.bbclass:kernel_do_deploy:append
through KERNEL_FIT_LINK_NAME which is MACHINE by default:
Martin Jansa [Mon, 13 Mar 2023 12:15:34 +0000 (13:15 +0100)]
image-artifact-names.bbclass: add INITRAMFS_IMAGE_NAME from kernel.bbclass
* move it from kernel.bbclass, because it needs to stay in sync with
IMAGE_LINK_NAME structure
* image-artifact-names.bbclass is also inheritted from kernel-artifact-names.bbclass
so every recipe which needs this variable probably already inherits one of these
* fixes kernel-fitimage.bbclass with modified IMAGE_LINK_NAME
[YOCTO #12937]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Martin Jansa [Mon, 13 Mar 2023 12:15:31 +0000 (13:15 +0100)]
selftest: wic: respect IMAGE_LINK_NAME also in test_rawcopy_plugin_qemu
* this one is more tricky, because the test_rawcopy_plugin.wks.in file
is used while building core-image-minimal-mtdutils, but the image filename
inside wks.in is from core-image-minimal, so we cannot just let bitbake
expand IMAGE_LINK_NAME, use separate variable set in the same config fragment
IMAGE_LINK_NAME_CORE_IMAGE_MINIMAL
[YOCTO #12937]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Martin Jansa [Mon, 13 Mar 2023 12:15:29 +0000 (13:15 +0100)]
selftest: devtool: set BB_HASHSERVE_UPSTREAM when setting SSTATE_MIRROR
* with my build/conf/local.conf:
SSTATE_DIR = "/OE/build/poky/build/sstate-cache"
these devtool tests will first set own SSTATE_DIR and the original one set as SSTATE_MIRROR:
* but that unfortunately leads to a warning from sanity.bbclass
about SSTATE_MIRRORS without matching BB_HASHSERVE, because
BB_HASHSERVE is set to "auto" by default
these tests failing with:
2023-03-11 11:55:39,610 - oe-selftest - INFO - ======================================================================
2023-03-11 11:55:39,610 - oe-selftest - INFO - FAIL: test_devtool_update_recipe_append_git (devtool.DevtoolUpdateTests.test_devtool_update_recipe_append_git)
2023-03-11 11:55:39,610 - oe-selftest - INFO - ----------------------------------------------------------------------
2023-03-11 11:55:39,611 - oe-selftest - INFO - Traceback (most recent call last):
File "/OE/build/poky/meta/lib/oeqa/selftest/cases/devtool.py", line 1118, in test_devtool_update_recipe_append_git
self.assertNotIn('WARNING:', result.output)
AssertionError: 'WARNING:' unexpectedly found in 'NOTE: Starting bitbake server...\nWARNING: You are using a local hash equivalence server but have configured an sstate mirror. This will likely mean no sstate will match from the mirror. You may wish to disable the hash equivalence use (BB_HASHSERVE), or use a hash equivalence server alongside the sstate mirror.\nLoading cache...done.\nLoaded 0 entries from dependency cache.\nParsing recipes...done.\nParsing of 947 .bb files complete (0 cached, 947 parsed). 1764 targets, 52 skipped, 0 masked, 0 errors.\n\nSummary: There was 1 WARNING message.\nINFO: Updating SRCREV in recipe mtd-utils-selftest_git.bb\nNOTE: Writing append file /tmp/devtoolqa1m2lh02v/layer/recipes-devtools/mtd/mtd-utils-selftest_git.bbappend'
----------------------------------------------------------------------
* just setting BB_HASHSERVE to empty doesn't work, because then we
would need to disable OEEquivHash as well as it fails with:
ERROR: OEEquivHash requires BB_HASHSERVE to be set
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Mark Hatle [Mon, 20 Mar 2023 21:40:44 +0000 (16:40 -0500)]
tcf-agent: Update to current version
While there has not been an official release in some time, the latest version
fixes a large number of bugs and adds support for Dwarf 5, among other
things. (Dwarf 5 is default in gcc 12 and newer.)
Short change log since the last version:
TCF Agent: Narrow down LoadLibrary search scope
TCF Agent: faster breakpoint planting
Bug 581214 - Expression evaluation fails for a data member that is defined in a structure, union or class that is of type DW_AT_data_bit_offset attribute (DWARF5)
TCF Agent: reduced memory footprint
TCF Agent: fixed build error on CygWin: CYGWIN_VERSION_CYGWIN_CONV undefined
TCF Agent: workaround for GCC compilation error: function may return address of local variable
Bug 581034 - "long long int" data type can't be recognized from dwarf5 debug info generated by llvm15
TCF Agent: Removal of unused variable causing clang-15 build error
TCF Agent: fixed: malformed HTTP request can crash the agent
TCF Agent: fixed assertion failure in the Breakpoints service
TCF Agent: GDB Remote Serial Protocol: fixed handling of process ID 0
Bug 580644 - steps into the function of shared library does not work on PPC
TCF Agent: add PowerPC 32-bit and big-endian builds in the Dockerfile
TCF Agent: check glibc version when calling pthread_setname_np()
Bug 580600 - -Wmisleading-indentation issue for gcc version less than 6.0
Bug 580489 - failed to handle .debug_rnglists section sometimes
Bug 580450 - failed to read the full compilation unit tag in dwarf 5 when customized sections
Bug 580414 - failed to handle debug sections for DWARF 5
Bug 580326 - Can not display the type of global variable defined in a sharedlib
Fixed text formatting in Makefile.inc
Bug 580279 - VERSION grep in agent/Makefile.inc need update for vxWorks
Bug 580089 - pid2id() failed to get a right id
TCF Agent: improved comments
TCF Agent: a few more asserts
TCF Agent: improved X86 disassembler
Bug 580002 - [tcf-dev] Speedup compute_reverse_lookup_indices
Bug 579989 - compile error by vs2008 on windows
TCF Agent: improved X86 disassembler
Bug 579947 - NULL pointer caused the tcf-server crashed when load ELF file that compiled by LLVM 14 with dwarf-5
TCF Agent: fixed Coverity warning
TCF Agent: fixed Coverity warning
TCF Agent: new function in HTTP server API: closed() call-back
Merge "TCF Agent: Fix potential memory/resource leaks"
TCF Agent: Fix potential memory/resource leaks
TCF Agent: Fix unsafe strcpy
TCF Agent: Respect certain ENABLE_* macros
Bug 579412 - incorrect or missing copyright information
TCF Agent: Lazy PC initialization
Bug 579362 - the process IDs should be pid_t instead of UINT32 in waitpid.c and waitpid.h files
Bug 579378 - update copyright year to 2022
Bug 579274 - unknown option -Wmisleading-indentation issue for gcc version less than 6.0
TCF Agent: ARM v8 stack crawl: fixed handling of ERET instruction
TCF Agent: fixed handling of line info file names when file contains a mix DWARF 5 and DWARF 3
TCF Tests: fixed incorrect error reports in DWARF reader test
TCF Agent: disabled bogus warnings misleading-indentation
TCF Agent: fixed handling of line info file names in DWARF 5
TCF Agent: Expressions: fixed handling of a static field of a struct stored in a register
TCF Agent: fixed error when building with c++-11
TCF Agent: DWARF 5: improved handling of location expressions
TCF Agent: DWARF reader: fixed regression - "FORM_FLAG expected" error
TCF Agent: DWARF reader: new object flag DOIF_inlined
TCF Tests: improved tests of var declarations
TCF Agent: fixed regression: memory corruption in the symbols proxy
TCF Agent: fixed issues with handling GCC-11 debug info
TCF Agent: fixed warning: ISO C90 forbids mixed declarations and code
TCF Agent: Fix stack frame cleanup on error
TCF Agent: Add missing parentheses
Bug 578201 - Sometimes variables show as "N/A - Cannot read target memory. Input/output error"
Bug 577936 - dprintf not work as expected
TCF Agent: lazy initialization in rand32()
TCF Agent: new API function: rand32()
TCF Agent: fixed possible buffer overflow when calling fscanf()
Bug 577174 - Sometimes variables show as "N/A - Value of register is unknown in the selected frame"
Bug 577064 - Union type variables don’t show correctly if based on a register
TCF Agent: fixed: tmp_vprintf and loc_vprintf can segfault on Linux
Bug 577001 - DW_AT_high_pc with DW_FORM_udata form not handled
TCF Agent: fixed pthread_cond_timedwait() on Windows
TCF Agent: Expressions service: improved error message
Signed-off-by: Mark Hatle <mark.hatle@amd.com> Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 21 Mar 2023 12:37:35 +0000 (12:37 +0000)]
python3-cryptography: use python3-unittest-automake-output
Instead of using sed to reformat the output use this new module.
This shows that the previous sed expression wasn't sufficient because it
didn't handle tests throwing an error, and now the bench/ tests fail
because we don't have pytest-benchmark. These tests are more of a
benchmark than a unit test, so just skip them.
Also show a skip message instead of nothing if the tests were skipped
due to a lack of memory.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Tue, 21 Mar 2023 12:37:32 +0000 (12:37 +0000)]
python3-unittest-automake-output: add new recipe for ptest integration
This package contains modules for both unittest and pytest that alter
the output to look like automake's 'make check' output, for better
integration with ptest.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
0.40.0 (2023-03-14)
* Added a wheel tags command to modify tags on an existing wheel (PR by
Henry Schreiner)
* Updated vendored packaging to 23.0
* wheel unpack now preserves the executable attribute of extracted files
* Fixed spaces in platform names not being converted to underscores (PR
by David Tucker)
* Fixed RECORD files in generated wheels missing the regular file attribute
* Fixed DeprecationWarning about the use of the deprecated pkg_resources
API (PR by Thomas Grainger)
* Wheel now uses flit-core as a build backend (PR by Henry Schreiner)
License-Update: use LICENSE.txt for LIC_FILES_CHKSUM instead of PKG-INFO
Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Khem Raj [Tue, 14 Mar 2023 18:00:04 +0000 (11:00 -0700)]
systemtap: Disable dangling-pointer warning
This is to fix build in RISCV64
| In constructor 'symresolution_info::symresolution_info(systemtap_session&, bool)',
| inlined from 'int semantic_pass_symbols(systemtap_session&)' at ../git/elaborate.cxx:1884:28:
| ../git/elaborate.cxx:2601:21: error: storing the address of local variable 'sym' in '*s.systemtap_session::symbol_resolver' [-Werror=dangling-pointer=]
| 2601 | s.symbol_resolver = this; // save resolver for early PR25841 function resolution
| | ~~~~~~~~~~~~~~~~~~^~~~~~
| ../git/elaborate.cxx: In function 'int semantic_pass_symbols(systemtap_session&)':
| ../git/elaborate.cxx:1884:22: note: 'sym' declared here
| 1884 | symresolution_info sym (s);
| | ^~~
| ../git/elaborate.cxx:1884:22: note: 's' declared here
Piotr Łobacz [Tue, 14 Mar 2023 14:17:50 +0000 (15:17 +0100)]
systemd: fix wrong nobody-group assignment
The generated /etc/group file had a wrong group name for nobody-group
which was nobody with same id as nogroup groupd. This was leading to
duplcate groups, with same ids and different names.
More can be read on this link:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=11766
Signed-off-by: Piotr Łobacz <p.lobacz@welotec.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 16 Mar 2023 22:51:10 +0000 (22:51 +0000)]
resulttool: Improve overlapping ptest result reporting
With the move to a ptest per image, the multiple ptest log scenario
is much more likely. Tweak the handling to only warn if there are
overlapping files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The reverted patch was forcing systemd to do preset-all at boot time (first boot)
in a function that simuilates 'preset-all' at rootfs time. This is not right.
To force a first boot, just do not run this function, as said in the comment:
"""
# If we populate the systemd links we also create /etc/machine-id, which
# allows systemd to boot with the filesystem read-only before generating
# a real value and then committing it back.
#
# For the stateless configuration, where /etc is generated at runtime
# (for example on a tmpfs), this script shouldn't run at all and we
# allow systemd to completely populate /etc.
"""
For example, removing 'systemd_preset_all;' from IMAGE_PREPROCESS_COMMAND in some
distro conf file will achieve the same effect of the original patch.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 16 Mar 2023 08:53:25 +0000 (08:53 +0000)]
openssl: Fix reproducibility issue
Fix an issue introduced in the new openssl version where an assembler file
isn't generated in a reproducible way by seeding the perl random number
generator consistently. It has no crypto impact, it is just used to
avoid function name clashes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Randy MacLeod [Wed, 15 Mar 2023 04:48:00 +0000 (00:48 -0400)]
openssl: update from 3.0.8 to 3.1.0
>From the NEWS.md file:
### Major changes between OpenSSL 3.0 and OpenSSL 3.1.0 [14 Mar 2023]
* SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0.
* Performance enhancements and new platform support including new
assembler code algorithm implementations.
* Deprecated LHASH statistics functions.
* FIPS 140-3 compliance changes.
Drop the upstreamed afalg.patch: c425e365f4 Configure: don't try to be clever when configuring afalgeng
Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:13:34 +0000 (19:13 +0800)]
python3-urllib3: upgrade 1.26.14 -> 1.26.15
Changelog:
==========
* Fix socket timeout value when "HTTPConnection" is reused ('#2645 <https://github.com/urllib3/urllib3/issues/2645>'__)
* Remove "!" character from the unreserved characters in IPv6 Zone ID parsing
('#2899 <https://github.com/urllib3/urllib3/issues/2899>'__)
* Fix IDNA handling of '\x80' byte ('#2901 <https://github.com/urllib3/urllib3/issues/2901>'__)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:13:33 +0000 (19:13 +0800)]
python3-testtools: upgrade 2.5.0 -> 2.6.0
Improvements
------------
* Add support for Python 3.10 and 3.11.
* Drop support for Python 3.5 (EOL).
* Distutils integration is deprecated and will be removed in the next major
version.
* Use "CompoundFixture" from "fixtures>=2.0" rather than rolling our
own.
* Provide a "testtools[twisted]" extra documenting dependencies needed for
"testtools.twistedsupport".
* Make "TestCase" hashable.
* Prevent "AttributeError" in "TestCase.__eq__" for objects lacking a
"__dict__" attribute.
* Replace deprecated "cgi" module usage with "email".
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:23 +0000 (19:11 +0800)]
python3-scons: upgrade 4.4.0 -> 4.5.1
Changelog:
==========
- Fix a problem in 4.5.0 where using something like the following code
will cause a Clone()'d environment to share the CPPDEFINES with the
original Environment() which was cloned. Causing leakage of changes
to CPPDEFINES when they should be completely independent after the Clone.
env=Environment(CPPDEFINES=['a'])
env.Append(CPPDEFINES=['b']) (or AppendUnique,Prepend,PrependUnique)
env1=env.Clone()
env1.Append(CPPDEFINES=['c']) (or any other modification, but not overwriting CPPDEFINES
Now env['CPPDEFINES'] will contain 'c' when it should not.
- Do not initialize DefaultEnvironment when calling EnsureSConsVersion(),
EnsurePythonVersion(), Exit(), GetLaunchDir() and SConscriptChdir().
- Remove unused private method SConsEnvironment._exceeds_version().
- Added ValidateOptions() which will check that all command line options are in either
those specified by SCons itself, or by AddOption() in SConstruct/SConscript. It should
not be called until all AddOption() calls are completed. Resolves Issue #4187
- Refactored SCons/Taskmaster into a package. Moved SCons/Jobs.py into that package.
NOTE: If you hook into SCons.Jobs, you'll have to change that to use SCons.Taskmaster.Jobs
- Changed the Taskmaster trace logic to use python's logging module. The output formatting
should remain (mostly) the same. Minor update to unittest for this to adjust for 1 less newline.
- Migrated logging logic for --taskmastertrace to use Python's logging module. Added logging
to NewParallel Job class (Andrew Morrow's new parallel job implementation)
- Ninja: Fix execution environment sanitation for launching ninja. Previously if you set an
execution environment variable set to a python list it would crash. Now it
will create a string joining the list with os.pathsep
- Move execution environment sanitation from Action._subproc() to
SCons.Util.sanitize_shell_env(ENV)
- Moved rpm and debian directories under packaging
- Added logic to help packagers enable reproducible builds into packaging/etc/. Please
read packaging/etc/README.txt if you are interested.
- Added --experimental=tm_v2, which enables Andrew Morrow's new NewParallel Job implementation.
This should scale much better for highly parallel builds. You can also enable this via SetOption().
- Fixed command line argument --diskcheck: previously a value of 'none' was ignored.
SetOption('diskcheck','none') is unaffected, as it did not have the problem.
- Added overrides argument to SCons.Subst.scons_subst(), subst_list(), subst(), and Action's process(),
strfunction(). This allows passing a dictionary of envvars to override when evaluating subst()'d strings/lists
- Fixed Issue #4275 - when outputting compilation db and TEMPFILE was in use, the compilation db would have
command lines using the generated tempfile for long command lines, instead of the full command line for
the compilation step for the source/target pair.
- Renamed the qt tools to qt3 since the logic in that tool is only for QT version 3. Renamed all env vars
which affect qt3 from QT_ to QT3_. If you are still using SCons to build QT 3 code, you'll need to update
your SConscripts. Note that using 'qt' tool has been deprecated for some time.
- Added JAVAPROCESSORPATH construction variable which populates -processorpath.
- Updated JavaScanner to scan JAVAPROCESSORPATH.
- Added FILE_ENCODING, to allow explicitly setting the text encoding for files
written by the Textfile() and Substfile() builders. If not specified, Textfile() and Substfile() builders
will write files as UTF-8. Fixed Issue #4302.
- Add newline to end of compilation db (compile_commands.json).
- Added error message to handle the case when SCons attempts to retrieve all the targets
for a specified builder from the CacheDir, fails to do so, and then runs into an error
when deleting the files which were retrieved. Previously if this happened there was no
errors or warnings.
- Fix issue #2757, where Configure checks that perform a check which reads a modified source
(including program, source or header file(s)) would incorrectly mark that file "up to date" so the
actual build would not see the file as modified. Leading to incorrect incremental builds.
Now configure checks now clear node info for non conftest nodes, so they will be re-evaluated for
the real taskmaster run when the build commences.
- Avoid returning UniqueList for `children` and other `Executor` APIs. This type
iterates more slowly than the builtin types. Also simplify uniquer_hashables to
use an faster implementation under the assumption of ordered dictionaries.
- Fixed runtest.py failure on Windows caused by excessive escaping of the path to python.exe.
- Run LaTeX after biber/bibtex only if necessary
- Added -fsanitize support to ParseFlags(). This will propagate to CCFLAGS and LINKFLAGS.
- A list argument as the source to the Copy() action function is now
correctly handled by converting elements to string. Copy errors out
if asked to copy a list to an existing non-directory destination.
Both the implementation and the strfunction which prints the progress
message were adjusted. Fixes #3009.
- doc: EnsureSConsVersion, EnsurePythonVersion, Exit, GetLaunchDir and
SConscriptChdir are now listed as Global functions only; the
Environment versions still work but are not documented.
- The Java scanner processing of JAVACLASSPATH for dependencies was
changed to split on os.pathsep instead of space, to match usage of
passing a path string like "xxx:yyy:zzz". This is not portable -
passing a POSIX-style path string (with ':') won't work on Windows
(';') - which is now documented with a hint to use a list instead
to be portable. Splitting on space broke paths with embedded spaces.
Fixes #4243.
- Cleanup: make sure BoolVariable usage in tests and examples uses Python
boolean values instead of 0/1.
- Stop telling people to run "python setup.py install" in the User Guide.
Adds new content on using virtualenvs to be able to have multiple
different SCons versions available on one system.
- Added the "DefaultEnvironment(tools=[])" stanza to a number of tests
that are known to be particularly slow. It's still just a tiny
speedup, but the Windows CI had been occasionally timing out,
so maybe this helps a bit.
- Remove an extra existence check in one ninja test that caused it
to be skipped on some otherwise-valid Windows installations.
- test framework tests now pass on Linux and Windows (the latter can
still run into problems on some configurations), and automated
tests are now run on changes in this area so future problems can
be spotted.
- The single-file Util module was split into a package with a few
functional areas getting their own files - Util.py had grown to
over 2100 lines.
- Add a zipapp package of scons-local: can use SCons from a local
file which does not need unpacking.
- Additional explanations for MSVSProject and MSVSSolution builders.
- Fix a problem (present in 4.4.0 only) where a Java inner class could
not be cached because the emitted filename contained a '$' and when
looked up through a node ended up generating a Python SyntaxError
because it was passed through scons_subst().
- Have the gfortran tool do a better job of honoring user preferences
for the dialect tools (F77, F90, F03 and F09, as well as the shared-library
equivalents SHF77, SHF90, SHF03, SHF09). Previously these were
unconditionally overwritten to 'gfortran'; the change should be more
in line with expectations of how these variables should work.
Also cleaned a few Fortran tests - test behavior does not change.
- Updated MSVC documentation - adds "version added" annotations on recently
added construction variables and provides a version-mapping table.
- Add Python 3.12 support, and indicate 3.11/3.12 support in package.
3.12 is in alpha for this SCons release, the bytecode sequences
embedded in SCons/ActionTests.py may need to change later, but
based on what is known now, 3.12 itself should work with this release.
- Add "append" keyword argument to Configure context's CheckLib and
CheckLibWithHeader to control whether to append or prepend (issue #2767)
Also added "unique" keyword, to control whether a library is added
or not if it is already in the $LIBS construction var in the
configure context. (issue #2768).
- Completely refactored the CPPDEFINES logic in Append/AppendUnique/Prepend/PrependUnique
This change fixes the following GH Issues:
- GH Issue #3876 - Append() and AppendUnique() will handle CPPDEFINES the same
- GH Issue #4254 - Make handling tuples in CPPDEFINES consistent.
- We no longer sort the keys added to CPPDEFINES by their dictionary keys.
We take advantage that their order is now stable based on insertion order
in Python 3.5+
- Added/modifed unit and system tests to verify these changes.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:22 +0000 (19:11 +0800)]
python3-pytest: upgrade 7.2.1 -> 7.2.2
Bug Fixes
=========
#10533: Fixed pytest.approx() handling of dictionaries containing one or more values of 0.0.
#10592: Fixed crash if --cache-show and --help are passed at the same time.
#10597: Fixed bug where a fixture method named teardown would be called as part of nose teardown stage.
#10626: Fixed crash if --fixtures and --help are passed at the same time.
#10660: Fixed pytest.raises() to return a ‘ContextManager’ so that type-checkers could narrow pytest.raises(...) if ... else nullcontext() down to ‘ContextManager’ rather than ‘object’.
Improved Documentation
======================
#10690: Added CI and BUILD_NUMBER environment variables to the documentation.
#10721: Fixed entry-points declaration in the documentation example using Hatch.
#10753: Changed wording of the module level skip to be very explicit about not collecting tests and not executing the rest of the module.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:20 +0000 (19:11 +0800)]
python3-setuptools: upgrade 67.4.0 -> 67.6.0
Changelog:
=========
#3804: Added caching for supported wheel tags.
#3846: Added pruning heuristics to PackageFinder based on exclude.
#3843: Although pkg_resources has been discouraged for use, some projects still
consider pkg_resources viable for usage. This change makes it clear that
pkg_resources should not be used, emitting a DeprecationWarning when imported.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:19 +0000 (19:11 +0800)]
grep: upgrade 3.8 -> 3.9
Bug fixes
==========
With -P, some non-ASCII UTF8 characters were not recognized as
word-constituent due to our omission of the PCRE2_UCP flag. E.g.,
given f(){ echo Perú|LC_ALL=en_US.UTF-8 grep -Po "$1"; } and
this command, echo $(f 'r\w'):$(f '.\b'), before it would print ":r".
After the fix, it prints the correct results: "rú:ú".
When given multiple patterns the last of which has a back-reference,
grep no longer sometimes mistakenly matches lines in some cases.
[Bug#36148#13 introduced in grep 3.4]
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 13 Mar 2023 21:20:22 +0000 (21:20 +0000)]
tzcode-native: fix build with gcc-13 on host
* passing -std=c2x to avoid build failure with gcc-13 on host
works as well, but the resulting zic then segfaults when
used in tzdata, use a fix from upstream instead
* reported upstream in https://mm.icann.org/pipermail/tz/2023-March/032690.html
Martin Jansa [Mon, 13 Mar 2023 12:15:28 +0000 (13:15 +0100)]
git-submodule-test: disable upstream version check
* this is one of the failures from distrodata.Distrodata.test_checkpkg:
2023-03-11 14:26:21,482 - oe-selftest - INFO - ======================================================================
2023-03-11 14:26:21,482 - oe-selftest - INFO - FAIL: test_checkpkg (distrodata.Distrodata.test_checkpkg)
2023-03-11 14:26:21,482 - oe-selftest - INFO - ----------------------------------------------------------------------
2023-03-11 14:26:21,482 - oe-selftest - INFO - Traceback (most recent call last):
File "/OE/build/poky/meta/lib/oeqa/selftest/cases/distrodata.py", line 40, in test_checkpkg
self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)
AssertionError: False is not true :
The following packages failed upstream version checks. Please fix them using UPSTREAM_CHECK_URI/UPSTREAM_CHECK_REGEX
(when using tarballs) or UPSTREAM_CHECK_GITTAGREGEX (when using git). If an upstream version check cannot be performed
(for example, if upstream does not use git tags), you can set UPSTREAM_VERSION_UNKNOWN to '1' in the recipe to acknowledge
that the check cannot be performed.
git-submodule-test
binutils
Stdout:
Loading cache...done.
Loaded 0 entries from dependency cache.
Parsing recipes...done.
Parsing of 947 .bb files complete (0 cached, 947 parsed). 1764 targets, 46 skipped, 0 masked, 0 errors.
----------------------------------------------------------------------
2023-03-11 14:26:21,482 - oe-selftest - INFO - Ran 1 test in 193.764s
2023-03-11 14:26:21,482 - oe-selftest - INFO - FAILED
2023-03-11 14:26:21,483 - oe-selftest - INFO - (failures=1)
2023-03-11 14:26:26,258 - oe-selftest - INFO - RESULTS:
martin@jama /OE/build/poky/build $ devtool check-upgrade-status git-submodule-test
NOTE: Could not list remote: Fetcher failure for URL: 'gitsm://git.yoctoproject.org/git-submodule-test;branch=master'.
The command git -c gc.autoDetach=false -c core.pager=cat ls-remote git://git.yoctoproject.org/git-submodule-test refs/tags/* gave empty output unexpectedly
INFO: git-submodule-test 1.0 UNKNOWN_BROKEN None
* the binutils failure is strange, when I've added some debug output
to see why it's listed the issue disappeared, maybe some temporary
network glitch or something
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 13 Mar 2023 16:48:09 +0000 (16:48 +0000)]
vim: set modified-by to the recipe MAINTAINER
Clause II.3 of the Vim license states that any distribution of Vim that
has been extended or modified must _at least_ indicate in the :version
output that this is the case.
Handily, Vim has a --with-modified-by argument to add a line in that
text, so use MAINTAINER. This is the distribution maintainer contact,
by default it is OE-Core Developers
<openembedded-core@lists.openembedded.org>.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 13 Mar 2023 19:37:59 +0000 (20:37 +0100)]
file: add few more PACKAGECONFIGs to avoid autodetected deps from host
* there are few more autodetected compression libs
--disable-zlib disable zlib compression support [default=auto]
--disable-bzlib disable bz2lib compression support [default=auto]
--disable-xzlib disable liblzma/xz compression support
--disable-zstdlib disable zstdlib compression support [default=auto]
--disable-lzlib disable liblz (lzip) compression support
and lzlib was detected on my gentoo (even when it doesn't say that default
is auto detection)
I've noticed this, because I've reused sstate-cache from my gentoo build
in docker container with ubuntu-23.04 and esdk.oeSDKExtSelfTest.test_install_libraries_headers
test was now failing with:
Exception: subprocess.CalledProcessError: Command '/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c --update -q /OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/oe-sdk-repo' returned non-zero exit status 127.
Subprocess output:
/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c: error while loading shared libraries: liblz.so.1: cannot open shared object file: No such file or directory
and liblz.so.1 ended in createrepo_c.real because of libmagic.so from file-native-replacement.
* use PACKAGECONFIG for seccomp as well and keep it disabled as it was
explicitly disabled before (${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}
can be added to default PACKAGECONFIG later if someone finds it useful)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Marko [Sun, 12 Mar 2023 08:45:43 +0000 (09:45 +0100)]
go: use go as CVE product for all golang recipe veriants
All golang vulnerabilities are reported under product 'go'.
By default there is no vulnerability reported for images with
golang components because none of used golang packages
have correct CVE product set:
* go-binary-native
* go-runtime
* go-cross-*
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clément Péron [Fri, 10 Mar 2023 18:54:22 +0000 (19:54 +0100)]
qemu: split out qemu-guest-agent, add startup scripts
Split out the QEMU guest agent into a separate package. The agent is
intended to be installed within a QEMU VM guest where a user is likely
to not want to have the rest of the QEMU installation within it.
Additionally, an initscript, udev rules file, and systemd unit file are
added to the package so that the guest agent can start automatically;
the former two come from Debian's packaging for qemu-guest-agent.
Signed-off-by: Brenda Streiff <brenda.streiff@ni.com> Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Romuald Jeanne [Fri, 10 Mar 2023 10:36:21 +0000 (11:36 +0100)]
image_types: fix multiubi var init
Make sure to expand all MKUBIFS_ARGS_<label> and UBINIZE_ARGS_<label> vars
in 'do_image_multiubi' task to use them to init the local 'mkubifs_args'
and 'ubinize_args' vars.
Khem Raj [Fri, 10 Mar 2023 10:07:03 +0000 (02:07 -0800)]
systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
Some packages like lirc places its unit files into $systemd_user_unitdir
and also uses them in SYSTEMD_SERVICE list in recipe. This fails in
do_package
ERROR: Didn't find service unit 'lircmd.service', specified in SYSTEMD_SERVICE:lirc.
here lircmd.service is installed in /usr/lib/systemd/system/lircmd.service
Khem Raj [Sun, 12 Mar 2023 07:24:22 +0000 (23:24 -0800)]
systemd: Fix musl fix patch
Current patch with fail when stdint.h is in include path before this
typedef which can also happen with re-includes. Therefore shunt that
by defining __DEFINED_wchar_t which helps musl builds of systemd-boot
recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 9 Mar 2023 22:00:08 +0000 (22:00 +0000)]
core-image-ptest: Switch to BBCLASSEXTEND parallel execution
Replace the two images where tests are run serially with an image
per ptest in the form core-image-ptest-XXX using class extensions.
The original two images are then replaced with dependencies on these
images. This allows parallel execution of the tests.
The downside to this approach is the parsing time of an image generating
this number of class extensions is slow but making it easier to execute
and collect test data should outweigh that.
A useful advantage is that the dependencies of each ptest package are
checked/tested indvidually.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should drop this for some of the reasons in those threads,
it doesn't seem to be doing anything too helpful and isn't what most
applications expect.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 12 Mar 2023 11:35:24 +0000 (11:35 +0000)]
oeqa/selftest/sstate: Split classes to allow more parallelism
By splitting the single class into multiple classes, it allows more parallelism
in the execution. These tests don't have interdependencies that benefit
from sstate reuse or anything like that so this makes sense to improve overall
test execution time if/where possible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 13 Mar 2023 11:44:09 +0000 (11:44 +0000)]
selftest/recipetool: Stop test corrupting tinfoil class
Running recipetool.RecipetoolTests.test_recipetool_handle_license_vars
followed by wic.Wic2.test_biosplusefi_plugin_qemu would show a failure of:
File "/media/build/poky/meta/lib/oeqa/utils/commands.py", line 351, in runqemu
qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype)
File "/media/build/poky/meta/lib/oeqa/targetcontrol.py", line 116, in __init__
use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
File "/media/build/poky/meta/lib/oe/types.py", line 182, in qemu_use_kvm
if kvm and boolean(kvm):
File "/media/build/poky/meta/lib/oe/types.py", line 128, in boolean
raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value '/media/build/poky/meta/files/common-licenses'
which made no sense until you realise the recipetool test is corrupting
the tinfoil class. Work on a copy instead to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>