The kernel cpupower Makefile installs cpupower.service into a hardcoded
/usr/lib/systemd/system, while the systemd package ships
${systemd_unitdir}. On distros without usrmerge (e.g. poky) these
differ, and on sysvinit distros the unit is not wanted at all, causing
installed-vs-shipped QA errors.
Pass unitdir=${systemd_system_unitdir} so the unit lands where OE
expects, and set SYSTEMD=false when systemd is not in DISTRO_FEATURES
so the unit is not installed.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
cpufrequtils has not been maintained for years and has been
superseded by cpupower, which lives in the kernel tree under
tools/power/cpupower and is already packaged in meta-oe. cpupower
covers the same functionality (cpufreq-info -> cpupower frequency-info,
cpufreq-set -> cpupower frequency-set) and is built from the running
kernel's sources, so it stays in sync with the kernel's cpufreq
interfaces.
Switch packagegroup-basic to cpupower, and drop cpufrequtils from
packagegroup-meta-oe-bsp, since packagegroup-meta-oe already pulls in
cpupower. Users should install cpupower instead.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
ld.hugetlbfs runs $LD as the real linker and adds the GNU ld only
-Ttext-segment option for --hugetlbfs-align links on arm/aarch64, i386 and
ppc64. Now that LD is ld.lld this fails with
ld.lld: error: -Ttext-segment is not supported. Use --image-base if you intend to set the base address
Teach ld.hugetlbfs to use --image-base when the linker is LLD.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.28.0:
Fixes:
- Ensure that the default option name is not changed by setting a
metavar.
Docs:
- Enable Ruff formatting for Python in Markdown.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.10.5:
- Take the context lock in wrap_bio() as wrap_socket() does
- Add validation for server_hostname and check_hostname for
wrap_socket
- Add explicit support for Python 3.15
- Mitigate thread safety issues during handshakes
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.4.0:
Added:
- <textPath> is now supported: text follows the <path> named by its
href or xlink:href, with startOffset (a length or a percentage)
and text-anchor, and styled <tspan> children. ReportLab can't
draw text along a path, so each glyph is placed and rotated
individually, at the point of the path under its midpoint; glyphs
beyond the end of the path are dropped. Only paths of the same
document can be followed, and side, method, spacing and per-glyph
dx/dy/rotate are not supported.
- The plain opacity property is now supported, as a presentation
attribute, in style attributes and in <style> rules, including
percentages. Opacity composes down the tree, so a shape at 0.5
inside a group at 0.5 is drawn at 0.25. It is applied per shape,
so overlapping shapes inside a translucent group show through
each other, and images are not affected.
- The CSS font shorthand is now expanded into font-style,
font-weight, font-size and font-family, in style attributes and
in <style> rules. Invalid shorthands are ignored.
Removed:
- Dropped support for Python 3.9 (and PyPy 3.9). pip 26.2.2, the
new minimum safe version, requires Python 3.10 or newer.
requires-python is now >=3.10, the 3.9 classifier is gone, and CI
no longer tests 3.9 or PyPy 3.9.
Tooling and housekeeping:
- CI now fails if a locked or installed dependency, or the uv
binary, is below its minimum safe version
(scripts/check_min_versions.py).
- CI runs the lowest supported Python, 3.10, next to 3.13, 3.15 and
PyPy 3.11. Python 3.15 is declared supported (classifier and
tox).
- make install installs the dev dependency group (it used the dev
extra, which doesn't exist), make uninstall no longer passes an
option that uv pip doesn't know, and make test-dist works:
scripts/test-dist.sh builds the wheel and tests it in a clean
virtual environment. New: make check-versions.
- tests/test_basic.py is split into modules by topic
(test_paths.py, test_text.py, test_text_path.py, test_use.py,
test_gradients.py, ...). The tests that download files carry the
pytest marker network, so pytest -m "not network" (or make
test-fast) skips them.
- tests/test_public_api.py records the names, signatures and class
members of svglib, svglib.svglib, svglib.utils and svglib.fonts
in tests/public_api.json, so that restructuring the modules can't
silently change what user code can import.
- The READMEs and notes in demos/ and tests/ are Markdown now, and
the testing instructions describe the current uv and Makefile
based workflow.
Fixed:
- A style attribute or <style> rule whose value contains a colon or
a semicolon, such as cursor: url(http://example.com/c.cur), auto
or a data URL, no longer makes svg2rlg() fail with ValueError or
truncates the value. Declarations are now parsed with tinycss2,
malformed ones are skipped, and !important and comments are no
longer part of the value.
- baseline-shift on text is now also read from style attributes and
<style> rules, and a percentage is taken relative to the font
size instead of being used as a length in user units. A value on
an enclosing <g> does not affect the text, as the property is not
inherited.
- stroke-dasharray values that SVG calls invalid (any negative
length, or a list that sums to zero) no longer produce an invalid
PDF dash pattern and raise ValueError while rendering; they give
a solid line. none no longer relies on a swallowed exception, and
an odd number of values is repeated once to make it even, as the
specification requires.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.0.1:
- FIX: Cache whether an element is or has a matching descendant
when matching :has() to avoid quadratic time on deeply nested
documents.
- FIX: Cache whether the parent matches when matching the child
combinator (a > b) so it is matched once for all of its children,
avoiding quadratic time when the parent is expensive, such as
div:has(> p) > span.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.74.0:
New Features:
Anthropic:
- Record reasoning parts in streaming output
- Record reasoning parts in nonstreaming output
Other:
- (typesafe) Handle inline images
Bug Fixes:
Anthropic:
- Preserve cached _iterator property
- Stop unpacking output arrays
Other:
- (aiohttp) Leave existing baggage header alone if it has existing
sentry- entries
- (boto3) Adapt to botocore no longer signing baggage
- (ci) Restrict pytest because of incompatibilities
- (falcon) Handle integer HTTP statuses and @sentrivana in #8139
- (sampling) Respect incoming sample rate if not explicitly
overridden
- (tracing) Drop trailing comma when serializing baggage without
third-party items and @pabloDeputter
- (wsgi) Stop overwriting server.address
Internal Changes:
Deps:
- Lock file maintenance
- Bump grpcio to 1.84.1 with @sentry-junior in #8136
- Bump uv to 0.13.5 with @sentry-junior in #8135
- Bump brotli to 1.2.1 with @sentry-junior in #8122
Other:
- (mcp) Remove unused select_mcp_transactions fixture with
@sentry-junior in #8150
- (release) Bump craft to 3.9.0 and update config with
@sentry-junior in #8181
- (sessions) Remove unused TERMINAL_SESSION_STATES constant with
@sentry-junior in #8151
- (starlette) Remove unused \_serialize_request_body_data helper
- (toxgen) Remove unused get_file_hash() and get_last_updated()
helpers
- (tracing) Remove unused base64_stripped regex
- (utils) Remove unused to_timestamp helper and epoch constant
- Upgrade sphinx and remove packaging upper bound
- Update test matrix with new releases (27/10)
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2026.11.9:
- Git issue 633: TypeError from optimise() (unexpected keyword
'in_set') for (?V1)[a&&[\PL\pL]] with IGNORECASE
- Git issue 632: AttributeError: 'AnyAll' object has no attribute
'rebuild' for [^\d\D] with IGNORECASE
- Git issue 631: RuntimeError: invalid RE code when searching with
(?r:(())a\G){i<2}
- Git issue 630: RuntimeError: invalid RE code for a fuzzy limit of
2**32 or more
- Git issue 629: SEGV (NULL pointer dereference) in
Match.fuzzy_changes with POSIX+ASCII+IGNORECASE flags
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.11.0:
- Tachyon hook
- Add ability to register hook from code
- Hash pin GitHub Actions and add cooldown to Dependabot
- Add zizmor security linter
- docs: fix some typos
- Move Ruff to pre-commit to pin it
- Update Python versions
- Fix typo in warning message for sample stability
- refactor: Made _T_DIST_95_CONF_LEVELS a tuple because it's a
constant
- Allow zero-valued memory metadata
- impr: Optimized the format_number function
- impr: Optimized the _common_metadata function
- Make psutil optional in emscripten platform
- Add --in-process mode support
- Drop support for EOL Python 3.10
- metadata: add cpu_quota (Linux cgroup CPU bandwidth limit)
- Add Runner.is_worker() helper
- Update docs for --in-process option
- Use CPU affinity and set process priority when using --in-process
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 3.0.0:
- Drop support for Python 3.10
- Add support for Python 3.15
- [high] fix: wait for the publish worker in
test_search_publish_timestamp
- fix: [DataURLObject] keep commas in the data of non-base64 data
URLs
- new: add sharing group blueprint management
- fix: [tools] Validation of mac-eui-64, mac-address and SHA256
ssh-fingerprint values
- Feature/custom warninglists
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 2.2.0:
- Update supported Python versions. Drop support for Python 3.7 and
3.8. Deprecation notice: next release is expected to drop Python
3.9 and 3.10.
- Possible breaking change: Change some exceptions from ValueError
to TypeError (in max_queued_messages_set and Client
callback_api_version parameter) The breaking change is unlikely
however, both exceptions are expected to only be raised with
broken code (e.g. need to pass wrong type - not just wrong value).
- Type annotations fix: bytearray was missing as alternative of
some payload
- Add drop_out_messages to discard outgoing message queue. This
could be needed if broker lost the session
- Honor MQTTv5 Server Keep Alive from CONNACK Properties
- Fix an keepalive disconnection when receiving large payload
- Fix bug in inflight message tracking & QoS 2 message, which could
result in negative counter
- Various reinforcement against corrupted or malformed packets
- Expose ReasonCode names as documentation said
- Fix broken reinitialise()
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.1.3:
- mpat: Fix inertia for the mad8318 and gbm5208
- Clean up after NamedTemporaryFile to avoid warnings with newer
pythons
- Prevent inlining of some functions to prevent CCM size bloat
- Mark all enum mapping functions as constexpr
- mpat: Don't delete the entire chip when backspace is pressed
- Document the field weakening limit reason in the limited-torque
guide
- Fix mpat handling of non-default controller and motor maximum
temps
- Add a utility to plot hall effect calibration errors
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.36.2:
Fixed:
- Reduce memory use in active snapshot modes by eagerly recording
snapshot changes without retaining completed test frames until
the final report.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 4.5.9:
Cyber:
- Replace python-jose (with CVE) by PyJWT
- Update all dependencies
This version will be the last one for Glances 4.x.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 1.26.5:
- Fixed: Using a relative --path would not find a
.git_archival.json file in a parent directory.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 7.17.2:
- Fix: two different scenarios failed with "attempt to write a
readonly database". These were regressions in 7.17.1. They are
fixed:
- When using a version of SQLite older than 3.34.0, such as on
RHEL 8 or Ubuntu 20.04, coverage combine (and pytest-cov, which
combines automatically) always failed.
- coverage combine and coverage debug data failed when a data
file existed but had no coverage schema, for example an empty
file left behind by a worker that died. A file we can’t read is
now reported like any other unusable data file, and is left in
place.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 8.0.0:
- Drop Python 3.10 support (breaking change).
- Drop support for deprecated @cachedmethod features (breaking
change).
- Drop support for @cached(cache=None) (breaking change).
- Require custom cache classes to support __len__ when used with
info=True (breaking change).
- Refactor _CacheInfo and make it public as CacheInfo (potentially
breaking change).
- Return callable objects instead of functions from @cached and the
cachetools.func decorators (potentially breaking change).
- Do not set cache_info to None on @cached wrappers if info is not
set (potentially breaking change).
- Raise TypeError for @cachedmethod descriptors assigned after
class creation, i.e. without __set_name__ being called
(potentially breaking change).
- Various performance improvements.
- Various documentation improvements.
- Various test improvements.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
By default buildInfo embeds the compiler version string and CCFLAGS,
CXXFLAGS and LINKFLAGS, which carry --sysroot and -ffile-prefix-map
paths into mongod and mongos and trigger buildpaths QA warnings. Pass
a variables file that drops those entries from
MONGO_BUILDINFO_ENVIRONMENT_DATA.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The Node and Head swap() friends and the copy-and-swap assignment
operators in Biggie store.h are unused and refer to members that do
not exist. Backport the upstream removal.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
AI-Generated: Uses Claude Code
Upgrade to release 10.18.0:
- pikepdf.Pdf.add_pages_from now carries layers (optional
content) with the pages it copies. The optional content groups
that the copied pages depend on are listed in the destination's
/OCProperties, with the default visibility, place in the layer
list, lock, radio button groups and automatic states that the
source's default configuration gave them. Previously the groups
were copied but not listed, so viewers ignored them: the layer
list was empty and content hidden in the source was shown.
- pikepdf.Pdf.add_pages_from now carries bookmarks. Outline
items of the source that lead to a copied page are appended to
the destination's outline, keeping their hierarchy, titles and
style; items that lead to pages that were not copied are dropped.
- Both are on by default, which changes what existing callers of
add_pages_from get: the destination may gain an /OCProperties and
outline items it did not gain before. Pass layers='ignore' or
outlines='ignore' for the previous behaviour, for example if you
build the merged outline yourself. pikepdf.PageCopyResult
reports layers_added, outline_items_added and
outline_items_dropped.
- pikepdf.Pdf.check_pdf_syntax now performs the same checks
as qpdf --check and reports the same problems. It checks the
linearization data and hint tables of linearized files, which
previously required a separate call to
pikepdf.Pdf.check_linearization, and checks the interactive
form, embedded files, page labels and outlines. A document with
no pages is reported as ERROR: file does not contain any pages,
and a page whose content stream cannot be read is reported as
ERROR: page N: ... along with the other problems found, where it
previously raised pikepdf.PdfError.
- Inserting a pikepdf.Dictionary or pikepdf.Array
that refers to another Pdf into a Pdf now raises
pikepdf.ForeignObjectError, naming the key or index where the
foreign object was found, and leaves the target unchanged.
This covers an indirect object of another Pdf held anywhere in
the value, such as pdf3.Root.X = Dictionary(P=pdf1.Root.Y), and a
direct dictionary or array that another Pdf already contains.
Previously the value was accepted: the first kind made the Pdf
impossible to save, failing part way through writing, and the
second left two documents sharing one object. It applies to every
way of inserting a value, including
pikepdf.Pdf.make_indirect, pikepdf.Page.add_resource,
adding a page built from a dictionary, name and number trees, and
stream dictionaries. Use pikepdf.Pdf.copy_foreign to bring
the foreign object over first.
- A password containing a NUL character now raises {exc}ValueError,
both when opening a PDF and when encrypting one. Previously the
password was silently cut short at the NUL, so a wrong password
could open a file, and an encrypted file could be written with a
shorter password than requested. PDF passwords may not contain
NUL.
- Fixed threads interfering with each other inside one Pdf on
GIL-enabled builds, which could cause an object to be read as
None. The per-Pdf lock is now in force on every build, and
pikepdf.Pdf.lock works on GIL-enabled builds too.
- Methods implemented in Python that change a Pdf in several steps,
such as pikepdf.Page.add_overlay,
pikepdf.Pdf.add_pages_from and the pikepdf.sanitize functions,
now hold its lock until they finish. The thread safety section of
the architecture notes now says which calls are atomic.
- Two threads that each hold the lock of one Pdf and then need the
other's no longer deadlock; one of them gets a RuntimeError
instead. What a callback such as a pikepdf.TokenFilter may
do is now documented: see {ref}callback-restrictions.
- Fixed a crash, a native stack overflow that no Python except can
catch, when reading, saving or checking a PDF in which a JBIG2
image's /JBIG2Globals stream is itself JBIG2-encoded and leads
back to the image, directly or through other streams. Such an
image is now reported as unfilterable, as JBIG2-encoded globals
without a cycle already were: reading it raises
~pikepdf.exceptions.PdfError, extracting it raises
~pikepdf.exceptions.UnsupportedImageTypeError, and saving
writes it unchanged with a warning.
- A JBIG2 image's /JBIG2Globals are now read only when the image is
being JBIG2-decoded, rather than every time qpdf checks whether
the image can be decoded, which included every save.
- Reading the label of a page whose page label style is an unknown
name, such as /S /Z, now warns and keeps the label prefix, as an
invalid non-name style already did. Previously it raised
KeyError.
- Reading the label of a page whose number cannot be written in its
page label style, such as /S /R /St 0 or a Roman numeral above
5000, now warns and writes the number in decimal digits.
Previously it raised ValueError.
- Extracting an image whose /CalGray or /CalRGB colour space array
lacks its parameter dictionary now decodes it as the
corresponding device space, without an ICC profile, as a missing
/WhitePoint already did. Previously it raised IndexError.
- An ICCBased image whose profile stream omits the required /N, or
gives one that is not an integer, now takes its mode and default
/Decode from the profile's colour space. Previously its mode
raised KeyError.
- Fixed pikepdf.form.SignatureField.stamp_overlay stamping
the overlay twice when the signature widget names its page with
/P.
- Fixed a Pdf returned by pikepdf.Job.create_pdf not being
set up like other Pdf objects: setting its conversion_mode raised
pikepdf.PdfError, and on free-threaded Python none of its
methods were protected by a lock.
- Matrix.__array__(copy=False) now raises ValueError, as numpy
expects of an object that cannot share its memory. The check for
this was written in a way that never fired.
- A progress argument to pikepdf.Pdf.save that is not
callable is now rejected with TypeError before anything is
written. Previously the error was raised part of the way through
writing the file.
- Fixed a small memory leak each time
pikepdf.AcroForm.get_fields_with_qualified_name or
pikepdf.AcroForm.fix_copied_annotations returned a field.
- Iterating over a pikepdf.NameTree or
pikepdf.NumberTree now iterates over the keys it had when
the iteration began. Previously the tree was read as the
iteration went on, so changing it meanwhile gave undefined
results.
- Putting an object that belongs to another Pdf in a
pikepdf.NameTree or pikepdf.NumberTree now raises
pikepdf.ForeignObjectError at once, as it does for a
dictionary or an array. Previously the error was not raised until
the Pdf was saved.
- x in tree is now False for an x that cannot be a key of a
pikepdf.NameTree, such as an int, and for None in a
pikepdf.NumberTree. Previously these raised TypeError.
- Corrected the documentation and type hints of
pikepdf.NameTree, which said that names are bytes. Names
are, and have always been, str: qpdf reads each name as a PDF
text string and compares names by that text.
- Fixed building from source on Android (Termux), where importing
pikepdf failed with cannot locate symbol "_Py_TrueStruct" since
v10.6.0. The extension module is now linked against libpython
when the build interpreter is an Android Python, as that platform
requires. Android is not a tested platform.
Free-threaded Python fixes:
Many crashes and data races that occurred when several threads used the
same Pdf at once have been fixed. The test suite now runs under
ThreadSanitizer in continuous integration, which is how most of them
were found ().
- Every binding that reads or changes a Pdf now takes that Pdf's
lock, and the lock of any other Pdf among its arguments, enforced
at compile time. Many bindings previously did not, notably most
methods of pikepdf.NameTree, pikepdf.NumberTree,
attachments, annotations and pikepdf.AcroForm.
- Fixed crashes and data races in pikepdf.Page methods,
content stream parsing, adding pages from one Pdf to another, and
dropping the last reference to a Pdf while another thread used
one of its objects.
- A pikepdf.Dictionary or pikepdf.Array that belongs
to no Pdf is now protected by a lock shared by all such objects.
Threads that each build objects of their own contend for it, so
add a Dictionary or Array to its Pdf as soon as it is created
rather than building large structures before adding them.
- Fixed "dictionary changed size during iteration" when several
threads opened a Pdf's metadata for the first time at once.
- Threads that take turns using the same Pdf are no longer slowed
to a crawl when every CPU is busy.
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 0.17.4:
Preview features:
- [flake8-logging-format] Avoid behavior changes and syntax errors
in fixes (G004)
- [security] Implement tarfile-ignore-zeros-true
Bug fixes:
- Accept a bare raise before a semicolon
- Allow match identifiers after a semicolon
- Fix panic on BOM-prefixed files in diagnostic renderer
- [flake8-simplify] Report collapsible elif clauses after a
multi-statement if branch (SIM102)
Rule changes:
- Show more nonprinting characters in diagnostic fix diffs
Performance:
- Coalesce source slices when formatting attributes
- Collect return statements with a statement-only visitor
- [pyflakes] Defer value comparisons for repeated dictionary keys
(F601, F602)
- Format node fields directly when comment handling is unnecessary
- Reduce formatter source-slice overhead
- Reuse a callee's qualified name across lint rules
- Skip invalid string character checks when the source contains
none
- Use a Bloom filter for formatter comment lookups
- Use a concrete buffer for ordinary writes
CLI:
- Give NO_COLOR precedence in Ruff and ty diagnostics
- Honor CLICOLOR=0 in Ruff and ty diagnostics
Documentation:
- Correct the documented version and src defaults for ruff-action
- [flake8-bugbear] Make B014 example error out-of-the-box
- [flake8-no-pep420] Document preview behavior (INP001)
- [isort] Expand I001 documentation
Other changes:
- [syntax-errors] Extend __debug__ write check to attribute targets
This work was sponsored by GOVCERT.LU.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
0.5.19 moved the script tests into subdirectories, so ptest-list now
has entries like linking/non-default-device-node.lua. run-ptest
redirects each test's output to $arg2.out, and that directory does not
exist next to script-tester, so the redirection fails, script-tester
never runs and all 28 tests are reported as failed.
Flatten the path for the output file name.
The new node/suspend-* tests also require suspend-test-utils, which
upstream finds through WIREPLUMBER_DATA_DIR in the source tree. Install
it next to test-utils.lua.
All 64 tests pass on qemux86-64.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
tests/test_docstrings.py imports pytest_examples and
tests/test_tzinfo.py imports pydantic, neither of which the ptest
package depends on. pytest stops at the collection errors, so no test
ran at all:
E ModuleNotFoundError: No module named 'pytest_examples'
E ModuleNotFoundError: No module named 'pydantic'
Add both. test_docstrings.py then looks for core_schema.py and
README.md relative to the source tree, so install README.md and point
it at the installed core_schema.py.
Skip the ruff lint step of the docstring examples, as python3-pydantic
does. Outside the source tree ruff doesn't treat pydantic_core as first
party and flags the import order (I001) of 23 examples, plus a couple
of style rules newer than the examples. The examples are still run.
6025 tests pass and 126 are skipped on qemux86-64.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
tests/test_docs.py imports time_machine. The collection error stops
pytest before any test runs:
E ModuleNotFoundError: No module named 'time_machine'
With it, 6892 tests pass and 242 are skipped on qemux86-64.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
tests/test_pep517_backend.py imports the in-tree build backend from
packaging/pep517_backend, which pytest.ini puts on the path when run
from the source tree but which is not installed. Collection fails and
pytest stops without running any test:
E ModuleNotFoundError: No module named 'pep517_backend'
The test checks the CFLAGS/CPPFLAGS handling of the build backend,
which has no use on the target, so remove it.
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
mongodb was re-enabled after having been skipped, and no longer builds
with the current toolchain and dependencies:
- setuptools 84 does not provide pkg_resources anymore; use
packaging.version to parse versions
- SCons 4.11 added an extra_libs parameter ahead of call in
CheckLibWithHeader(), so the positional call snippet was split into
bogus -l options and the OpenSSL check failed; pass call as a keyword
- clang 23 rejects out of range enum values in the bundled Boost 1.70
mpl::integral_c uses and a typo in Boost.Thread; backport the fixes
from newer Boost
- OpenSSL 4 makes ASN1_STRING opaque and removes ASN1_STRING_data() and
ERR_remove_state(); use the accessors available since OpenSSL 1.1
AI-Generated: Uses Claude Code
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The moduleconfig.py build script uses the 'imp' module which
is deprecated in favor of 'importlib' in python 3.12. This fixes
the build issue by replacing the affected portion of the code
and the package now builds fine on hosts with python 3.12.
Signed-off-by: Awais Belal <awais.belal@gmail.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Build the vala bindings when gobject-introspection data is enabled.
simple-scan uses colord when it is found and needs colord.vapi for it.
Tested by building colord and simple-scan for x86-64.
AI-Generated: Uses Claude Code (Claude Opus 5.5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Build with meson, which 1.5.35 ships. The tools that generate the
compose table and the unicode dictionaries are built for the target and
run through the meson exe wrapper, so the bundled ax_prog_cc_for_build.m4
and its patch go away, and so does PKG_CONFIG_FOR_BUILD. The compose
table is read from libx11's locale data in the target sysroot, so
libx11-native is no longer needed.
Drop the two IBusAttrList backports, which are part of the release, and
rebase the dbus-launch patch onto the reworked make-dconf-override-db.sh.
Add a patch that defines pyoverridesdir without pygobject-3.0, which the
meson summary needs (Upstream-Status: Pending).
ibus-setup gets the path of the python3 used at build time, so point it
at ${bindir}/python3.
Tested by building ibus for x86-64.
AI-Generated: Uses Claude Code (Claude Opus 5.5)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
systemd-repart copies the rootfs into a temporary directory from
var_tmp_dir() to populate the filesystems. With $TMPDIR, $TEMP and $TMP
unset in the task, that is the host's /var/tmp, which the class adds to
PSEUDO_INCLUDE_PATHS for the faked ownership to apply there. pseudo
then tracks a host-wide directory shared by all builds and users, and
an interrupted run can leave its staging tree outside the build
directory.
Stage into ${WORKDIR}/repart-tmp instead, recreated on every run, and
cover only that with pseudo. The location is passed through $TMP rather
than $TMPDIR, because pseudo derives its own runtime paths from $TMPDIR.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
do_image_ddi depends on do_unpack of every recipe in DEPENDS. do_unpack
has no setscene task, so whenever do_image_ddi runs, do_fetch and
do_unpack are executed for all of them, even if everything else comes
from sstate.
The sources are not used: the DDI is built from IMAGE_ROOTFS, and
systemd-repart, erofs-utils and openssl come from the native sysroot,
which do_prepare_recipe_sysroot already populates through DEPENDS.
Suggested-by: Roman Nazarenko <roman.nazarenko@leica-geosystems.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 11.13.2:
- Fixed a secondary instance with open_files_async = true getting
stuck after TryCatchUpWithPrimary() returned PathNotFound for a
table file that the primary deleted before the background opener
reached it.
- Fixed blob direct write with more than one concurrent flush of a
column family: a later flush sealed and published the blob files
of the oldest pending memtable instead of its own, so flushes
failed with Corruption: VersionBuilder: Blob file #N already
added and the database stopped.
Change the the SRC_URI from https://github.com/facebook the new
Meta organization in GitHub: https://github.com/meta
Remove the following patches:
1. 0001-CMakeLists.txt-Make-the-test-discovery-occur-on-targ.patch
Because the change has been applied with commit 6d8370e:
https://github.com/meta/rocksdb/commit/6d8370ec56256c9f70daed364cdba9d1edabd417
2. 0001-checkpoint.h-Add-missing-includes-cstdint.patch
Because the change has been applied with commit 0a2ba2a:
https://github.com/meta/rocksdb/commit/0a2ba2a16441c1edd2a3d520e7d574e7ce78dbb2
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
2.19.1 declares protobuf < 6, while meta-python provides 7.36, and
google-cloud-pubsub 2.39.2, which Home Assistant 2026.11 uses, requires
google-api-core >= 2.25.0.
New runtime dependencies: proto-plus and opentelemetry-api. pytz is no
longer used. The package is built with setuptools.build_meta now. The
sdist on PyPI was renamed from google-api-core-2.19.1.tar.gz to
google_api_core-2.44.0.tar.gz; the underscore form is the pypi.bbclass
default, so PYPI_PACKAGE_SDIST, which pointed at the old name, is
dropped.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
1.63.2 declares protobuf < 6, while meta-python provides 7.36. The new
release accepts protobuf < 8. Needed by the google-api-core upgrade.
The package is built with setuptools.build_meta now. The sdist on PyPI
was renamed from googleapis-common-protos-1.63.2.tar.gz to
googleapis_common_protos-1.76.0.tar.gz; the underscore form is the
pypi.bbclass default, so PYPI_PACKAGE_SDIST, which pointed at the old
name, is dropped.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
python3-google-api-core 2.x requires proto-plus. A recipe for 1.27.1
exists in meta-python-ai, but meta-python cannot depend on that layer.
Only protobuf is a runtime dependency; google-api-core is needed by the
test suite only.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pydantic 2.14.1 in its test requirements and
package constraints. Upgraded together with python3-pydantic-core
2.50.1, which it pins.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
pydantic 2.14.1 pins pydantic-core 2.50.1; with 2.46.5, "import pydantic"
raises SystemError because the versions do not match.
Refresh 0001-cargo.toml-Update-bitvec-to-use-radium-1.x.patch and
regenerate python3-pydantic-core-crates.inc with
bitbake -c update_crates.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins orjson 3.13.0.
Refresh the two x86 guard patches and regenerate
python3-orjson-crates.inc with bitbake -c update_crates.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pylint 4.1.3 in its test requirements.
Drop patches that are no longer needed:
- 0002-pyproject.toml-Keep-tool.setuptools.license-files.patch rewrote
the PEP 639 license and license-files keys into the older
tool.setuptools form. 4.1.3 requires setuptools >= 77, which handles
the PEP 639 keys, and OE-Core provides 84.0.0.
- 0003-astroid-4.1.2-endlineno.patch adjusted functional test
expectations for astroid 4.1.2 (for example MyClass instead of
MyClass.my_method). 4.1.3 ships the same expectations.
- 0004-checkers-variables-do-not-pass-asname-to-Import.infer.patch was
a backport of upstream commit 554b1d192434, which is part of 4.1.3.
Refresh 0001-Adjust-test-expectations-for-ptest.patch. The expected
output was regenerated by running the functional test with pylint 4.1.3
and astroid 4.3.4 installed into a virtualenv and the tests outside the
source tree, which is how the ptest sees pylint.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins pytest-socket 0.8.1 in its test
requirements.
0.8.x builds with uv_build instead of poetry-core. Backport the upstream
change that allows uv_build < 0.14, since OE-Core provides 0.13.7.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins lru-dict 1.4.1.
The sdist is now published as lru_dict-*.tar.gz, the default name, so
drop PYPI_PACKAGE_SDIST. 1.4.x pins the build to setuptools==80.9.0 and
no longer needs wheel; relax the setuptools pin with a patch and drop
the python3-wheel-native dependency.
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Home Assistant 2026.11 pins SQLAlchemy 2.0.54 (core and the recorder
integration).
AI-Generated: Claude Code, Claude Opus 5.5
Signed-off-by: Thomas Roos <thomas@roosesweb.de>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>