Commit Graph

84167 Commits

Author SHA1 Message Date
Francois Perrad
8c5fd55efa package/perl-net-dns: bump to version 1.57
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:59 +02:00
Francois Perrad
1361b5fc4b package/perl-mojolicious: bump to version 9.49
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:58 +02:00
Francois Perrad
a0550f417d package/perl-mime-tools: bump to version 5.519
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:57 +02:00
Francois Perrad
58bfd1a7a9 package/perl-libwww-perl: bump to version 6.83
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:55 +02:00
Francois Perrad
6d1d80b796 package/perl-devel-size: bump to version 0.87
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:54 +02:00
Francois Perrad
8424f5c956 package/perl-http-message: bump to version 7.04
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:52 +02:00
Francois Perrad
a380ee2a16 package/perl-date-manip: bump to version 7.00
Signed-off-by: Francois Perrad <francois.perrad.86@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-13 08:41:48 +02:00
Dario Binacchi
e17cfc9b3b package/cutekeyboard: enable build with Qt6
Enable building of cutekeyboard with Qt6. With the merge of
QuickControls2 into qtdeclarative, the corresponding Kconfig option has
also disappeared in Buildroot.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Andrea Ricchi <andrea.ricchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-12 12:20:26 +02:00
Dario Binacchi
58019aa10c package/qwt: enable build with Qt6
Version 6.3.0 added support for Qt6, so enable building Qwt with Qt6 as
well.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-12 12:19:59 +02:00
Dario Binacchi
d759d9cd48 package/pkg-qmake: support Qt6
The qmake infrastructure hardcodes qt5base as the Qt provider. Select
the Qt major version from BR2_PACKAGE_QT5, which is mutually exclusive
with BR2_PACKAGE_QT6, and use it to pick the qt<N>base dependency, the
QT<N>_QMAKE command and the QT<N>_QT_CONF_FIXUP hook.

The header sync hook now takes the version from QT<N>_VERSION_MAJOR and
QT<N>_VERSION instead of hardcoding 5.15.

Document in the manual which Qt base package is added to the dependencies.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
[Arnout: write pkg-qmake with explicitly QT_XXX helper variables]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-12 12:18:07 +02:00
Dario Binacchi
8f975c3f20 package/qwt: bump to version 6.3.0
Release notes:
https://sourceforge.net/p/qwt/git/ci/qwt-6.2/tree/CHANGES-6.2
https://sourceforge.net/p/qwt/git/ci/develop/tree/CHANGES-6.3

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-12 10:55:17 +02:00
Dario Binacchi
bf9b13a7f5 package/qt6: add QT6_QT_CONF_FIXUP hook
With per-package directories, qt.conf is generated at qt6base install
time and holds the paths of the qt6base per-package host directory.
Add a hook to regenerate it with the paths of the package being built,
as QT5_QT_CONF_FIXUP does for Qt5. The qmake infrastructure will use it.

Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-12 10:54:24 +02:00
Jesse Van Gavere
42d7900bbc package/qt6: add qmake functionality
The qmake functionality had been missing due to the new host/target
build requirement, to get it working the main parts of the qt5 qmake
has been kept, we're still making our own device spec which we use to
run qmake with along with passing some additional device options for our
flags/cross-compiler.

qt6 has its own cross-compiling qmake wrapper script. However, that
hardcodes the paths to different places than where we have them.

QT6_INSTALL_QT_CONF will be used by the qmake-package infrastructure
later so it is put in qt6.mk, even though currently it's only used by
qt6base.

A big thanks to Angelo Compagnucci for the encouragement and testing.

[dario: fix HostData and add the target install dirs in qt.conf.in,
quote QT_QMAKE_DEVICE_OPTIONS, use TARGET_CFLAGS/TARGET_CXXFLAGS,
change the commit message]

Signed-off-by: Jesse Van Gavere <jesseevg@gmail.com>
Tested-by: Angelo Compagnucci <angelo@amarulasolutions.com>
Tested-by: Richard GENOUD <richard.genoud@bootlin.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-12 10:49:51 +02:00
Bernd Kuhls
a2142664e9 {linux, linux-headers}: bump 7.2.x, 6.18.x series
Update the latest kernel releases to:
 - 7.2.9 -> 7.2.10
 - 6.18.55 -> 6.18.56

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
2026-10-11 23:49:29 +02:00
Thibaut Collet
1468b63006 package/lldpd: fix compilation issue with kernel 7.3 on aarch64
lldpd bundles some uapi linux files for old distributions, especially
the types.h one.

