The beagleboardx15 boards files should be moved to
board/beagleboard directory but doing so we noticed that
beagleboardx15_defconfig was failing to build on Buildroot's
Gitlab-Ci [1] due too old BSP (uboot 2016.11 and kernel 4.9)
built with the internal toolchain.
similar to previous problems with nios2 and not-available atomic ints
the build for Boost.Atomics also fails for ARC Targets which don't
have the ATOMICS_EXT flag set.
according to [0] "Boost.Atomic has a hard requirement of the native
atomic operations on bytes". The same tests mentioned there fail for
ARC without the atomic extension.
Disable BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS for BR2_arc
without BR2_ARC_ATOMIC_EXT.
Signed-off-by: Michael Nosthoff <[email protected]>
[Arnout: add to BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
instead of updating all packages] Signed-off-by: Arnout Vandecappelle <[email protected]>
Jamie Gibbons [Tue, 18 Jun 2024 08:05:04 +0000 (09:05 +0100)]
configs/beaglev_fire: add support for BeagleV Fire
Add support for the BeagleV Fire, the Beagleboard SBC powered by
Microchip's PolarFire SoC.
The configuration file is beaglev_fire_defconfig. It builds a
bootable kernel image with an embedded root file system. The image
built can be flashed to the board using the eMMC.
The yaml configuration file is used by the hss payload generator. It
maps the ELF binaries or binary blobs to the application hart.
The image generator script sets the partitions of the image.
The image tree souce file creates a FIT image.
The post image script creates the payload using the payload generator
host package and finally, creates the FIT image using the ITS after the
kernel build. It also creates the BMAP file for use with the BMAP
command line tool to transfer the image to the board.
The U-Boot script and additional U-Boot configurations ensure that
U-Boot behaves as expected for the BeagleV-Fire and boots the FIT image.
The rootfs-overlay contains script for updating the BeagleV-Fire
gateware.
The README.txt documents how to build and boot the Beagle-V Fire with
this configuration. It also explains how to program a custom bitstream.
Signed-off-by: Jamie Gibbons <[email protected]> Reviewed-by: Valentina Fernandez <[email protected]>
[Romain:
- move board files to board/beagleboard directory
- enable BR2_DOWNLOAD_FORCE_CHECK_HASHES and add hashes files
- enable BR2_KERNEL_HEADERS_AS_KERNEL for linux-headers to avoid specify
BR2_DEFAULT_KERNEL_VERSION
- add BR2_PACKAGE_HOST_DOSFSTOOLS for mkdosfs (host variant)
] Signed-off-by: Romain Naour <[email protected]>
Sagi Mor [Sat, 7 Jan 2023 18:09:43 +0000 (20:09 +0200)]
toolchain/toolchain-wrapper: make gcc --help -v work correctly
make "gcc --help -v" display all the options, some packages depend on this
https://bugs.busybox.net/show_bug.cgi?id=15231
Signed-off-by: Sagi Mor <[email protected]>
[Arnout: move the handling to the beginning and directly call execv] Signed-off-by: Arnout Vandecappelle <[email protected]>
Thomas Petazzoni [Sat, 13 Jul 2024 08:28:40 +0000 (10:28 +0200)]
package/x265: fix runtime issue on ARMv6, ensure correctness on ARMv7
The build logic in source/cmake/FindNeon.cmake caused the x265 build
system to always think that the CPU supports neon: it was looking in
/proc/cpuinfo, which of course is wrong when cross-compilation, but
then the sequence of grep was interacting badly with CMake, causing
the build system to always conclude that the CPU supports NEON.
This causes runtime issues on ARMv6.
Setting -DCROSS_COMPILE_ARM=1 fixes this, as it tells the x265 build
system we are cross-compiling and it skips its bogus NEON check. So
for ARMv6, we pass -DCROSS_COMPILE_ARM=1.
But then, we still want NEON for ARMv7 processors with NEON, so this
commit adds a patch that allows to explicitly specify whether the CPU
supports NEON, in the -DCROSS_COMPILE_ARM=1 case, and we use this
option when BR2_ARM_CPU_HAS_NEON.
For those wondering why -DCROSS_COMPILE_ARM=1 is not passed for all
ARM platforms: it's because from the perspective of x265, only ARM >=
v6 is ARM: it has assembly code that needs at least ARMv6. Earlier ARM
platforms are not detected as ARM by the x265 build logic, and
therefore fallback on generic code.
This has been build-tested on:
- ARMv5: generic code is used, no assembly
- ARMv6: assembly code is used, but not with NEON support
- ARMv7 with NEON: assembly code is used, with NEON support
Anisse Astier [Sun, 27 Nov 2022 16:45:33 +0000 (17:45 +0100)]
package/go: disable cgo support with static libs
The go stdlib "plugin" package relies on dlfcn.h which isn't available
when we have BR2_STATIC_LIBS=y.
Concentrate all cgo decision (including the existing threads part)
under the config option BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
that has the proper depends.
This should fix this build error from autobuilders:
/buildroot/build/host-go-1.19.3/src/plugin/plugin_dlopen.go:11:10: fatal error: dlfcn.h: No such file or directory
11 | #include <dlfcn.h>
Signed-off-by: Anisse Astier <[email protected]> Reviewed-by: Christian Stewart <[email protected]>
[Arnout: revert parts to v2, keeping most of the overall logic as it
was] Signed-off-by: Arnout Vandecappelle <[email protected]>
Since wayland 1.15 (upstream commit 549a5ea710f4da1a5749587176d39fef1ded4077), libwayland-egl.so is
provided by the wayland package, so there is no longer a question of
whether libwayland-egl.so is provided by the particular EGL
implementation. See the Wayland commit log:
wayland-egl: import libwayland-egl.so frontend library from Mesa
Currently the client-facing libwayland-egl API is defined by a header
file shipped by Wayland, but the implementation is left to each vendor.
This can cause collisions when multiple implementations are installed on
the same system. Importing the implementation into Wayland with a stable
and versioned driver-facing ABI allows multiple drivers to coexist on
the same system.
Pull the sample implementation from Mesa commit 677edff5cfd
("wayland-egl: rework and simplify wl_egl_window initialization")
It has been used by the Mesa open source drivers, NVIDIA and others[1].
v2: Reword commit message, rebase on top of newer Mesa.
[1] https://github.com/thayama/wayland-egl
Consequently, we remove the BR2_PACKAGE_HAS_LIBEGL_WAYLAND
option. Packages that rely on BR2_PACKAGE_HAS_LIBGLES and
BR2_PACKAGE_WAYLAND are guaranteed to have libwayland-egl.so.
Note that this doesn't solve the problem that libwayland-egl.so will be
provided both by wayland itself and by by the implementation
(rockchip-mali, sunxi-mali-utgard, ...). Still, there is a dependency
from the implementation on wayland so at least it is predictable which
one will end up on the target.
Signed-off-by: Thomas Petazzoni <[email protected]>
[Arnout: remove remaining references in sway and sunxi-mali-utgard] Signed-off-by: Arnout Vandecappelle <[email protected]>
buildx is a docker CLI plugin implementing extended build features.
buildx is the default builder as of Docker v23.x, and if the plugin is not
present, the CLI will output an error warning that it is using the deprecated
built-in builder instead of the buildx builder.
However, buildx is a separate repository from docker-cli: it is a plugin that
needs to be installed at /usr/lib/docker/cli-plugins on the target.
Brandon Maier [Sat, 18 Nov 2023 18:13:08 +0000 (18:13 +0000)]
package/Makefile.in: add PARALLEL_JOBS to post-build/post-image scripts
Post-build, post-image, and other build scripts may run some commands in
parallel, for example to parallelize xargs, Makefiles, etc. Export
PARALLEL_JOBS to these scripts so they can enforce the same job limits
that other Buildroot packages use.
/home/buildroot/autobuild/run/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-musleabihf/12.3.0/../../../../arm-buildroot-linux-musleabihf/bin/ld: attempted static link of dynamic object `libfdt/libfdt-1.6.1.so'
Thomas Devoogdt [Sun, 19 May 2024 09:16:04 +0000 (11:16 +0200)]
package/webkitgtk: bump to 2.44.2
A lot has been changed in 2.44.0, please consult the announcement [1], what's new [2],
and the security advisory [3] for more details.
Specific to this bump:
- Libegl is now mandatory [4] and the USE_OPENGL_OR_ES flag has been dropped.
While at it, also explicitly add the libepoxy dependency which is now selected
by libgtk3.
- The WPE renderer has been dropped [2], so drop the wpebackend-fdo dependency.
- JPEG2000 has been dropped [2], so drop the OpenJPEG dependency.
- GTK4 is now the default, so turn it off, since buildroot has no GTK4 support
yet [2].
- USE_LIBBACKTRACE has been added [5], so select it properly.
- Support for ENABLE_WEB_CODECS has been added, which will now be enabled
together with audio and video support.
- ENABLE_WEBASSEMBLY is forbidden when ENABLE_C_LOOP [6], so disable it when
compiling for MIPS r6, ARMv5, and ARMv6.
In the meantime, a follow-up 2.44.1 and 2.44.2 release has been announced [7][8],
which contains a bunch of patches that were accepted upstream. Including build
fixes for 32-bit devices, and disabling video.
Vincent Stehlé [Fri, 24 May 2024 15:56:17 +0000 (17:56 +0200)]
configs/uevm5432_defconfig: bump Linux and U-Boot
- Bump Linux kernel to v6.8.10.
The Devicetree has moved; update our config accordingly.
- Bump U-Boot to 2023.04.
This is the most recent version we can use as U-Boot 2023.07 dropped
support for the uevm.
OpenSSL is now required for the build.
The default boot method has changed; switch to booting with an extlinux
configuration to overcome this.
Thomas Petazzoni [Fri, 12 Jul 2024 21:59:14 +0000 (23:59 +0200)]
package/uvw: bump to 3.4.0
This allows uvw to be again in sync with the libuv package, following
the bump of libuv to v1.48 in commit bd2f99246c253739a3d44d8345f2fbb5362b3fb5 ("package/libuv: security
bump to version 1.48")
The hash of the license file has changed due to a copyright year
update.
Reza Arbab [Wed, 7 Feb 2024 17:51:35 +0000 (11:51 -0600)]
package/petitboot: run UI as non-root user
Though the petitboot UI is a user application, it is currently being
run by root only because we use getty to display it on the console.
Create an unprivileged user to run the UI instead. The unix socket the
pb-discover daemon sets up is accessible to "petitgroup", so that should
be the gid, with arbitrary uid "petituser" to match.
This is currently the chain of processes leading to the UI:
Instead of (3) running the pb-console helper directly with "getty -l",
we can use "agetty -a" to autologin petituser, and run pb-console via
petituser's login shell:
1. /etc/init.d/pb-console start console
2. /usr/libexec/petitboot/pb-console --getty=/sbin/agetty --detach -- -a petituser -n -i console linux
3. /sbin/agetty -a petituser -n -i console linux
4. /home/petituser/.profile
5. /usr/libexec/petitboot/pb-console
6. /usr/sbin/petiboot-nc
Here, everything from (4) down is running as petituser. In (4), use
$PPID to determine if we're logging in via getty, so that logging in by
other means will give a normal shell. Otherwise we would recurse when
trying to get a shell from the menu.
Signed-off-by: Reza Arbab <[email protected]>
[Arnout: explicitly select util-linux, even though it comes indirectly
through other dependencies] Signed-off-by: Arnout Vandecappelle <[email protected]>
Reza Arbab [Wed, 7 Feb 2024 17:51:34 +0000 (11:51 -0600)]
package/petitboot: run script when exiting to shell
When the user selects the shell escape option from the petitboot menu,
reset the terminal so output is raw rather than being confined to the
ncurses window set up for the petitboot menu, and print some helpful
text before running the shell.
To do this, override the default HOST_PROG_SH (/bin/sh) with a small
script. Doing so also enables someone to customize this behavior by
overlaying a different script.
Reza Arbab [Wed, 7 Feb 2024 17:51:33 +0000 (11:51 -0600)]
package/petitboot: properly shut down before kexec
It's good practice to unmount filesystems and gracefully terminate
running services before running "kexec -e". So when a boot option has
been chosen from the petitboot menu, poke init to shut the system down
and kexec the new kernel.
One benefit to us in particular is that when pb-console is killed, it
notifies the user that we're booting:
This terminal reset is also useful, exiting the ncurses visual mode so
subsequent boot output is raw rather than being confined to the window
set up for the petitboot menu.
Currently we assume busybox init (using the bb-kexec-reboot script
included with petitboot), but do not add an accompanying entry
in the inittab to run kexec, so things aren't working.
Add a new script kexec-restart that does the right thing for all init
systems that Buildroot supports (busybox, sysv, openrc, systemd). OpenRC
and systemd have an upstream way to do a kexec-shutdown. For busybox and
sysv, we add a line to inittab that does kexec -f -e (after the shutdown
scripts have run). Finally, for other cases (where there is no
recognized init system) directly use kexec -f -e.
Signed-off-by: Reza Arbab <[email protected]>
[Arnout:
- install kexec-restart in /usr/libexec/petitboot, where it was before;
- determine init system statically based on config instead of dynamically.
] Signed-off-by: Arnout Vandecappelle <[email protected]>
Since the major release changed all the packages that have direct
dependency to harfbuzz have been succesfully built:
- efl
- libass
- mupdf
- pango
- qt5base
- qt5webengine
- qt6base
- sdl2_ttf
- supertuxkart
- vlc
- webkitgtk
- wpewebkit
libavif is an implementation of the AV1F image format, which may be a
frontend for different encoders and decoders. At the moment only dav1d
is packaged so that is the one configured.
Julien Olivain [Mon, 20 May 2024 15:27:48 +0000 (17:27 +0200)]
package/tig: new package
Tig is an ncurses-based text-mode interface for git. It
functions mainly as a Git repository browser, but can also
assist in staging changes for commit at chunk level and act
as a pager for output from various Git commands.
Petr Vorel [Fri, 12 Jul 2024 18:42:41 +0000 (20:42 +0200)]
package/ima-evm-utils: bump version to 1.6
Upstream moved git repository.
The COPYING file has been dropped in favor of a LICENSES.txt file that
clarifies the licensing. We take this opportunity to update the
IMA_EVM_UTILS_LICENSE variable according to what LICENSES.txt
indicates.
configs/spike_riscv64: bump kernel to 6.6.35 and add hashes
Commit [1] introduced a new spike_riscv32_defconfig with Kernel
at v6.6.35.
This commit bumps the Kernel of spike_riscv64_defconfig to have it
aligned with its 32bit counterpart.
This commit also adds custom hashes. Therefore, it adds
BR2_DOWNLOAD_FORCE_CHECK_HASHES=y in the defconfig, adds a global
patch directory, and removes the entry in ".checkpackageignore".
Finally, to completely align with the spike_riscv32_defconfig, the
config directive BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM is moved by few
lines.
With this commit, the maintenance of the two spike_riscv{32,64}
defconfigs will be easier.
At the time the spike_riscv64_defconfig was introduced in commit [1], it
was not possible to have a console input using Spike and OpenSBI for
RISC-V 32 bits. This limitation no longer applies, as upstream
components now implements support for this.
Buildroot commit [2] updated riscv-isa-sim (Spike), which now includes a
NS16550 uart emulation. This can be used by RV32 Linux Kernel. Finally,
a spike_riscv32_defconfig was added in [3].
This commit removes the comment about this limitation, since it no
longer applies.
Julien Olivain [Mon, 20 May 2024 08:49:31 +0000 (10:49 +0200)]
configs/imx8mpico: remove defconfig
This defconfig fail to build since commit dc0f721
"package/gcc: switch to 13.x as default".
This board is no longer listed in the supported platforms in the
latest BSPs from TechNexion:
https://developer.technexion.com/docs/release-notes-yp42-2024q2#supported-platforms-in-this-release
Thomas Petazzoni [Fri, 12 Jul 2024 20:17:30 +0000 (22:17 +0200)]
package/check: fix build on noMMU configurations
check was failing to build on noMMU configurations due to mistake in
the build conditionals of the code around the HAVE_FORK macro. This
commit brings a patch, submitted upstream, that fixes those issues.
Thomas Petazzoni [Fri, 12 Jul 2024 20:16:08 +0000 (22:16 +0200)]
package/check: don't build shared lib when disabled
The build system of check was unconditionally building a shared
library, even when BUILD_SHARED_LIBS=OFF. This commit brings a patch,
submitted upstream, which fixes this issue, and allows to fix the
build in BR2_STATIC_LIBS=y configurations.
CCLD bsdunzip
/home/autobuild/autobuild/instance-4/output-1/host/lib/gcc/powerpc-buildroot-linux-musl/12.3.0/../../../../powerpc-buildroot-linux-musl/bin/ld: cannot find -lz: No such file or directory
By handling it explicitly, we can specify whether the dynamic or static
library should be used, according to what we actually have available.
/home/autobuild/autobuild/instance-2/output-1/host/lib/gcc/mipsel-buildroot-linux-uclibc/12.3.0/../../../../mipsel-buildroot-linux-uclibc/bin/ld: libcheck.so.0.15.2: hidden symbol `__fini_array_end' isn't defined
Commit 8f88a644ed7d6 ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.
Due to this change, mediastreamer fails to build with output:
Applying 0002-Use-AV_INPUT_BUFFER_PADDING_SIZE-to-determine-paddin.patch using patch:
patching file src/utils/ffmpeg-priv.h
Hunk #1 FAILED at 102.
1 out of 1 hunk FAILED -- saving rejects to file src/utils/ffmpeg-priv.h.rej
This commit refreshes the package patch on the current package version.
Commit 8f88a644ed7d6 ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.
Due to this change, xdriver_xf86-video-mach64 fails to build with output:
Applying 0001-cross-compile.patch using patch:
patching file configure.ac
Hunk #1 FAILED at 85.
1 out of 1 hunk FAILED -- saving rejects to file configure.ac.rej
This commit refreshes the package patch on the current package version.
Commit 8f88a644ed7d6 ("support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0") reduced the fuzz factor.
Due to this change, xdriver_xf86-video-tdfx fails to build with output:
Applying 0001-cross.patch using patch:
patching file configure.ac
Hunk #1 FAILED at 67.
1 out of 1 hunk FAILED -- saving rejects to file configure.ac.rej
This commit refreshes the package patch on the current package version.
package/libsvgtiny: 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, libsvgtiny fails to build with output:
Applying 0004-Build-Include-gperf-generated-code-directly.patch using patch:
patching file src/Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file src/Makefile.rej
This commit refreshes the package patch on the current package version.
Julien Olivain [Tue, 8 Aug 2023 20:05:46 +0000 (22:05 +0200)]
package/xvisor: fix RISC-V hang when BR2_SHARED_LIBS=y
When BR2_SHARED_LIBS=y (shared libraries only) and BR2_PIC_PIE=y
(Build code with PIC/PIE), the toolchain-wrapper will try to enable
position-independent code/executables. See [1]. This configuration
is a common default.
Xvisor was likely tested only with RISC-V gcc from [2], which will
not enable PIE by default. Since Xvisor is a Type 1 hypervisor, it
needs the same kind of special treatment as U-Boot or Kernel.
This commit adds a patch to explicitly force static linking and
disable PIE for RISC-V architecture.
Julien Olivain [Tue, 22 Aug 2023 19:23:14 +0000 (21:23 +0200)]
package/kexec: fix link error when BR2_OPTIMIZE_0=y
When BR2_OPTIMIZE_0, -O0 is passed in compiler CFLAGS. This means no
code optimization will be performed.
kexec code uses a trick to detect unaligned accesses at link time
which needs at least dead-code-removal to work. See
put/get_unaligned() macros in kexec/kexec.h. This code was re-enabled
in upstream commit [1].
This commit sets at least -O1 (which include the sufficient
dead-code-removal) when BR2_OPTIMIZE_0=y, to fix those issues.
package/rdesktop: update the patches to be applied with fuzz 0
Commit 8f88a644ed "support/scripts/apply-patches.sh: set the maximum
fuzz factor to 0" reduced the fuzz factor.
Due to this change, rdesktop fails to build with output:
Applying 0001-8bit-colors.patch using patch:
patching file xwin.c
Hunk #1 succeeded at 1801 (offset 340 lines).
Hunk #2 FAILED at 1568.
1 out of 2 hunks FAILED -- saving rejects to file xwin.c.rej
This commit refreshes the package patches on the current package
version. The original patch was not generated with "git format-patch",
and had no information (no commit log, no author, no date, ...). Since
it was introduced in commit [1], the author and date is set to this
commit. The "Upstream:" tag is also added to the patch, mentioning
the upstream project is reported as unmaintained on its homepage (at
the time of this commit). Finally, the ".checkpackageignore" entry is
removed, since it is no longer needed.
package/libglfw: 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, libglfw fails to build with output:
Applying 0002-src-CMakeLists.txt-allow-override-of-wayland-pkgdata.patch using patch:
patching file src/CMakeLists.txt
Hunk #1 FAILED at 75.
1 out of 1 hunk FAILED -- saving rejects to file src/CMakeLists.txt.rej
This commit refreshes the package patch on the current package version.
package/udpcast: 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, udpcast fails to build with output:
Applying 0001-fix-musl-build.patch using patch:
patching file receivedata.c
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file receivedata.c.rej
This commit refreshes the package patch on the current package version.
Thomas Petazzoni [Fri, 12 Jul 2024 19:07:14 +0000 (21:07 +0200)]
package/pppd: add patch fixing build issue on SPARC/SPARC64
Integrate a patch, which was submitted upstream, to work-around an
issue with the SPARC kernel headers. The kernel headers have been
fixed in the upstream kernel (in the to-be-released 6.10 kernel), but
we need a workaround for the older toolchains, until we believe 6.10
is "old" enough to be able to drop the workaround.
docs/manual: normalize delimiters of listing blocks
Although the asciidoc toolchain accepts any number of ~ to delimit a
listing block (i.e. a code block), it is actually specified to be
exactly four, i.e. ~~~~. Currently, a mix of diffrent numbers of ~ are
being used - sometimes even a different number at the beginning and at
the end of the block.
Normalize this to always use exactly four ~ for the delimiter.
docs/manual: standardize references to the generic infra
Currently the text for each package infra that mentions the usage of
variables already provided by the generic infra diverge from each other:
- some (golang, kconfig, python) add a cross-referece to the generic
infra chapter;
- kconfig does not list any example;
- some mention _LICENSE as an example, others don't;
- some (cargo, golang, python) add an 'etc.' at the end of the examples,
giving the idea that can be more symbols provided by the generic
infra than the ones listed;
- most have the text 'works by defining a number of variables before
calling the +<macro-name>+ macro', except golang and kconfig;
- some actually list 'A few additional variables' but keep using some
old reference as 'An additional variable';
- some say 'First, all the package metadata' and other only 'All the
package metadata';
- most mention _SUBDIR as an example of variable supported by the
generic infra, even the generic infra manual not mentioning it.
Improve the correctness for the manual by standardizing the text among
the package infras:
- use the same text "All the package metadata information variables that
exist in the generic package infrastructure also exist in the
<name> infrastructure:" for all of them;
- add the cross-reference for all of them;
- remove the examples of variables inherited from the generic infra -
this also solves the _SUBDIR problem, there no longer is any reference
to _SUBDIR;
- wrap the modified text at 80 columns;
- add "macro" to golang and luarocks infra;
- use "A few additional variables" for qmake and waf.
At same time, add a missing format on golang manual for
BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS.
Cc: Eric Le Bihan <[email protected]> Cc: Thomas De Schampheleire <[email protected]> Signed-off-by: Ricardo Martincoski <[email protected]>
[Arnout:
- remove the examples;
- add "the" where "macro" was added;
- rewrite the preceding paragraphs for kconfig to make it more
consistent.
] Signed-off-by: Arnout Vandecappelle <[email protected]>
Each linux tool uses a fragment of a .mk file, named, for instance:
package/linux-tools/linux-tool-cpupower.mk.in
So currently check-package does not check these files.
Add the support in check-package script.
At the same time, factor out a function to derive package prefix from
the filename being checked, so the fix (calling os.path.splitext twice)
can be applied in a single place.
Signed-off-by: Ricardo Martincoski <[email protected]>
[Arnout: add docstring and explain double splitext to
get_package_prefix_from_filename] Signed-off-by: Arnout Vandecappelle <[email protected]>
Bring Sysprof twelve years into the future by updating it to the most
recent release. The GUI now uses GTK4, for which there is not yet a
package, so for now the option is removed.
Obviously, many things changed:
- Build system moved to meson
- License moved from GPLv2 to GPLv3
- Many new dependencies
Yann E. MORIN [Fri, 7 Jun 2024 09:37:12 +0000 (11:37 +0200)]
boot/ti-k3-r5-loader: share download files with uboot
ti-k3-r5-loader is just a U-Boot SPL running on the R5 core on TI's K3
processors, so it makes sense to just share the downloads with U-Boot.
With commit ebe238f2b595 (package/pkg-download: use _DL_SUBDIR as root
dir of generated archives), the root of the generated archive will also
be based on _DL_SUBDIR, but the name of the archive, _SOURCE, is still
based on the current package unless explicitly set. For ti-k3-r5-loader,
that would create an archive which fiename does not match its root
directory; although Buildroot does not care (we --strip-components=1
when extracting), this would be a bit surprising to anyone manually
extrating the archive, as it diverges from the usual expectations.
Do like we do for linux-headers, and force the ti-k3-r4-loader archive
filename to be u-boot-VERSION.tar.gz
Thomas Huth [Fri, 17 May 2024 08:20:07 +0000 (10:20 +0200)]
package/frotz: fix build with gcc 14
Change -std=c99 into -std=gnu99 in the CFLAGS to avoid the following
build failure with gcc 14:
fastmem.c: In function 'z_restore':
fastmem.c:842:36: error: implicit declaration of function 'strdup'; did you mean 'strcmp'? [-Wimplicit-function-declaration]
842 | f_setup.aux_name = strdup(default_name);
| ^~~~~~
| strcmp
Fabrice Fontaine [Sat, 18 May 2024 09:17:07 +0000 (11:17 +0200)]
package/gpm: fix musl build with gcc 14
Fix the following musl build failure with gcc 14:
daemon/old_main.c: In function 'old_main':
daemon/old_main.c:56:11: error: implicit declaration of function 'strcmp' [-Wimplicit-function-declaration]
56 | if(!strcmp((which_mouse->opt_dev),"-")) fd=0; /* use stdin */
| ^~~~~~
daemon/old_main.c:35:1: note: include '<string.h>' or provide a declaration of 'strcmp'
34 | #include "headers/gpmInt.h" /* daemon internals */
+++ |+#include <string.h>
35 |
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'