SDL3_net is the small cross-platform networking library for SDL3,
providing TCP and UDP sockets and hostname resolution.
Samples are not built and the man pages are not installed: the samples
are demo programs that are never installed, and Buildroot removes
/usr/share/man from the target anyway.
Built with CMake, like sdl3 itself, rather than with the autotools setup
the SDL2 counterpart uses.
Signed-off-by: Alsey Coleman Miller <alseycmiller@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Switch to the uv-build build backend.
Skip dependency checks to ignore the upper version bound on uv-build.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Switch to the uv-build build backend.
Skip dependency checks to ignore the upper version bound on uv-build.
Update license hash due to copyright year update:
02408d0024
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Building fmlib, either on PowerPC or ARM64 against an upstream kernel
will fail to build as the kernel modules include fm_ioctls.h, which
doesn't exist upstream. fmlib will only build with NXP-provided Linux
kernel sources. This commit mentions this in the Config.in help text.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The fmlib package contains kernel modules that can only build with
NXP-provided kernel sources, as they need the fm_ioctls.h header which
doesn't exist upstream. Therefore, there is absolutely no chance for
fmlib to build in our autobuilders as they will always build upstream
Linux kernel source code.
This commit updates genrandconfig to ensure that we don't generate a
configuration that includes fmlib. This requires also disabling fmc,
which selects fmlib.
Fixes: https://autobuild.buildroot.net/results/7fb2b2808c4f122e08ca217f34c4d56a2b1bfcc0/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The line:
configlines.remove('BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y')
would fail with:
Traceback (most recent call last):
File "/home/thomas/projets/buildroot/./utils/genrandconfig", line 650, in <module>
ret = asyncio.run(gen_config(args))
File "/usr/lib64/python3.14/asyncio/runners.py", line 205, in run
return runner.run(main)
~~~~~~~~~~^^^^^^
File "/usr/lib64/python3.14/asyncio/runners.py", line 128, in run
return self._loop.run_until_complete(task)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib64/python3.14/asyncio/base_events.py", line 720, in run_until_complete
return future.result()
~~~~~~~~~~~~~^^
File "/home/thomas/projets/buildroot/./utils/genrandconfig", line 556, in gen_config
if await fixup_config(sysinfo, configfile):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/thomas/projets/buildroot/./utils/genrandconfig", line 255, in fixup_config
configlines.remove('BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y')
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: list.remove(x): x not in list
because all configlines end with a newline, so this needs to be fixed
to:
configlines.remove('BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y\n')
Fixes: b07d21ab98 ("utils/genrandconfig: handle BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM=y")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
BR2_PACKAGE_PODMAN selects BR2_PACKAGE_SHADOW, but forgot to propagate
its !BR2_STATIC_LIBS dependency. This commit fixes this inconsistency.
We also propagate it to the only reverse dependency of podman, which
is mender-update-modules.
Fixes: ebbaac08e3 ("package/podman: new package")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
BR2_PACKAGE_PODMAN has:
select BR2_PACKAGE_RUNC if !BR2_PACKAGE_CRUN
but forgot to propagate the
BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS dependency from
BR2_PACKAGE_RUNC.
Propagating this dependency requires a bit more care than usual, due
to the ability to use crun as an alternative to runc.
We also propagate it to the only reverse dependency of podman, which
is mender-update-modules.
Fixes: ebbaac08e3 ("package/podman: new package")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
BR2_PACKAGE_MENDER_UPDATE_MODULES_RPM selects BR2_PACKAGE_RPM without
replicating its BR2_USE_MMU dependency.
BR2_PACKAGE_MENDER_UPDATE_MODULES_SWU selects BR2_PACKAGE_SWUPDATE
without replicating its BR2_USE_MMU dependency.
This commit fixes that by properly propagating the missing
dependencies. There is in practice no functional change:
BR2_PACKAGE_MENDER_UPDATE_MODULES depends on
BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS and go is only supported on
MMU-capable CPU architectures. But since there is no formal
relationship between BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS and
BR2_USE_MMU, automatic validation cannot infer that
BR2_PACKAGE_MENDER_UPDATE_MODULES cannot be selected on !MMU systems.
Fixes: a474642fdc ("package/mender-update-modules: new package")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
net-snmp can be built with --enable-read-only, which removes all SET
support from the agent. For a device that is only ever polled this is
a stronger guarantee than withholding write access through VACM, since
a mistake in the access control configuration can no longer result in a
writable agent.
The client applications are unaffected. Default off, so existing
configurations build as before.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add the host-python-coherent-licensed build dependency.
Update license hash due to generated license text:
9a81db3c77
Add the python-typer-slim runtime dependency.
Drop the no longer required python-autocommand dependency.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit d7ccf54d7f ("package/uboot-tools:
fix target FIT signature support") changed how options for FIT support
are written to include/generated/autoconf.h, removing the
unconditional "echo" call (possibly with empty arguments) that existed
before. Because of this, include/generated/autoconf.h was not created
when U-Boot was built without FIT support, making the build fail
because of the missing header. Add a "touch" to ensure the file is
always created.
Fixes: d7ccf54d7f ("package/uboot-tools: fix target FIT signature support")
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add a simple test case that imports the module and does a simple
compress decompress routine.
Signed-off-by: Flaviu Nistor <flaviu.nistor@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Even if there is a 0.7.3 on Pypi, there is no 0.7.3 release on the
project homepage, hence the bump to 0.7.2.
The important change is that since 0.7.0, python-snappy uses
python-cramjam instead of nsappy.
Signed-off-by: Flaviu Nistor <flaviu.nistor@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
When running tests depending on entropy pool being ready on armv7 (eg:
test_openscap.py, which runs the 'oscap' binary, which tries to get
random bytes, even with simple commands), the test may fail on timeout
due to the entropy pool not being ready; this is confirmed by the test
being blocked until "crng init done" line appears in the kernel logs.
A solution could be to just increase the test timeout to a value large
enough to make sure that the entropy pool will be ready in most cases,
but it may be hard to find a value that fits all use cases, and all
tests depending on entropy being ready would deserve the same fix.
Another solution is to replicate what commit 7acb32dabb
("support/testing: add builtin armv5 kernel 4.19 with entropy") did: it
added the virtio-rng-pci argument to allow the guest machine to use host
entropy. The armv7 kernel used for testing seems to be built with the
relevant virtio configuration to allow a similar pass-through, so pass
virtio-rng-device to armv7 kernel when running tests.
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The LGPL v2.1 license file was edit in upstream commit 4225417da2 [1],
which is included in ffmpeg 7.0, and Buildroot commit b68bde5643 [2]
bumped to that version, which made ffmpeg-legal-info fail.
Fixes: b68bde5643
[1] 4225417da2 ("all: apply linter fixes")
4225417da2
[2] b68bde5643 ("package/ffmpeg: bump version to 7.0.3")
b68bde5643
Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
ncftp still ships a configure script generated with autoconf 2.13, which
determines whether it is cross compiling by simply trying to run a
trivial program built with $CC, instead of looking at --host/--build.
That heuristic breaks when the build machine is able to execute the
binaries produced by the cross compiler, which is typically the case
when building for x86/x86-64 on an x86-64 machine:
checking whether the C compiler (...) is a cross-compiler... no
configure then takes the AC_TRY_RUN path for the remaining tests. Those
tests link against the target libraries but are executed on the build
machine, so they fail as soon as more than the bare C library is
involved. The most visible victim is the curses detection, which links
the test program against the target libncurses and then runs it:
checking for curses library headers... checking for ncurses.h... yes
checking for curses.h... yes
checking for curses library... no
With no curses library, ncftpbookmarks is silently dropped from the
build and installation later fails with:
install: cannot stat '.../build/ncftp-3.3.0/bin/ncftpbookmarks': No such file or directory
Other checks are mis-detected the same way, e.g. the 64-bit integral
type checks, which end up breaking the build itself:
checking how to scan a 64-bit integral type... cannot scan
io_get.c:763:96: error: expected ')' before 'PRINTF_LONG_LONG'
So add a patch making the generated configure script follow what
autoconf has been doing since 2.50, and consider the build cross
compilation as soon as --host is given and differs from --build,
regardless of whether the produced binaries happen to be runnable.
Regenerating configure instead is not an option: the macros in
autoconf_local/aclocal.m4 rely on autoconf 2.13 internals (AC_LANG used
as a value, AC_FD_CC, __oline__, ...) and upstream generates configure
with a patched autoconf 2.13 (see autoconf_local/acgeneral-2.13.m4.patch
and acspecific-2.13.m4.patch). A modern autoconf fails with:
configure.in:53: error: AC_LANG: unknown language:
This regression was introduced by commit
f8bc271115 ("package/ncftp: bump to
version 3.2.9"). Before it, a pre-configure hook regenerated configure
with autoconf precisely because the bundled script "doesn't detect
cross-compilation correctly". With 3.2.9 that regeneration started to
fail, so the hook was dropped, which brought the broken detection back.
That commit left the host-autoconf dependency behind though, so drop it
now.
The issue is present since 2025.05, and in 2025.02.x since 2025.02.1,
where the 3.2.9 bump was backported as commit
6b0e4d82c3.
Fixes:
https://autobuild.buildroot.org/results/ab25f98d7ab8b397e2aa4f87af9cf1d814f3d6cc/
Fixes: f8bc271115 ("package/ncftp: bump to version 3.2.9")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The bundled CRoaring code enables its x64 specific code paths as soon
as __AVX2__ (or __POPCNT__ and __SSE4_2__) is defined, which also
happens on 32-bit x86 targets such as i686 with BR2_x86_haswell. This
results in calls to 64-bit only intrinsics:
roaring.h:260:18: error: implicit declaration of function '_mm_popcnt_u64'; did you mean '_mm_popcnt_u32'? [-Wimplicit-function-declaration]
Backport the upstream patch that defines DISABLE_X64 when building
for 32-bit x86, so that the portable implementation is used instead.
This issue has been present since commit 0d57555407 ("package/sysprof:
update to version 46.0"), which switched to the new sysprof code base
bundling CRoaring in contrib/eggbitset. It therefore affects 2024.08
and later.
Fixes:
https://autobuild.buildroot.org/results/f00d523aa13923c9eb73ae4e1b1f04f297512351
Fixes: 0d57555407 ("package/sysprof: update to version 46.0")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
For change log, see:
https://github.com/sharkdp/hyperfine/blob/v2.0.0/CHANGELOG.md
Changes in v2.0.0 include:
- Add support for alternative performance metrics (peak memory usage,
instructions, CPU cycles, cache misses, branch misses, ...).
- Add --env to set environment variables even without an intermediate
shell.
- Benchmarked commands are now executed directly by default, without
an intermediate shell (--shell=none).
- The JSON format for --export-json has changed (schema version 2).
Refresh the vendored cargo tarball hash for the new release.
Tested using:
utils/test-pkg -c /tmp/hyperfine.config -p hyperfine
(Result: 6 builds, 3 skipped, 0 build failed)
Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Version 2.0.1 fixes an unauthenticated remote denial of service in
version 2.0.0. A single multipart/form-data request containing a file
part without a name attribute can terminate the server process. The
issue is rated high severity with a CVSS 3.1 score of 7.5.
The release also replaces the blocking-start pthread mutex and condition
variable with C++20 atomic wait and notify operations. The existing C++20,
GCC 11 and threads requirements cover this change.
https://github.com/etr/libhttpserver/releases/tag/2.0.1https://github.com/etr/libhttpserver/security/advisories/GHSA-q8g6-h8wv-pr43
Signed-off-by: Stephan Hoffmann <sho@relinux.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
uClibc support was disabled in commit:
fb72418160.
This problem is solved in 1.0.59. So in internal
Buildroot toolchains and external Bootlin toolchains.
Tested with aarch64 and external uClibc Bootlin toolchain.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Reviewed-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>