Neal Frager [Tue, 18 Jun 2024 03:38:49 +0000 (04:38 +0100)]
board/zynqmp: cleanup
Now that all zynqmp defconfigs have been bumped to xilinx-v2024.1, this patch
cleans up the board/zynqmp dir by removing files that are no longer necessary.
Migrated u-boot to xilinx_zynqmp_kria_defconfig, so uboot.fragment no longer
needed.
With u-boot 2024.1, CONFIG_SYS_SPI_U_BOOT_OFFS has a new meaning. It is now
the offset between the base address of the boot.bin and u-boot.itb instead of
a raw base address of u-boot.itb. This allows for A/B firmware updates since
the u-boot.itb is set by default to a 0x80000 offset of the boot.bin.
Thus, Kria SOMs come with the following QSPI address table.
In addition, the kd240 still requires a board specific patch for the usb to sd
card bridge device. Without the board specific patch in the
./board/zynqmp/kria/kd240/patches directory, the usb will not come up correctly
and u-boot will not be able to find the sd card containing the Linux kernel and
file system.
package/oatpp: update the patches to be applied with fuzz 0
Commit 8f88a644ed7d6 ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.
Due to this change, oatpp fails to build with output:
Applying 0001-src-oatpp-core-base-Environment.hpp-include-cstdarg.patch using patch:
patching file src/oatpp/core/base/Environment.hpp
Hunk #1 FAILED at 29.
1 out of 1 hunk FAILED -- saving rejects to file src/oatpp/core/base/Environment.hpp.rej
This commit refreshes the package patch on the current package version.
package/pulseview: update the patches to be applied with fuzz 0
Commit 8f88a644ed7d6 ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.
Due to this change, pulseview fails to build with output:
Applying 0001-Replace-obsolete-deprecated-Qt-methods.patch using patch:
patching file pv/util.cpp
Hunk #2 succeeded at 175 (offset 4 lines).
Hunk #3 succeeded at 285 (offset 4 lines).
patching file pv/util.hpp
Hunk #2 succeeded at 139 (offset 1 line).
patching file pv/views/trace/decodetrace.cpp
Hunk #1 FAILED at 103.
1 out of 1 hunk FAILED -- saving rejects to file pv/views/trace/decodetrace.cpp.rej
Applying 0003-Support-glibmm-2.68.patch using patch:
patching file CMakeLists.txt
Hunk #3 FAILED at 231.
Hunk #4 FAILED at 492.
2 out of 4 hunks FAILED -- saving rejects to file CMakeLists.txt.rej
This commit refreshes the package patches on the current package version.
LICENSE hash changed due to changes in vendored components:
* copyright year updates [1][2]
* version name update [3]
* change from "Unicode, Inc. License - Data Files and Software"
to the "Unicode License v3" [4]. This is in the icu vendored
dependency which is unused in buildroot.
* new build tooling script [5] under BSD style license
NodeJS tests are passing:
$ ./utils/docker-run ./support/testing/run-tests -o ./outputs/ -k tests.package.test_nodejs
13:40:05 TestNodeJSModuleHostSrc Starting
13:40:06 TestNodeJSModuleHostSrc Building
14:05:52 TestNodeJSModuleHostSrc Building done
14:06:02 TestNodeJSModuleHostSrc Cleaning up
.14:06:02 TestNodeJSModuleHostBin Starting
14:06:03 TestNodeJSModuleHostBin Building
14:24:25 TestNodeJSModuleHostBin Building done
14:24:31 TestNodeJSModuleHostBin Cleaning up
.14:24:31 TestNodeJSBasic Starting
14:24:32 TestNodeJSBasic Building
14:42:53 TestNodeJSBasic Building done
14:43:02 TestNodeJSBasic Cleaning up
.
----------------------------------------------------------------------
Ran 3 tests in 3776.679s
Fail2ban 1.1.0 brings Python 3.12 compatibility, and removes support
for 2.x. This means 2to3 handling can be dropped.
Unfortunately fail2ban 1.1.0 still relies on asynchat and asyncore,
which have been removed from the Python standard library in
3.12. Depend on the compatibility package python-pyasynchat (which
pulls in python-pyasyncore) and remove copies bundled in upstream
code.
When packaging data_files in a wheel, those files shall have the destination
path expressed as relative to the wheel installation.
The reason for that is the wheel installation shall be contained inside a
specific folder and/or in site-packages.
When building the wheel file by the bdist_wheel command, python will package
files with absolute paths as python files ending up installing them in
site-packages.
package/pkg-python: fix pep517 data files installation
When installing a wheel in pep517 compatibility mode, the pyinstaller.py is
invoked with the --data parameter which point to the directory in which data
files should be installed.
Actually the --data parameter points to the /usr subdirectory which is indeed
wrong cause it shall point to the root directory where the wheel will be
installed.
This fixes the problem of having configuration files installed in /usr/etc
instead of /etc.
Yann E. MORIN [Sun, 9 Jun 2024 19:55:19 +0000 (21:55 +0200)]
package/bcc: add missing dependencies to comment
Since its inception in 146498d13c48 (package/bcc: new package), not all
the dependencies of bcc are mirrored in the comment to be displayed when
those dependencies are not met.
Fix that by adding the missing pieces:
- wchar,
- threads
- dynamic libs,
GCC 14 complains if the arguments to calloc (nmemb, size) are swapped
around, causing a build failure as dump1090 builds with -Werror:
net_io.c:107:34: error: 'calloc' sizes specified with 'sizeof' in the earlier argument and not in the later argument [-Werror=calloc-transposed-args]
107 | if (!(service = calloc(sizeof(*service), 1))) {
Add a patch from an upstream pull request to fix that.
Julien Olivain [Sat, 22 Jun 2024 11:46:21 +0000 (13:46 +0200)]
configs/spike_riscv32: new defconfig
Buildroot commit [1] updated riscv-isa-sim (Spike), which now includes
a NS16550 uart emulation. This can be used by RV32 Linux Kernel. This
commit introduce a defconfig for running Linux on Spike RISC-V 32-bit
ISA simulator.
Dario Binacchi [Sat, 22 Jun 2024 18:04:32 +0000 (20:04 +0200)]
configs/stm32mp157a_dk1: add hashes
The patch adds .hash files for Arm trusted firmware, Linux, Linux headers
and U-Boot and then enables BR2_DOWNLOAD_FORCE_CHECK_HASHES. With this, we
can now drop the defconfig from .checkpackageignore.
This error is due to an API update in libxml2, enforcing const on more
struct in version 2.12.0 (see [1]). Buildroot now tracks v2.12.5.
Upstream Webkit project has already issued the corresponding fix ([2]),
which updates corresponding internal prototypes depending on libxml2
version, but the qt5webkit version tracked in buildroot does not integrate
the corresponding Webkit version.
Fix this build issue by bringing the upstream patch "as is" from Webkit
No autobuilder references because this build error was hidden by
another build error fixed in a previous patch.
qt5webkit build currently fails with the following error:
[...] parser.rb:587:in `block in parseSequence': undefined method `=~' for an instance of Annotation (NoMethodError)
from <internal:kernel>:187:in `loop'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:654:in `block in parseSequence'
from <internal:kernel>:187:in `loop'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:814:in `parseData'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:818:in `parse'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:780:in `block in parseSequence'
from <internal:kernel>:187:in `loop'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:625:in `block in parseSequence'
from <internal:kernel>:187:in `loop'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:586:in `parseSequence'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:814:in `parseData'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/parser.rb:818:in `parse'
from /home/alexis/src/buildroot_min/output/build/qt5webkit-5.212.0-alpha4/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb:68:in `<main>'
This issue is due to =~ being marked as deprecated since a few Ruby
versions, and finally removed in 3.2.0 [1]. This now breaks the build since
buildroot has moved to Ruby v3.3.0.
The corresponding fix has already been issued in upstream Webkit project
[2], but qt5webkit version tracked in buildroot does not have the
corresponding webkit version pulled. Fix this build error by bringing the upstream
patch. The patch is slightly modified (exclude part about Changelog file,
which is absent from qt5webkit)
Commit 8f88a644ed7d6 ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.
Due to this change, qt5webkit fails to build with output:
Applying 0004-Remove-invalid-g_object-declarations-to-fix-build-wi.patch using patch:
patching file Source/WTF/wtf/glib/GRefPtr.h
Hunk #1 FAILED at 29.
1 out of 1 hunk FAILED -- saving rejects to file Source/WTF/wtf/glib/GRefPtr.h.rej
This commit refreshes the package patch on the current package version.
Fabrice Fontaine [Sun, 11 Feb 2024 22:02:22 +0000 (23:02 +0100)]
package/jack2: fix build with python 3.12
Fix the following build failure with python 3.12 (which removed imp
module):
Traceback (most recent call last):
File "/home/autobuild/autobuild/instance-7/output-1/build/jack2-1.9.22/./waf", line 166, in <module>
from waflib import Scripting
File "/home/autobuild/autobuild/instance-7/output-1/build/jack2-1.9.22/waflib/Scripting.py", line 10, in <module>
from waflib import Utils, Configure, Logs, Options, ConfigSet, Context, Errors, Build, Node
File "/home/autobuild/autobuild/instance-7/output-1/build/jack2-1.9.22/waflib/Configure.py", line 16, in <module>
from waflib import ConfigSet, Utils, Options, Logs, Context, Build, Errors
File "/home/autobuild/autobuild/instance-7/output-1/build/jack2-1.9.22/waflib/Options.py", line 14, in <module>
from waflib import Logs, Utils, Context, Errors
File "/home/autobuild/autobuild/instance-7/output-1/build/jack2-1.9.22/waflib/Context.py", line 9, in <module>
import os, re, imp, sys
ModuleNotFoundError: No module named 'imp'
Yann E. MORIN [Sun, 2 Jun 2024 18:23:08 +0000 (20:23 +0200)]
utils/genrandconfig: do not check certificates with curl
genrandconfig is used in autobuilders, and some autobuilders are running
on old distributions that are lacking the most recent CAs, causing build
failures because package sources can't be retrieved.
Do for the curl backend what we already did a while back for the wget
backend, with commit 0866a280e40a (utils/genrandconfig: use
--no-check-certificate in wget by default); in curl, the equivalent
would be --insecure, and applies to the ftps transport.
The integrity of the downloads are validated against our bundled hashes
so there is no risk of corruption of the downloaded files. The only
issue would be that an MITM could inspect the transaction, the same way
as for the wget --no-check-certificate in 0866a280e40a, but this is not
considered a high-level issue (we're anyway talking FTPS here, that's a
legacy protocol that has other issues).
utils/genrandconfig: stop passing --passive-ftp to wget
Since we no longer use WGET to retrieve FTP-hosted files, we can drop
the --passive-ftp option from genrandconfig, as it would cause
problems on systems that use wget2.
Yann E. MORIN [Sun, 2 Jun 2024 18:23:07 +0000 (20:23 +0200)]
support/download: introduce curl backend for FTP transfers
Recent versions of wget, starting with wget 2.0, aka wget2 thereafter,
no longer support FTP (nor FTPS, aka FTP-over-SSL). wget2 is packaged in
Fedora 40, recently released; F40 does not even have the old wget
available in its repository anymore.
Introduce cURL as a download backend, that we use for FTP and FPTS
protocols.
Note that the -q flag does not means being quiet; it means that a curlrc
file should not be parsed. The long option is --disable, which meaning
is not much more obivous than the short -q. It also has to be the first
option on the command line.
sys-utils/setarch.c:106:7: error: 'PER_LINUX32_3GB' undeclared here (not in a function); did you mean 'PER_LINUX32'?
106 | X(PER_LINUX32_3GB) \
| ^~~~~~~~~~~~~~~
The Network module is explicitly required by qt6tools:
Failed to find required Qt component "Network".
We need host-qt6base with Sql support for host-qt6tools to build the
qhelpgenerator host tool. qt6tools will fail to build if qhelpgenerator
is not available:
Failed to find the host tool "Qt6::qhelpgenerator". It is part of the
Qt6ToolsTools package, but the package did not contain the tool. Make sure
that the host module Tools was built with all features enabled (no
explicitly disabled tools).
Add host-qt6wayland as dependency to build the qtwaylandscanner host
tool:
Failed to find the host tool "Qt6::qtwaylandscanner". It is part of the
Qt6WaylandScannerTools package, but the package could not be found. Make
sure you have built and installed the host WaylandScanner module, which
will ensure the creation of the Qt6WaylandScannerTools package.
Select the qt6base and host-qt6base Gui modules to avoid skipping the
build:
Skipping the build as the condition "TARGET Qt::Gui" is not met.
Add host-qt6svg to dependencies when qt6svg is available to build the
required svgtoqml host tool:
Failed to find the host tool "Qt6::svgtoqml". It is part of the
Qt6QuickTools package, but the package could not be found. Make sure you
have built and installed the host Quick module, which will ensure the
creation of the Qt6QuickTools package.
Select the host-qt6base Testlib module to build the qmltestrunner host
tool when the qt6base Testlib module is enabled:
Failed to find the host tool "Qt6::qmltestrunner". It is part of the
Qt6QmlTools package, but the package did not contain the tool. Make sure
that the host module Qml was built with all features enabled (no explicitly
disabled tools).
Select the host-qt6base Network module to build the qmlprofiler host
tool when the qt6base Network module is enabled:
Failed to find the host tool "Qt6::qmlprofiler". It is part of the
Qt6QmlTools package, but the package did not contain the tool. Make sure
that the host module Qml was built with all features enabled (no explicitly
disabled tools).
Add patch to avoid checking for FEATURE_ssl when FEATURE_network
is not available. FEATURE_ssl is defined by the Qt Network module. So
we will get the following build failure if the patch is not applied and
FEATURE_network=ON:
Attempting to evaluate feature ssl but its definition is missing. Either
the feature does not exist or a dependency to the module that defines it is
missing
We need host-qt6base with Gui support when building host-qt6shadertools,
otherwise the build is skipped and no qsb host tool is generated:
Skipping the build as the condition "TARGET Qt::Gui" is not met.
qt6shadertools fail to build if qsb is not available:
Failed to find the host tool "Qt6::qsb". It is part of the
Qt6ShaderToolsTools package, but the package could not be found. Make sure
you have built and installed the host ShaderTools module, which will ensure
the creation of the Qt6ShaderToolsTools package.
package/qt6/qt6base: add blind option to enable Sql support on host
We need host qt6base with Sql support for host-qt6tools to generate the
qhelpgenerator host tool. qt6tools will fail to build if qhelpgenerator is not
available.
package/qt6/qt6base: add blind option to enable Test support on host
We need host-qt6base with Testlib support when building host-qt6declarative
with QuickTest support. QuickTest support is further required for building the
qmltestrunner host tool. qt6declarative will fail to build if qmltestrunner is
not available.
package/qt6/qt6base: add blind option to enable GUI support on host
We need host-qt6base with Gui support when building host-qt6shadertools,
otherwise the build is skipped and no qsb host tool is generated.
qt6shadertools fail to build if qsb is not available.
Fabrice Fontaine [Sun, 16 Jun 2024 18:07:42 +0000 (20:07 +0200)]
package/beecrypt: drop package
As advocated by Yann E. Morin [1], drop beecrypt as package is not
maintained anymore.
This will also avoid the following build failure with gcc 14:
blockmode.c: In function 'blockEncryptCTR':
blockmode.c:162:42: error: implicit declaration of function 'swapu32' [-Wimplicit-function-declaration]
162 | buf[i] = swapu32(fdback[j]);
| ^~~~~~~
Yann E. MORIN [Sun, 16 Jun 2024 14:10:41 +0000 (16:10 +0200)]
board/chromebook: use global-patch-dir for kernel patch
We're going to add hashes soon, so we'll need to have that directory
populated with hash files, and it would then be a bit confusing to not
have the patch file in the patches directory...
Jarkko Sakkinen [Tue, 11 Jun 2024 16:55:39 +0000 (19:55 +0300)]
package/systemd: fix build with recent kernels
Backport a patch from upstream that adds the magic number for the
bcachefs superblock. Otherwise, systemd 254.13 fails to compile with
the latest kernel versions.
Yegor Yefremov [Mon, 10 Jun 2024 09:38:33 +0000 (11:38 +0200)]
package/tftpd: bump to latest git commit
Fixes the following error when compiled against GCC 14.x:
tftp.c: In function ‘tftp_sendfile’:
tftp.c:88:5: error: implicit declaration of function ‘bsd_signal’; did
you mean ‘ssignal’? [-Wimplicit-function-declaration]
88 | bsd_signal(SIGALRM, timer);
| ^~~~~~~~~~
| ssignal
tftp.c:88:5: warning: nested extern declaration of ‘bsd_signal’ [-Wnested-externs]
main.c: In function ‘main’:
main.c:308:5: error: implicit declaration of function ‘bsd_signal’;
did you mean ‘ssignal’? [-Wimplicit-function-declaration]
308 | bsd_signal(SIGINT, intr);
| ^~~~~~~~~~
| ssignal
main.c:308:5: warning: nested extern declaration of ‘bsd_signal’ [-Wnested-externs]
Remove an upstreamed patch.
tftpd/tftpd.c has changed, hence, change its checksum.
Raphaël Mélotte [Mon, 17 Jun 2024 08:03:09 +0000 (10:03 +0200)]
package/systemd: fix compiling with headers < 4.14
In commit 360a7cd738a85067ba60b029ca88eb7c874bfe4f ("package/systemd:
bump linux-headers dependency to 4.14"), the headers requirements were
bumped to 4.14 because of new build failures due to
LOOP_SET_BLOCK_SIZE.
Even though systemd does not recommend using it with headers <
4.15 (see [1]), it is still possible to build it and use some of its
features (after fixing the build failure).
Note that this was build-tested with 4.4 headers only, and not all the
way back to 3.15 (which is the version requirement that was used
before 360a7cd738a85067ba60b029ca88eb7c874bfe4f).
The patch adds .hash files for Linux, Linux headers and U-Boot and then
enables BR2_DOWNLOAD_FORCE_CHECK_HASHES. With this, we can now drop the
defconfig from .checkpackageignore.
configs/stm32f469_disco_{sd, xip}: bump Linux to 5.15.162
The patch bumps the Linux kernel to version 5.15.162 for both
configurations and U-Boot to version 2024.04 for the SD one. Using the
same kernel will subsequently allow adding the hash files in a single
location.
Furthermore, now even the xip configuration uses the same headers as
the used Linux kernel.
See here for a ChangeLog:
https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-20-current.md
20.8.1 contains a fix for CVE-2024-35190. However, the vulnerability
was introduced in commit 68a49128253f677f9e1b235c70d2316342372f7d
between 20.7.0 and 20.8.0, and Buildroot was using 20.7.0, so we were
not affected by this vulnerability.
package/snappy: fix compilation error raised by vqtbl1q_u8 instruction
The package compilation for the raspberrypi3_qt5we_defconfig raises the
following error:
In file included from buildroot/output/build/snappy-1.1.10/snappy.cc:29:
buildroot/output/build/snappy-1.2.1/snappy-internal.h: In function ‘snappy::internal::V128 snappy::internal::V128_Shuffle(V128, V128)’:
buildroot/output/build/snappy-1.2.1/snappy-internal.h:109:10: error: ‘vqtbl1q_u8’ was not declared in this scope; did you mean ‘vtbl1_u8’?
109 | return vqtbl1q_u8(input, shuffle_mask);
| ^~~~~~~~~~
| vtbl1_u8
make[4]: *** [CMakeFiles/snappy.dir/build.make:118: CMakeFiles/snappy.dir/snappy.cc.o] Error 1
The issue was raised by commit b3fb0b5b4b076 ("Enable vector byte
shuffle optimizations on ARM NEON") contained in version 1.1.10.
As requested by Buildroot's autobuilder tracking outdated packages.
Build tested with:
$ ./utils/test-pkg -c ltris.config -p ltris -a
arm-aarch64 [ 1/41]: OK
bootlin-aarch64-glibc [ 2/41]: OK
bootlin-arcle-hs38-uclibc [ 3/41]: OK
bootlin-armv5-uclibc [ 4/41]: OK
bootlin-armv7-glibc [ 5/41]: OK
bootlin-armv7m-uclibc [ 6/41]: SKIPPED
bootlin-armv7-musl [ 7/41]: OK
bootlin-m68k-5208-uclibc [ 8/41]: SKIPPED
bootlin-m68k-68040-uclibc [ 9/41]: OK
bootlin-microblazeel-uclibc [10/41]: OK
bootlin-mipsel32r6-glibc [11/41]: OK
bootlin-mipsel-uclibc [12/41]: OK
bootlin-nios2-glibc [13/41]: OK
bootlin-openrisc-uclibc [14/41]: OK
bootlin-powerpc64le-power8-glibc [15/41]: OK
bootlin-powerpc-e500mc-uclibc [16/41]: OK
bootlin-riscv32-glibc [17/41]: OK
bootlin-riscv64-glibc [18/41]: OK
bootlin-riscv64-musl [19/41]: OK
bootlin-s390x-z13-glibc [20/41]: OK
bootlin-sh4-uclibc [21/41]: OK
bootlin-sparc64-glibc [22/41]: OK
bootlin-sparc-uclibc [23/41]: OK
bootlin-x86-64-glibc [24/41]: OK
bootlin-x86-64-musl [25/41]: OK
bootlin-x86-64-uclibc [26/41]: OK
bootlin-x86-i686-musl [27/41]: OK
bootlin-xtensa-uclibc [28/41]: OK
br-arm-basic [29/41]: OK
br-arm-full-nothread [30/41]: OK
br-arm-full-static [31/41]: OK
br-i386-pentium4-full [32/41]: OK
br-mips64-n64-full [33/41]: OK
br-mips64r6-el-hf-glibc [34/41]: OK
br-powerpc-603e-basic-cpp [35/41]: OK
br-powerpc64-power7-glibc [36/41]: OK
linaro-aarch64-be [37/41]: OK
linaro-aarch64 [38/41]: OK
linaro-arm [39/41]: OK
sourcery-mips64 [40/41]: OK
sourcery-mips [41/41]: OK
41 builds, 2 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed