BR2_GOPROXY now configures the Go module proxy URL used to download Go modules
specified in project go.mod and go.sum files. By default, it uses Google's
official Go module mirror at proxy.golang.org, falling back to direct downloads
if the module is not found in the mirror.
The default value from the toolchain can be read with "go env GOPROXY"
We rely on package developers to audit their dependencies in go.mod and go.sum.
The value can be configured to:
- A comma-separated list of proxy URLs
- "off" to disable all downloads
- "direct" to download directly from source repositories
For more details on Go module proxies:
https://go.dev/ref/mod#module-proxy
Discussion:
https://lore.kernel.org/all/CADvTj4pXO2rwJ8oCzzGNY+OxLuo3uJnDT2PAxbyquw0L6dhfiA@mail.gmail.com/T/#t
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This change sets the default GOPROXY value to match Go's built-in
default of "https://proxy.golang.org,direct" which provides several
benefits:
- Avoid package breakages due to missing module sources
- Better alignment with upstream Go toolchain defaults
- Faster downloads via the proxy compared to direct Git clones
- Maintains reproducible builds through Go's module checksum validation
The default value from the toolchain can be read with "go env GOPROXY"
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Chawan is a text-mode web browser and pager for Unix-like systems, with
a focus on implementing modern web standards while remaining
self-contained, easy to understand and extensible.
It includes functionality such as CSS, inline images inside the
terminal, and JavaScript through a small, independent browser engine.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Nim is a statically typed compiled systems programming language. It
combines successful concepts from mature languages like Python, Ada and
Modula. See https://nim-lang.org/ for more information.
This is a host-only package required for the new chawan package.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
In order to avoid duplicating the build command, use an intermediate
"target" shell variable to store the make target to be invoked for the
build. This is in preparation to extending the build command.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Acked-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Qt can optionally be used to build an example VNC client. Like for the
other example clients (Gtk, SDL, etc.), let's disable building this
example client. First because we don't care, and second because it
fails to build:
CMake Error: Cannot determine link language for target "client_examples_qt5client".
CMake Error: CMake can not determine linker language for target: client_examples_qt5client
This Qt client was introduced in libvncserver version 0.9.15 (by
upstream commit b44665c0a28ba3776edebb57548562cf7ddc117f).
No autobuilder issues were found, but the problem can be reproduced
using:
BR2_aarch64=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_AARCH64_GLIBC_STABLE=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_WIDGETS=y
BR2_PACKAGE_LIBVNCSERVER=y
BR2_PACKAGE_LIBVNCSERVER_INSTALL_STOREPASSSWD=y
Fixes: 3b62f17f32 ("package/libvncserver: bump to version 0.9.15")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
jansson is needed for BR2_PACKAGE_NETWORK_MANAGER_OVS (which selects
BR2_PACKAGE_JANSSON), but practically speaking, network-manager's
meson.build detects jansson regardless of ovs=true. So we make this
jansson optional dependency explicit.
This commit doesn't fix anything, it only makes the dependency more
explicit.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since upstream commit
e5d2c7cc6dd5f8146954d52855fff36febd03d5b ("meson: fix
cross-compilation issues"), which first came in release 1.58.0, the
jansson detection logic is broken causing the sysroot path to be
prepended twice, causing build failures:
../output-1/build/network-manager-1.58.1/meson.build:307:2: ERROR: Assert failed: Unable to determine Jansson SONAME
We fix this by doing a partial revert of the upstream commit. We have
submitted this partial revert upstream.
Fixes: https://autobuild.buildroot.net/results/104c0e15617d52ae73930fa1c439b7f426837e8d/
Fixes: 67cb61bea5 ("package/network-manager: bump version to 1.58.1")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since version 4.2, mg uses iswalnum() from <wctype.h> to tell whether
a UTF-8 character is part of a word (upstream commit ee22ef729b16
"Tell UTF-8 words by their Unicode class"). This breaks the build with
toolchains that lack wide character support, such as uClibc without
WCHAR:
utf8.c:23:10: fatal error: wctype.h: No such file or directory
23 | #include <wctype.h>
| ^~~~~~~~~~
Add a dependency on BR2_USE_WCHAR, together with the matching comment.
This issue has been present since commit 3b5fbe8f6e ("package/mg:
bump to v4.4"), which updated mg from 4.1, so it pulled in this
change. That commit is not part of any release nor of any maintenance
branch yet, so only master is affected.
Fixes:
https://autobuild.buildroot.org/results/9d55c1b27627118c4279d9aade9f65b45db57e52
Fixes: 3b5fbe8f6e ("package/mg: bump to v4.4")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To match the NXP BSP version LF6.18.37_2.1.0.
License hashes changed because the LA_OPT_NXP_Software_License changed from
"v63 May 2025" to "v64.2 May 2026".
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The patch bumps the Linux kernel to version 6.18.56 and U-Boot to
version 2026.10.
Tested on beaglebone black.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
gcc 15 defaults to the C23 standard, where bool, true and false are
keywords. The am33x-cm3 code base defines them in its own stddef.h,
so the build fails with:
src/include/stddef.h:18:15: error: 'bool' cannot be defined via 'typedef'
18 | typedef _Bool bool;
| ^~~~
src/include/stddef.h:19:8: error: cannot use keyword 'false' as enumeration constant
19 | enum { false, true };
| ^~~~~
The upstream project has not received any commit since 2018 and none
of its branches fix this issue, so rather than carrying a patch that
cannot be submitted to an active upstream, force the GNU C11 standard
in the .mk file.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
tqftpserv is a TFTP server over QRTR: the modem of Qualcomm SoCs fetches
files from Linux through it, e.g. the WLAN firmware (wlanmdsp.mbn) on
SoCs whose WLAN firmware runs on the modem. Files are looked up next to
the remoteproc firmware under /lib/firmware; xz and zstd compressed
files are handled when those libraries are enabled.
The systemd units are installed only with systemd as init; a sysv init
script is provided otherwise.
The patch defines _GNU_SOURCE in translate.c, which calls asprintf():
uClibc-ng declares it only then, so the build failed there (test-pkg,
bootlin-armv5-uclibc). Submitted upstream as well.
Tested on an Arduino UNO Q (Qualcomm QRB2210): the modem fetches
wlanmdsp.mbn through it and the ath10k WLAN interface comes up.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
rmtfs serves the EFS partitions of the modem of Qualcomm SoCs (modemst1,
modemst2, fsg, fsc) over QRTR and the rmtfs shared memory; without it
the modem firmware stalls during its boot.
The tarball ships the QMI encoders pre-generated, so the qmic code
generator is not needed; the .c/.h files are touched before the build
so make does not try to regenerate them. The sysv init script starts
the daemon with -P (EFS partitions by GPT label) and skips when there is
no rmtfs shared memory; RMTFS_ARGS can be overridden in
/etc/default/rmtfs (e.g. -s to let rmtfs start the modem). With systemd
the upstream unit and udev rule are installed.
Tested on an Arduino UNO Q (Qualcomm QRB2210): with sysv init the modem
boots, its EFS is served from the modemst1/modemst2/fsg partitions and
its WLAN firmware comes up.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Userspace for the Qualcomm IPC Router (QRTR), the transport between
Linux and the remote processors of Qualcomm SoCs: libqrtr plus the
qrtr-cfg and qrtr-lookup tools. rmtfs and tqftpserv, which the modem
needs to boot, are built on it.
The name service has been part of the kernel since Linux 5.7, so the
userspace qrtr-ns daemon (and its systemd unit) is not built.
lib/qmi.c, built into libqrtr, carries its own BSD-3-Clause notice
(The Linux Foundation, Linaro), so it is listed as a license file next
to LICENSE. The GPL-2.0 SPDX tags in the tree are on CI scripts only.
Tested on an Arduino UNO Q (Qualcomm QRB2210): qrtr-lookup lists the
modem's services after it boots.
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
iperf3 3.22 added a new "goto errreturn" to decrypt_rsa_message(), on
a code path that is common to all OpenSSL versions, but the
errreturn label is only defined when OPENSSL_VERSION_MAJOR >= 3.
LibreSSL does not define OPENSSL_VERSION_MAJOR, so the build fails
with:
iperf_auth.c: In function 'decrypt_rsa_message':
iperf_auth.c:343:9: error: label 'errreturn' used but not defined
343 | goto errreturn; /* or: return 0; — never read more than output_buffer_len bytes */
| ^~~~
Backport the upstream commit that defines the label unconditionally.
This issue has been present since commit cb129a641b ("package/iperf3:
security bump version to 3.22"), as the broken code first appeared in
iperf 3.22. That commit is not part of any release nor of any
maintenance branch yet, so only master is affected, but this fix
should go along with the 3.22 bump if it gets backported.
Fixes:
https://autobuild.buildroot.org/results/6ed8f60f56f7fcd11eaa1ba160837275b8113e1a
Fixes: cb129a641b ("package/iperf3: security bump version to 3.22")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since version 2.4, dovecot's configure defaults to --with-lua=auto and
picks up any Lua found through pkg-config, as long as it is >= 5.1 and
not 5.2. However, src/lib-lua/dlua-iostream.c, also new in 2.4, uses
luaL_Stream, luaL_tolstring() and luaL_fileresult(), which only exist
since Lua 5.2 and are not covered by dovecot's compat layer, so the
build fails when Lua 5.1 happens to be built before dovecot:
dlua-iostream.c:16:28: error: field 'stream' has incomplete type
dlua-iostream.c:68:24: error: implicit declaration of function 'luaL_tolstring'; did you mean 'lua_tolstring'? [-Wimplicit-function-declaration]
Handle Lua explicitly: enable it, and add the missing dependency, only
with Lua 5.3/5.4, and pass --without-lua otherwise, which also covers
LuaJIT as it only provides the Lua 5.1 API. This also makes the build
reproducible, as Lua is no longer picked up depending on build order.
This issue has been present since commit 894cbeddaf
("package/dovecot{-pigeonhole}: security bump version to 2.4.5"), as
dovecot 2.3 only enabled Lua when explicitly requested. That commit is
not part of any release yet.
Fixes:
https://autobuild.buildroot.org/results/e4cf30f6ca8b18ac010755bf13fc1d5e92eda575
Fixes: 894cbeddaf ("package/dovecot{-pigeonhole}: security bump version to 2.4.5")
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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>