pint uses hatchling, so remove the python_setuptools_build_meta inherit
and setuptools/setuptools-scm dependencies.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Python runtime dependencies do not need to be listed in DEPENDS.
pbr and six were removed as runtime dependencies in 1.7.6.
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
pbr was removed as an accidental runtime dependency in 5.5.0[1], and six
was removed in 2.0[2].
[1] stevedore 7c2740e ("Remove explicit pbr dependency")
[2] stevedore 1aca4bc ("Drop Python 2.7 support")
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade LICENSE syntax. Fixes:
WARNING: ramspeed-smp: LICENSE is using an old syntax and should be
upgraded to: "LicenseRef-Alasir"
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade LICENSE syntax. Fixes:
WARNING: ramspeed: LICENSE is using an old syntax and should be
upgraded to: "LicenseRef-Alasir"
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade the LICENSE format and don't use the old syntax. Fixes:
WARNING: coremark-pro: LICENSE is using an old syntax and should be
upgraded to: "Apache-2.0 AND LicenseRef-EEMBC-AUA"
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a recipe for cyclictest from the rt-tests project, a
real-time latency measurement tool used to evaluate Linux
kernel scheduler latency and jitter under various workloads.
The recipe builds and installs the cyclictest executable with
NUMA support enabled for use in real-time performance
evaluation, latency analysis, and regression testing.
Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a recipe for hackbench, a Linux scheduler benchmark used
to measure scheduling and inter-process communication
performance under various workloads.
The recipe builds and installs the hackbench executable with
NUMA support enabled for use in performance evaluation and
regression testing.
Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a recipe for UnixBench, a benchmark suite used to measure
CPU, memory, and overall system performance.
The recipe has been successfully built and validated on
aarch64 targets. Functional testing confirmed that the
benchmark suite executes correctly and generates results.
Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add recipes for a set of benchmark and performance evaluation
tools commonly used to measure CPU, memory, network, and web
server performance.
- coremark-pro provides a comprehensive benchmark suite from
EEMBC that evaluates processor performance using integer,
floating-point, and real-world workloads.
- ramspeed-smp measures memory bandwidth and latency across
multiple CPU cores.
- sockperf provides network latency and throughput benchmarking
for TCP and UDP workloads.
- wrk2 generates HTTP workloads with constant throughput and is
useful for web server and service performance testing.
The recipes have been successfully built and validated on
aarch64 targets. Functional testing confirmed that the
benchmark binaries execute correctly and produce expected
results.
Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Nothing cleans ${B} between rebuilds and the kernel makefiles cache
their feature detection results there, so a sysroot-only change (say
binutils leaving DEPENDS) skips the relink and packages a stale
binary that still links libbfd.
Signed-off-by: mark.yang <mark.yang@lge.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest-python-pytest and include tests for PikePDF. Extend
runtime dependencies and add new for the tests.
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>
Add a recipe for release 2.1.0 of python-xmp-toolkit:
- Add support for python 3.14
- Make exempi a run-time dependency
- Add missing error codes
- Remove tox
- Use flit for build
- Remove travis
- Remove packaging dependency requirement
- Remove support for python <= 3.6 (All python2 code removed)
- fix exempi returns char-size bool, not int
- homebrew path fixup
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>
Add recipe for exempi, an implementation of XMP based on Adobe XMP
SDK and released under a BSD-style license like Adobe's.
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>
_cjose_jwk_import_RSA() and _cjose_jwk_import_EC() declare their
*_buflen variables in the middle of the function, interleaved with error
paths that goto a shared cleanup label. An early decode failure jumps
over the remaining declarations, and the cleanup block then reads them
uninitialized:
| jwk.c:1501:9: error: variable 'dq_buflen' is used uninitialized
| whenever 'if' condition is true
| [-Werror,-Wsometimes-uninitialized]
| jwk.c:1554:39: note: uninitialized use occurs here
| _cjose_cleanse_dealloc(dq_buffer, dq_buflen);
_cjose_cleanse_dealloc() uses the length to wipe key material, so this
is an out-of-bounds write hazard on the error path rather than just a
warning. src/Makefile.am builds with -Werror, so clang also makes it
fatal; the 0.6.2.4 -> 0.6.2.7 upgrade exposed it.
Verified on aarch64 for qemuarm64: do_compile fails before the change
with 20 such errors, and do_compile and do_package succeed after.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
libnetsnmptrapd uses symbols that live in libnetsnmpagent, but
apps/Makefile.in only passes $(MIBLIB) and $(USELIBS) to the link. That
works with GNU ld, which resolves symbols through the DT_NEEDED entries
of the libraries named on the command line, and libnetsnmpmibs records a
dependency on libnetsnmpagent. lld deliberately does not, so the link
fails:
| ld.lld: error: undefined symbol: init_vacm_config_tokens
| >>> referenced by snmptrapd_auth.c:51
| >>> .libs/snmptrapd_auth.o:(init_netsnmp_trapd_auth)
| ld.lld: error: undefined symbol: send_v2trap
| >>> referenced by snmptrapd_handlers.c:886
| >>> .libs/snmptrapd_handlers.o:(axforward_handler)
Backport upstream commit 5e66246bd994 which names $(AGENTLIB) explicitly
and additionally links libcrypto into libnetsnmpmibs and the apps, both
of which rely on the same transitive resolution. The libnetsnmptrapd.la
hunk is rebased because 5.9.5.2 still puts $(LDFLAGS) at the end of that
link command.
Verified on aarch64 for qemuarm64: do_compile fails before the change
with the errors above; after it do_compile and do_package succeed and
libnetsnmptrapd.so records DT_NEEDED on libnetsnmpmibs, libnetsnmpagent
and libnetsnmp directly.
Tested-by: Jaipaul Cheernam <jaipaul.cheernam@est.tech>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
1.10.3 grew a third branch in bindings/perl-shared/Makefile.PL: when
ABS_TOP_BUILDDIR is unset it assumes a standalone build, pkg-config
probes for an installed librrd and dies.
| pkg-config could not find librrd. Is rrdtool installed?
| Try: brew install rrdtool (macOS) or apt install librrd-dev (Debian/Ubuntu)
bindings/Makefile.am always passes ABS_TOP_SRCDIR, ABS_TOP_BUILDDIR and
ABS_SRCDIR when it runs Makefile.PL, but do_configure re-runs it by hand
to redo the perl bindings and did not. Export them there too so the
in-tree branch is taken and RRDs links against -L${B}/src/.libs -lrrd.
Verified on aarch64 for qemuarm64: do_configure fails before the change
with the error above, and do_compile and do_package succeed after.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Upgrade to release 10.11.0:
- Extended PDF outline (bookmark) support to cover more of the spec
- Fixed 1-bit /Indexed images losing their palette when extracted.
{meth}pikepdf.PdfImage.as_pil_image and
{meth}pikepdf.PdfImage.extract_to previously ignored the palette
of a 1-bit indexed image over a /DeviceCMYK base (returning a
bilevel grayscale image) and of a single-colour palette (hival 0).
Both now decode correctly, matching the existing behavior for
2/4/8-bit indexed images.
- A 1-bit /Indexed image whose base colour space is unsupported (for
example /DeviceN or /Separation) now raises NotImplementedError
instead of silently returning an unpalettized image, matching the
2/4/8-bit path.
- Image extraction now verifies that the image stream holds enough\
data for the declared /Width and /Height before allocating, raising
{exc}~pikepdf.exceptions.ImageDecompressionError when it does not.
This closes the remaining decompression-bomb gaps left by the
{attr}pikepdf.PdfImage.MAX_IMAGE_PIXELS limit added in v10.10.0:
that limit bounds the declared size, but said nothing about whether
the declared size was consistent with the data present, so a 4-bit
image declaring 12000x12000 -- well under the default 500M pixel
budget -- still allocated ~300 MB from a single byte of stream
data, and setting the limit to None restored the unbounded case
entirely. The 2-bit and 4-bit unpack path and the 1-bit path
(where Pillow allocates a byte per pixel before it notices the
data is short) are both covered; 8-bit and 16-bit images already
failed cleanly. The check applies regardless of MAX_IMAGE_PIXELS.
- The 2-bit and 4-bit unpack buffer is no longer over-allocated by
a factor of the packing ratio, reducing peak memory for those
images by 4x and 2x respectively.
- Extracting a 1-, 2-, or 4-bit image whose stream is shorter than
its declared dimensions require now raises
- {exc}~pikepdf.exceptions.ImageDecompressionError rather than
returning a partially decoded image with a black tail. This
matches what 8-bit and 16-bit images have always done for the
same defect.
- An image with a non-positive /Width or /Height raises
{exc}~pikepdf.exceptions.InvalidPdfImageError instead of failing
further down with an obscure error from Pillow.
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>
The installed public header libp11.h includes "p11_ver.h", but that
header is generated by configure (from p11_ver.h.in, via AC_CONFIG_FILES)
and was never listed in include_HEADERS, so it never gets installed.
Any consumer including <libp11.h> therefore fails to build. For example
rng-tools with PACKAGECONFIG "libp11" enabled:
| In file included from rngd_pkcs11.c:28:
| recipe-sysroot/usr/include/libp11.h:28:10: fatal error: p11_ver.h: No such file or directory
| 28 | #include "p11_ver.h"
| | ^~~~~~~~~~~
| compilation terminated.
Backport the upstream fix, which adds p11_ver.h to include_HEADERS. It
landed after the libp11-0.4.19 tag and is not part of any release yet,
so it cannot be picked up by a version upgrade.
Signed-off-by: Daiane Angolini <daiane.angolini@oss.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
thirdparty/zstd.cmake compiles the bundled zstd's huf_decompress.c but
not the assembly file it pairs with,
zstd/lib/decompress/huf_decompress_amd64.S. zstd selects the assembly
fast loops in portability_macros.h whenever
!defined(ZSTD_DISABLE_ASM) && ZSTD_ASM_SUPPORTED &&
defined(__x86_64__) && (DYNAMIC_BMI2 || defined(__BMI2__))
so the DYNAMIC_BMI2=0 that apitrace already sets is not enough: any
x86-64 tune whose -march implies BMI2, such as x86-64-v3, still takes
that path and fails to link:
| ld.lld: error: undefined hidden symbol: HUF_decompress4X2_usingDTable_internal_fast_asm_loop
| >>> referenced by huf_decompress.c:1739
| >>> thirdparty/apitrace.lto.libzstd_bundled.a(huf_decompress.c.o)
| ld.lld: error: undefined hidden symbol: HUF_decompress4X1_usingDTable_internal_fast_asm_loop
| >>> referenced by huf_decompress.c:917
Plain -march=x86-64 does not define __BMI2__, which is why only the more
specific tunes are affected.
Define ZSTD_DISABLE_ASM so the C fast loops are used consistently, which
is already what every non-BMI2 build gets.
Not fixed upstream: master carries the same zstd.cmake, no commit since
tag 14.0 touches it, and none of the 19 open pull requests or any issue
covers this.
Verified on x86-64 for qemux86-64 (x86-64-v3 tune): do_compile fails
before the change while linking gltrim and apitrace, and do_compile,
do_install and do_package succeed after.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
configure.in calls AC_PROG_OBJC and libSDL_image_la_SOURCES carries an
Objective-C source, so automake selects Objective-C as the link language
for the library and emits:
libSDL_image_la_LINK = $(LIBTOOL) ... --mode=link $(OBJCLD) \
$(AM_OBJCFLAGS) $(OBJCFLAGS) ...
OBJCLD = $(OBJC)
AC_PROG_OBJC detects a bare compiler carrying none of TOOLCHAIN_OPTIONS,
so while compilation goes through $(CC) and is fine, the link drops
--sysroot and the tune flags and falls over:
ld.lld: error: cannot open crtbeginS.o: No such file or directory
ld.lld: error: unable to find library -lpng
ld.lld: error: unable to find library -ljpeg
ld.lld: error: unable to find library -ltiff
ld.lld: error: unable to find library -lz
ld.lld: error: unable to find library -lSDL
Export OBJC as CC so the link gets the full toolchain options.
configure.in already forces OBJCFLAGS=$CFLAGS, so that needs nothing.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
The 9.1.0 pyproject.toml sets build-backend = "uv_build" and lists only
uv_build in its build-system requires, but the recipe inherited
python_setuptools_build_meta and added python3-uv-build-native to DEPENDS
by hand. Inherit python_uv_build instead, which drops the unused
setuptools, wheel and setuptools-scm dependencies and the setuptools
specific do_configure[cleandirs] workaround that came with the old class.
The patch capped uv_build at <0.12.0, which the 0.11.32 -> 0.12.1
upgrade in oe-core invalidated. This bound has now broken twice, and
there is only ever one uv-build in the sysroot, so drop the upper bound
rather than raise it again.
Verified on aarch64 for qemuarm64: do_compile and do_package succeed.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
bleak's build backend is uv_build, but the recipe inherited
python_poetry_core and then added python3-uv-build-native to DEPENDS by
hand. Both classes are thin wrappers over python_pep517 that differ only
in the native backend they pull in, and python_pep517 takes the backend
from pyproject.toml, so inherit python_uv_build instead and drop the
manual DEPENDS along with the unused poetry-core dependency.
The patch capped uv_build at <0.12.0, which the 0.11.32 -> 0.12.1
upgrade in oe-core invalidated:
ERROR Unmet dependencies (checked against .../nativepython3):
uv_build<0.12.0,>=0.10.9
This bound has now broken twice, and there is only ever one uv-build in
the sysroot, so drop the upper bound rather than raise it again.
Verified on aarch64 for qemuarm64: do_compile fails before the change
with the error above and both do_compile and do_package succeed after.
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Inherit ptest-python-pytest and include tests for Pika. Run the
tests that don't require the docker container with RabbitMQ. The
PyPI package omits some files for testing like tests/__init__.py
use the GitHub source for SRC_URI instead.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
Add a DESCRIPTION and extend the runtime dependencies of the recipe
for pytest-timeout, a pytest plugin to abort hanging tests.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>