This update is required for latest versions of packages such as sphinx
to build with flit, otherwise you encounter errors like:
| File "/home/tgamblin/workspace/yocto/poky/build/tmp/work/core2-64-poky-linux/python3-sphinx/8.2.1/recipe-sysroot-native/usr/lib/python3.13/site-packages/flit_core/config.py", line 444, in _check_type
| raise ConfigError(
| "{} field should be {}, not {}".format(field_name, cls, type(d[field_name]))
| )
| flit_core.config.ConfigError: license field should be <class 'dict'>, not <class 'str'>
|
| ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
Changelog (https://github.com/pypa/flit/blob/main/doc/history.rst#version-311):
- Support for SPDX license expressions and multiple license files, as
detailed in PEP 639:
license = "BSD-3-Clause"
license-files = ["LICENSE"]
For now, only a single license identifier is allowed. More complex
expressions describing multiple licenses & expressions may be
supported in a future version.
- The metadata format in produced packages is now version 2.4, to
support the expanded license information.
(From OE-Core rev: 268f1c96c70334d6a882d00e895e1f0c72cfa36f)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In oe-core, function ldconfig_postinst_fragment use exist of
/sbin/ldconfig to decide if ldconfig is runned to generate the cache,
and function _run_ldconfig will run ldconfig to generate cache during
generate rootfs. ldconfig.service is actually not used since we have
generate ld.so.cache during do_rootfs, refer[1][2][3]. ldconfig
dependency is necessary when ldconfig not in DISTRO_FEATURES.
The reverted commit causes regression when ldconfig not in
DISTRO_FEATURES, before, without ldconfig in DISTRO_FEATURES,
ctypes.util.find_library(name) can find the lib if it is installed, now,
since ldconfig is not installed, ctypes.util.find_library(name) cannot
find the lib even if it is installed.
Here is one usecase(gtk+3 lib is installed, ctypes.util.find_library
used to find the lib):
import wx.lib.wxcairo as wxcairo
File "/usr/lib/python3.13/site-packages/wx/lib/wxcairo/{}init{}.py", line 59, in <module>
from .wx_cairocffi import _ContextFromDC, _FontFaceFromFont
File "/usr/lib/python3.13/site-packages/wx/lib/wxcairo/wx_cairocffi.py", line 189, in <module>
gdkLib = _findGDKLib()
File "/usr/lib/python3.13/site-packages/wx/lib/wxcairo/wx_cairocffi.py", line 181, in _findGDKLib
return _findHelper([libname], 'gdk',
"Unable to find the GDK shared library")
File "/usr/lib/python3.13/site-packages/wx/lib/wxcairo/wx_cairocffi.py", line 170, in _findHelper
raise RuntimeError(msg)
RuntimeError: Unable to find the GDK shared library
[1] https://git.openembedded.org/openembedded-core/tree/meta/classes-global/package.bbclass#n394
[2] https://git.openembedded.org/openembedded-core/tree/meta/lib/oe/rootfs.py#n316
[3] https://github.com/systemd/systemd-stable/blob/v255-stable/units/ldconfig.service
(From OE-Core rev: f98299ec2fa65804ceeff634fa50c8d154e1c153)
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We use editline by default and test_write_read_append also fails especially on musl
since this needs to be fixed upstream, extend the skip for test_write_read_append along
with other history manipulation tests being skipped.
(From OE-Core rev: fbafd942e6c78d1298fa64129149ff311b61fcf8)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
==========
- net_if_addrs() also returns the broadcast address instead of None.
- Python 2.7 is no longer supported. Latest version supporting Python 2.7 is
psutil 6.1.X. Install it with: pip2 install psutil==6.1.*.
- removed long deprecated Process.memory_info_ex() method. It was deprecated in
psutil 4.0.0, released 8 years ago. Substitute is Process.memory_full_info().
- Avoid segfault (a cPython bug) on Process.memory_maps() for processes that use
hundreds of GBs of memory.
- virtual_memory() now relies on host_statistics64 instead of host_statistics.
This is the same approach used by vm_stat CLI tool, and should grant more accurate results.
- Python 2.7 is no longer supported.
- removed long deprecated Process.memory_info_ex() method.
(From OE-Core rev: 78a89c7cb3165ba7bf1c31292389ea05944a91a3)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
==========
- Pass a local version label to the build backend interface
- Expose build-system dependencies via the poetry instance
- Add has_upper_bound method to VersionConstraint
- Improve performance of calculating intersections and unions of extra markers
- Improve performance of calculating intersections and unions of complex markers
- Improve performance of marker operations by simplifying python_version markers
- Improve performance by caching parsed requirements
- Improve error message when a referenced license file is missing
- Fix an issue where inclusive ordering with post releases was inconsistent with PEP 440
- Fix an issue where invalid URI tokens in PEP 508 requirement strings were silently discarded
- Fix an issue where wrong markers were calculated when removing parts covered by the project's python constraint
- Fix an issue where optional dependencies that are not part of an extra were included in the wheel metadata
- Fix an issue where the __pycache__ directory and *.pyc files were included in sdists and wheels
- Fix an issue where simplifying a python_version marker resulted in an invalid marker
(From OE-Core rev: 98cb445ff59d863e5962fb84ab3161193d7419ae)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- Fix an unsupported type annotation on Python 3.10 and earlier.
- Fix a regression where truststore would never be used while installing build dependencies.
(From OE-Core rev: b1760b2292331e473120cd94d0dfca0270b150c9)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Copyright year updated to 2025.
Fixed test suite to not rely upon ancient "future division" statement to
test the Template.future_imports feature.
(From OE-Core rev: 3c35df03ffb394022af16e8551b18d0015b3d657)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
============
- Improves sharing of some internal cache behavior.
- Optimize performance (improves speed by ~5%) and clarify the wording in
an error message.
- Fixes a bug since around version 6.124.4 where we might have generated
-0.0 for st.floats(min_value=0.0), which is unsound.
- Add 2024.12 to the list of recognized Array API versions in hypothesis.extra.array_api.
- Registration of experimental Alternative backends for Hypothesis is now done
via hypothesis.internal.conjecture.providers.AVAILABLE_PROVIDERS instead of
hypothesis.internal.conjecture.data.AVAILABLE_PROVIDERS.
- Refactor some internals for better type hinting.
(From OE-Core rev: d5400f3df7167d6b66a03e90fafff8a483e865ed)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bugfix:
===========
* Release 3.0.11 introduced some incorrect "noexcept" warnings.
* Conditional assignments to variables using the walrus operator could crash.
* Dict assignments to struct members with reserved C names could generate invalid C code.
* Fused ctuples with the same entry types but different sizes could fail to compile.
* In Py3, 'pyximport' was not searching 'sys.path' when looking for importable source files.
* Using '& 0' on integers produced with 'int.from_bytes()' could read invalid memory on Python 3.10.
* Modules could fail to compile in PyPy 3.11 due to missing CPython specific header files.
Patch by Matti Picus.
* Minor fix in C++ "partial_sum()" declaration.
(From OE-Core rev: 8ea41b6736f2a0d20816081dcb2363b626030385)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Copyright year updated to 2025.
(From OE-Core rev: 8d798c1df8f6194ae1d1640ec3156d14b3c9bb6e)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This recipe was overriding do_install_ptest which is provided by the
ptest-python-pytest class, so there was no tests or run-ptest installed.
Use an append override, and minimise the installed files: use a symlink
so that scancode-licensedb-index.json is found and install setup.cfg.
(From OE-Core rev: 164876d33af9edaac37a686726727d3bc3d10aa9)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=15740
python3-setuptools-scm was ignoring GIT_CEILING_DIRECTORIES which is set by poky,
and it was thus finding a wrong value of "toplevel" in ./src/setuptools_scm/_file_finders/git.py
The code is supposed to generate the list of files contained in python3-setuptools-scm, but it was
instead running "git archive" on whatever git repository was above the build directory, because the
tarball containing the sources of python3-setuptools-scm does not contain a .git directory.
This is barely noticeable when building as a subdirectory of poky which is only 48MB, but this was
causing serious slowdowns of python3-setuptools-scm:do_compile when building
inside a big git repository with files tracked using git-lfs (50 minutes in my use-case).
Reported upstream as https://github.com/pypa/setuptools-scm/issues/1103
(From OE-Core rev: 4ebe72477484cf68165b6f736ce10373e97d0e6d)
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
For now, python3-bcrypt's ptest package does not have run-ptest script.
The ptest-python-pytest.bbclass has do_install_ptest which will generate
run-ptest. So the do_install_ptest in pytho3n-bcrypt is not needed,
and it does not generate run-ptest.
Also remove the RDEPENDS setting because ptest-python-pytest.bbclass
has set it.
(From OE-Core rev: 9640c89ae0fcc72b53fdf59b01616ab2b62469ed)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Update copyright year, attribution bounds
The project has changed to using a pyproject.toml with hatchling as the
build backend, so change the recipe to match.
Changelog (https://github.com/justinmayer/typogrify/releases/tag/2.1.0):
- Add ability to select which filters are applied (#1 by davidlesieur & barrysteyn)
- jinja_filters: Update import for Jinja 3.1 (by jyelloz)
- Ensure all available tests are run (by mcepl)
- Package via pyproject instead of Setuptools (by justinmayer)
- Improve testing, linting, and CI tooling
- Drop support for Python < 3.9
(From OE-Core rev: 037f04b08c76caee6bda176e18c1e0b824f3bcf6)
Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Recipes are much more readable with whitespace around the assignment operators.
Fix various assignments in OE-Core to show this is definitely the preferred
formatting.
(From OE-Core rev: 30ea609d3357fb3de911f2f6a5e6856c151b976a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The string package in python currently contains common string
operations. This package is still in full use.
However, the old summary line of the package marked it as deprecated. As
this is not the case, this commit updates the summary line to better
represent this Python package.
The new summary line was taken from Python's documentation for the
package (https://docs.python.org/3.13/library/string.html).
In the past, the string library used to contain functionality that later
was moved to the str object in Python. The assumption is that during
this change, this library was marked as deprecated here. However, as
this package contains more functionality, which is still relevant and
used by python, the package itself should not be marked as deprecated.
This commit changes the description of the package, but does not change
the name of the package. The proper name for this package should be
"string" (instead of "stringold"). However, changing the package's name
will break compatibility with anyone using the string package in their
project. As this is a big change, it is decided not to be done yet.
The change in description, as well as this commit message, should be
enough to let users understand that the string package in python is
still valid, and should not be treated as deprecated.
(From OE-Core rev: 7602a9013d6c61959ec293ee29285c90257b5fbb)
Signed-off-by: Omri Sarig <omri.sarig13@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With gcc posioning fixed, this recipe showed errors, using an incorrect include
path looking at the host system. If pkgconfig is present, the correct include
paths are used. Therefore add the missing dependency.
(From OE-Core rev: 6cf0aaa3af276694709369b6007f629862e21559)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The tests package has many dependencies which don't BBCLASSEXTEND to native
well. Remove these as we're not interested in the tests in the native case anyway.
(From OE-Core rev: 2885ab7c5b58a8f8ff183360e239d2a36270c662)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a svml option, disabled by default
(it's avx-512 only, and uses randomly generated
intermediate .o file names, which makes the installed
library non-reproducible).
(From OE-Core rev: a3ce94f1fa79502d8b41de93f9a27d8af2cdc787)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: renamed file
Convert from setuptools to flit.
(From OE-Core rev: 33dfffac6f65145b6e8671a8988a62f1f0e41f72)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changelog:
===========
- Never add a vendored smmap directory to sys.path
- Revise and update the readme
- Set Dependabot submodule update cadence to weekly
- Add missing asserts in test_base.py
- Use contextlib.suppress instead of except: pass
- Add support for Python 3.13
- Potential Race Condition Fix - OS Rename & Chmod - PermissionError
- Bump gitdb/ext/smmap from 256c5a2 to 04dd210
- Bump actions/setup-python from 4 to 5
(From OE-Core rev: d899b50547e319cca8bea41301a4758e7635b6cf)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>