Since kernel commit d4bf9e08d412 ("arm64: uapi: Use __u128 instead of
__uint128_t in UAPI headers"), the type __u128 is used by sigcontext.h.
This type is defined in types.h, but the old version bundled by lldpd
does not provide it. This lack leads to the following compilation error:

  In file included from ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/bits/sigcontext.h:30,
                   from ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/signal.h:301,
                   from ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/sys/param.h:28,
                   from privsep_io.c:5:
  ../../../../host/aarch64-buildroot-linux-gnu/sysroot/usr/include/asm/sigcontext.h:81:9: error: unknown type name '__u128'; did you mean '__u32'?
     81 |         __u128 vregs[32];
        |         ^~~~~~
        |         __u32

The uapi linux files bundled by lldpd are the ones of kernel 4.19
(https://github.com/lldpd/lldpd/commit/a192a2e91f81), and they are
prepended to the include path, so they shadow the sysroot ones.

Remove them so that lldpd uses the uapi files of the sysroot, but only
when the toolchain provides kernel headers 4.19 or later. With older
headers the bundled files are kept, so those configurations are left
unchanged.

Signed-off-by: Thibaut Collet <thbt.cllt@gmail.com>
Reviewed-by: Vincent Jardin <vjardin@free.fr> (✓ DKIM/buildroot.org)
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 23:06:29 +02:00
Thomas Devoogdt
4422d99a4e package/wpewebkit: also disable internal ccache in the build step
WK_USE_CCACHE=NO is only passed to the configure step
(WPEWEBKIT_CONF_ENV). During the build step, ninja can run cmake again
(e.g. when a cmake input such as toolchainfile.cmake changed), and that
run does not have WK_USE_CCACHE set. WebKit's WebKitCCache.cmake then
sets ccache as compiler launcher again.

That outer ccache runs without the CCACHE_BASEDIR that the toolchain
wrapper sets for its own ccache call, so the cache keys and manifests
contain absolute paths, and the entries only match in the same checkout
directory.

Pass WK_USE_CCACHE=NO to the build step too.

Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Acked-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 22:59:56 +02:00
Thomas Devoogdt
9f0aacb634 package/webkitgtk: also disable internal ccache in the build step
WK_USE_CCACHE=NO is only passed to the configure step
(WEBKITGTK_CONF_ENV). During the build step, ninja can run cmake again
(e.g. when a cmake input such as toolchainfile.cmake changed), and that
run does not have WK_USE_CCACHE set. WebKit's WebKitCCache.cmake then
sets ccache as compiler launcher again.

That outer ccache runs without the CCACHE_BASEDIR that the toolchain
wrapper sets for its own ccache call, so the cache keys and manifests
contain absolute paths, and the entries only match in the same checkout
directory.

Pass WK_USE_CCACHE=NO to the build step too.

Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
Acked-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 22:59:54 +02:00
Konrad Vité
7f665c8977 package/libopenssl: add 'no-tls-deprecated-ec' configuration option
Since OpenSSL 3.5, commit fed9be39ffec ("Make RFC8422 deprecated TLS EC
curves disablable"), OpenSSL has the option to disable support
for legacy TLS EC groups that were deprecated in RFC8422.

In OpenSSL 4.0, the option will be removed again and instead there will
be an option to _enable_ the legacy curves.

Add a Kconfig option to enable the deprecated curves. Use positive logic
already, i.e. the Kconfig option enables them.

Signed-off-by: Konrad Vité <konrad.vite@cherry.de>
Acked-by: Quentin Schulz <quentin.schulz@cherry.de>
[Arnout: clarify that enabling this option is dangerous]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 22:51:25 +02:00
Fiona Klute (WIWA)
f43af4ef31 configs/raspberrypicm4io_64_uboot_defconfig: new defconfig
The new config deviates from the existing
configs/raspberrypicm4io_64_defconfig only as far as necessary to
demonstrate booting through U-Boot instead of having the firmware load
the kernel directly. The sample boot script loads the kernel from the
rootfs and uses the device tree provided by the firmware, and should
be compatible with any RPi device that runs U-Boot.

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
[Arnout: update kernel to same as raspberrypicm4io_64_defconfig]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 21:13:34 +02:00
Fiona Klute (WIWA)
60d1b04a69 board/raspberrypi: allow non-matching globs for DTBs
When installing DTBs from the rpi-firmware package
(BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTBS=y, the default), there's no DTB
directly in the images directory because the kernel build doesn't
provide one. The DTBs from rpi-firmware are installed in the
rpi-firmware directory.

Using pre-compiled DTBs is discouraged, but useful for using mainline
kernels until suitable DTS can be merged, or to provide U-Boot with a
DTB (via the firmware bootloader) independent of whatever kernel DTB
is in use.

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Reviewed-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 20:46:56 +02:00
Fiona Klute (WIWA)
afdd9c079d board/raspberrypi: Support boot.scr for U-Boot
If using U-Boot as "kernel" for the raspberrypi bootloader, include
boot.scr in the boot partition if it exists.

To use this, use BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE to set a config
file that uses U-Boot, and enable building a boot script in the U-Boot
host tool settings.

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Gaël PORTAY <gael.portay+rtone@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 20:45:08 +02:00
Yann E. MORIN
4738cdae83 toolchain/wrapper: move -ztext from LDFLAGS to toolchain wrapper
Passing linker flags via LDFLAGS is notoriously fragile: packages either
use LDFLAGS with the gcc frontend, or directly with ld. This means that
care must be taken to only pass flags that are recognised by both gcc
and ld, which usually proves a bit challenging, as bd035872be
(package/Makefile.in: Use "-z text" instead of "-Wl, -z, text")
demonstrates (later amended by 3a39e706a9).

It turns out that we already have a better, robust way of passing
LDFLAGS via the gcc frontend: the toolchain wrapper, which we already use
to pass relro for example.

We can revert back to using -Wl,-z,text, as we're sure this is going to
be a call to the gcc frontend (the wrapper is not used for ld), which
makes it consistent with the other similar args for -z relro and -z now.

Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Cc: J. Neuschäfer <j.neuschaefer@gmx.net>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Giulio Benetti <giulio.benetti@benettiengineering.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 20:23:48 +02:00
Titouan Christophe
6d7636eb72 package/ifenslave: remove package
ifenslave has not received any recent update, has no Buildroot DEVELOPER
and its upstream NEWS [1] states the following:

  This version of the ifenslave package no longer provides /sbin/ifenslave. The
  /sbin/ip command from the iproute2 package supports creating bonding masters
  and enslaving other interfaces to it.

Its feature is available either in iproute or in Busybox, so we can
simply remove it from Buildroot.

[1] https://salsa.debian.org/debian/ifenslave/-/blob/main/debian/NEWS

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-10-11 18:20:53 +02:00
Bernd Kuhls
60f60962a6 package/cmake: bump version to 4.4.4
https://cmake.org/cmake/help/latest/release/4.4.html#id4

Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-10-11 17:32:35 +02:00
Julian Vetter
2af78232fc package/php: make sure ca-certificates can be found
If BR2_PACKAGE_CA_CERTIFICATES is present, add the ca-certificates.crt
to the php.ini, to not get SSL errors when using PHP.

Signed-off-by: Julian Vetter <julian@outer-limits.org>
Reviewed-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 16:50:55 +02:00
Shubham Chakraborty
66754d7f50 icu: fix static linking by adding -lstdc++ to pkg-config
The ICU library requires C++ standard library when linking statically.
Without this, applications using pkg-config --libs --static icu-uc
(e.g. xmlcatalog in libxml2) will fail to link with undefined reference
errors to C++ symbols.

Extend the existing fix for static linking to also add -lstdc++ to the
Libs field, not only Libs.private, when building in static-only mode
(ENABLE_SHARED is not set).

Fixes: https://autobuild.buildroot.org/results/80c/80ce2a1b8ec356dc13e3c51474fe4cac9cbe3cd6
Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
Acked-by: Andreas Ziegler <br025@umbiko.net>
[Arnout:
 - Remove checkpackageignore entry.
 - Improve patch comment.]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 16:41:49 +02:00
Sergey Matyukevich
213e01ae9c package/binutils: install libsframe to target
Starting from v2.40, binutils provides libsframe, a library for
manipulating the SFRAME debug format. Buildroot installs libsframe
to the target image only if BR2_PACKAGE_BINUTILS_TARGET option is
enabled. However other dynamic libraries from binutils are linked
against libsframe, including libbfd and libopcodes. Any binary
linked dynamically against libbfd, e.g. perf, will need libsframe
as well. So libsframe should always be installed the target together
with other binutils libraries such as libbfd and libopcodes.

Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:46:05 +02:00
Thomas Perale
1a72cf3fa8 DEVELOPERS: adding myself in packages with LTS policies
To better track the version of a package before a Buildroot LTS release
is made I'm adding myself to DEVELOPERS file for those one so I receive
alerts for this subset of packages.

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:42:23 +02:00
James Hilliard
ca81f734c9 package/python-httpx2: new package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:41:51 +02:00
James Hilliard
053898a9c1 package/python-httpcore2: new package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:41:50 +02:00
James Hilliard
3eec853901 package/python-truststore: new package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:41:50 +02:00
James Hilliard
31fd7de7a8 package/python-uv-dynamic-versioning: new host package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:41:49 +02:00
James Hilliard
68a0b32df9 package/python-dunamai: new host package
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:41:48 +02:00
Fiona Klute
ddd4788c1f utils/docker-run: mount and pass BR2_EXTERNAL dirs
The BR2_EXTERNAL environment variable is passed into the container,
and each path listed in it mounted. This allows using external trees
when running a build using utils/docker-run. Testing the existence of
the variable instead of a non-empty value allows passing an empty
BR2_EXTERNAL variable to disable currently set external trees.

The --mount option needs an absolute path for the destination. Make the
paths absolute the same way br2-external itself does it. Do not use
realpath since that resolves symlinks and would make it different from
what is in the BR2_EXTERNAL variable.

Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 15:38:19 +02:00
James Hilliard
f1fae6867b package/python-idna: bump to version 3.20
Update license hash due to copyright year update:
21cd5ddac6

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:31:45 +02:00
Vladimir Savelev
fa668003c0 configs/{orangepi-zero2w,orangepi-zero3}: set the hostname
Give both boards a recognizable hostname instead of the generic
"buildroot". The name is used for the login banner and sent as the
DHCP hostname (option 12), so the board is easy to identify on the
network.

Signed-off-by: Vladimir Savelev <anykey196@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 15:19:07 +02:00
Titouan Christophe
5e8705263c linux: add first-class support for all upstream linux versions
Add new KConfig symbols for all actively supported longterm versions of the
Linux kernel. This makes it easier for individual configs to follow updates
of their kernels, without having to frequently update them. This should
generally improve the security of the target systems, which receive frequent
security updates while preserving a stable feature set.

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
[Peter: move BR2_LINUX_KERNEL_LATEST_SERIES outside the choice to make
	utils/check-symbols happy, add version symlinks]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-10-11 15:12:50 +02:00
Titouan Christophe
0f7c08d8fb linux: always select host-uboot-tools for mips
Since Buildroot commit 40e266ccb9 [1], host-uboot-tools was always selected
for the latest Linux kernel. This change is intended for autobuilders, and
was introduced in Buildroot while the latest kernel was 6.12.

However, further investigation seem to indicate that itb images were
generated for mips for a much longer time. Linux commit eed0eabd12 [2]
seem to enable that image format, and was released in Linux 4.9.

This version being EOL for quite some time, we can therefore assume
any "not so old" Linux for mips will need host-uboot-tools to finalize
this image, and therefore we should select it when building Linux.

[1] linux: select host-uboot-tools with FIT on mips
    https://gitlab.com/buildroot.org/buildroot/-/commit/40e266ccb9
[2] MIPS: generic: Introduce generic DT-based board support
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eed0eabd12ef061821cbfa20d903476e07645320

Signed-off-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-10-11 15:12:48 +02:00
Nikita Kiryushin
f350991abf docs/manual/contribute.adoc: mention mailing list subscription requirement
The mail address used to contribute via buildroot mailing list
is required to be subscribed to the mailing list. Otherwise,
messages sent to the mailing list will be automatically rejected,
as server only accepts email from mailing list subscribers.

This behavior is not explicitly stated in the documentation
for contributors (aside from recommendation to subscribe
as the first thing for contributor to do). This may lead to an
unpleasant surprise to developers, who prefer reading mailing
lists using archives.

Add mention of mailing list subscription requirement to 'Preparing
a patch series' section of contribution manual.

Signed-off-by: Nikita Kiryushin <kiryushin@ancud.ru>
2026-10-11 14:51:59 +02:00
Thomas Perale
319aa2b9ed utils/generate-cyclonedx: add comment to explain spec_version
The commit [1] introduced the `cdx_spec_version` variable.
The reason for that variable is not immediately clear. Only the license
schema can use patch revision while the spec version should always
exclude the patch revision.

This commit adds a comment clarifying this.

[1] 504bb61bc6 utils/generate-cyclonedx: support custom schema version

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 12:18:15 +02:00
Thomas Perale
c13eabf18f utils/generate-cyclonedx: improve help text
The argparse has a set of arguments you can pass to the ArgumentParser
object to improve the looks of the help message.

The example usage used to be defined in the "description" but a "usage"
field exists [1].

Also link to the documentation in the epilog [2].

[1] https://docs.python.org/3/library/argparse.html#usage
[2] https://docs.python.org/3/library/argparse.html#epilog

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 12:18:14 +02:00
Thomas Perale
358f226809 utils/generate-cyclonedx: use argparse defaults help formatter
The argparse library documentation [1] suggest the usage of
'ArgumentDefaultsHelpFormatter' in the ArgumentParser declaration to
show the default value of every arguments.

Use this to avoid declaring this value ourself which possibly gets
outdated with the actual default value.

Note that this also adds an unnecessary default: FALSE to the --virtual
option, but that's a minor annoyance.

[1] https://docs.python.org/3/library/argparse.html#argparse.ArgumentDefaultsHelpFormatter

Suggested-by: Quentin Schulz <quentin.schulz@cherry.de>
Suggested-by: Titouan Christophe <titouan.christophe@mind.be>
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 12:18:13 +02:00
Flaviu Nistor
bd4b90e81b package/python-cramjam: new package
Add cramjam, a python bindings to de/compression algorithms.
It is needed by python-snappy package in order to bump the version.

Signed-off-by: Flaviu Nistor <flaviu.nistor@gmail.com>
[Peter: add BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS dependency, drop
        upstream tarball hash.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2026-10-11 12:16:33 +02:00
Raphaël Mélotte
48e4bab464 utils/check-symbols: check for undefined host symbols
get_warnings_for_symbols_without_definition() skips any symbol
matching BR2_PACKAGE_HOST_* or BR2_PACKAGE_HAS_HOST_*, via
br.re_host_symbol. This blanket exclusion was needed because
we don't require a Config.in.host to be present for host packages,
so BR2_PACKAGE_HOST_FOO may in fact be undefined and that's
perfectly fine.

However, this also excludes any other options that should be defined in
the Config.in.host, e.g. a BR2_PACKAGE_HOST_FOO_BAR suboption. If such
an option is misspelled in the .mk file, we will not notice.

We already treat the BR2_PACKAGE_* symbols specially. They are
considered as "used" even if there is no direct reference to them in the
.mk file. This is done in the handle_eval function. Depending on the
package infra and the type of package (bootloader, toolchain, ...) it
sets the corresponding kconfig symbol as "used".

At that point, we can also handle the special case of the host kconfig
symbols. Instead of a blanket exclusion, we say that the
BR2_PACKAGE_HOST_FOO option is implicitly defined by the eval statement.
We only add BR2_PACKAGE_HOST_FOO as implicitly defined, so any
suboptions will still be checked by
get_warnings_for_symbols_without_definition().

We could alternatively also have skipped the "usage" marking of host
packages. This approach felt more consistent though.

Make handle_eval() in checksymbolslib/makefile.py record the
implicitly defined symbols directly, at the $(eval $(host-...))
line that creates them:
- BR2_PACKAGE_HOST_<PKG> as a definition, for host-*-package and
  host-virtual-package;
- BR2_PACKAGE_HAS_HOST_<PKG> as virtual, for host-virtual-package,
  mirroring how the plain virtual-package case already registers
  BR2_PACKAGE_HAS_<PKG>.

This makes br.re_host_symbol and its use in
get_warnings_for_symbols_without_definition() unnecessary, so drop
them. The check now flags a real symbol name once it lacks both an
explicit and an implicit definition, instead of ignoring the whole
BR2_PACKAGE_HOST_*/BR2_PACKAGE_HAS_HOST_* namespace.

Assisted-by: LLM
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 12:06:34 +02:00
Raphaël Mélotte
280e9755d5 package/qemu/Config.in.host: fix typo in comment dependency
The "host-qemu needs a host gcc >= 8" comment depends on
BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORT, missing the trailing "S"
of the actual symbol BR2_PACKAGE_HOST_QEMU_USER_ARCH_SUPPORTS,
defined a few lines above and used correctly everywhere else in
this file.

Because this typo'd symbol is never defined anywhere, it is always
considered false by Kconfig, so the comment's "depends on" clause
silently loses one of its two intended conditions.

Assisted-by: LLM
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 12:06:33 +02:00
Thomas Perale
40abc660d4 utils/checkpackagelib: check IGNORE_CVES identifiers match patch trailers
The ability to check with `make check-package` the 'IGNORE_CVES'
variable content reference an existing patches was added in commit [1].

This commit extend it to actually check that the entries that are
referenced in the 'IGNORE_CVES' variable are matching the trailers in
the referenced patch.

With this change the following `foo.mk` content:

```
FOO_IGNORE_CVES += CVE-2000-1234
```

Running `make check-package` will output an error if the content of the
patch is the following:

```
CVE: CVE-2001-1234
```

[1] b00ac4e346 utils/checkpackagelib: add new check MissingCVEPatch

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
[Arnout: adapt to the trailers to using regex]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 10:23:35 +02:00
Thomas Perale
552bf40db1 utils/checkpackagelib: support other identifiers than CVE
Currently the MissingCVEPatch check will complain if another
identifiers than a CVE-YYYY-XXXX is passed after the 'CVE: '
trailer in the patch header introduced in [1].

If a package 'foo' defines the following:

FOO_IGNORE_CVES += GHSA-abcd-1234-efgh

And correctly references it in a patch header:

CVE: GHSA-abcd-1234-efgh

check-package will report the following:

package/foo/foo.mk: patch file '0001-some-patch.patch' is missing 'CVE:' tag

While we could argue that GHSA identifier should not be present in the
'IGNORE_CVES' variable, it's still valuable for users to have a way to
correctly ignore and link a patch for their vulnerability report.

From our point of view it allows us to track GHSA vulnerabilities that
could later be assigned a CVE so we can update the IGNORE_CVES variable.

This commit relaxes the constraint on the 'CVE' trailer to just check
for the presence of any identifier. We still only allow alphanumerical
characters and dashes, to be sure that any tooling that uses the
identifiers won't break.

[1] 1167d0ff3d docs/manual: mention CVE trailer

Signed-off-by: Thomas Perale <thomas.perale@mind.be>
[Arnout:
 - keep the regex but allow any alphanumerical string;
 - add a test that FOO:123 doesn't match]
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 10:23:35 +02:00
Thomas Perale
3ac595bdd1 utils/checkpackagelib: remove unused variable
The `self.pending_patch` is set but unused.

Fixes: b00ac4e346 utils/checkpackagelib: add new check MissingCVEPatch
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Signed-off-by: Arnout Vandecappelle <arnout@rnout.be>
2026-10-11 09:23:32 +02:00
Yegor Yefremov
470faf4e6d package/szip: remove package
szip is not maintained upstream anymore: 2.1.1 is the last release,
there is no public repository, and the source is only available from
the HDF Group archive. Its license is not a standard open source one,
and the HDF Group itself recommends libaec as a replacement.

The package also fails to build with GCC >= 15 on non-glibc
toolchains, as only linux-gnu hosts get -ansi from szip's configure
and the code relies on pre-C23 empty parameter lists:

  rice.c:1323:15: error: too many arguments to function 'winner_ref_function'; expected 0, have 2

libaec provides libsz, a drop-in replacement with the same API and
soname, so select it through the legacy option.

Fixes:
  https://autobuild.buildroot.org/results/5e400d0e13480c58e8b1b0178bf7e5537dd31751

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 09:06:21 +02:00
Yegor Yefremov
7e05cbe06e package/libaec: new package
libaec provides fast lossless compression of 1 up to 32 bit wide
signed or unsigned integers. It implements the Golomb-Rice compression
method under the BSD license and includes libsz, a drop-in replacement
for the SZIP library with the same API (szlib.h) and soname
(libsz.so.2).

https://github.com/Deutsches-Klimarechenzentrum/libaec

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
Assisted-by: Claude:claude-opus-5-5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-10-11 09:06:20 +02:00