skopeo is a command line utility that performs various operations on
container images and image repositories.
We introduce it as a host-only package, as the expected usage is to
transform an OCI image into a docker image, or to help in uploading an
OCI image to a (local) docker daemon or to a docker registry, for
example, in a post-build script.
As such, it needs a prompt in the host packages section.
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
libassuan is needed by libgpgme, which is needed for skopeo
(to come in a followup patch);
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
libgpg-error is needed by libassuan and libgpgme, the latter
being needed for skopeo (to come in a followup patch).
Signed-off-by: Yann E. MORIN <yann.morin@orange.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Set CRACKLIB_AUTORECONF when building python to regenerate py-compile
and avoid the following build failure with python 3.12 (which removed
imp module) raised since commit
36e635d2d5:
Traceback (most recent call last):
File "<string>", line 2, in <module>
ModuleNotFoundError: No module named 'imp'
make[3]: *** [Makefile:485: install-pythonPYTHON] Error 1
Indeed, after autoreconf, py-compile will contain:
if test "$python_major" -le 2; then
import_lib=imp
import_test="hasattr(imp, 'get_tag')"
import_call=imp.cache_from_source
import_arg2=', False' # needed in one call and not the other
else
import_lib=importlib
import_test="hasattr(sys.implementation, 'cache_tag')"
import_call=importlib.util.cache_from_source
import_arg2=
fi
$PYTHON -c "
import sys, os, py_compile, $import_lib
instead of:
import sys, os, py_compile, imp
Fixes: 36e635d2d5
- http://autobuild.buildroot.org/results/aec4c19fdf8087c76c1d5f472e855e0f84fcf7fd
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
In commit f7f2903f3e, the zstd package
was bumped to 1.5.6. Since then, the zstd has been failing to build in
our autobuilders, causing over 1400+ build failures.
The issue turned out to be a one character typo introduced in an
upstream commit. This commit fixes that by introducing a patch, which
has been submitted upstream.
Fixes:
http://autobuild.buildroot.net/results/df983da15a5918566c89a87038d0bdc6cb530485/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit adds a patch, which is already in Debian, fixing the build
with gcc 14.x:
/home/autobuild/autobuild/instance-7/output-1/build/host-cdrkit-1.1.11/genisoimage/genisoimage.c:1509:17: error: implicit declaration of function 'parse_checksum_algo' [-Wimplicit-function-declaration]
1509 | if (parse_checksum_algo(optarg, &checksum_algo_iso))
| ^~~~~~~~~~~~~~~~~~~
make[3]: *** [genisoimage/CMakeFiles/genisoimage.dir/build.make:76: genisoimage/CMakeFiles/genisoimage.dir/genisoimage.o] Error 1
Fixes:
http://autobuild.buildroot.net/results/a9cca8da22774ecafdbb382697aae71f78e348f4/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
cdrkit.org no longer works, and there is no obvious homepage for this
dead project. Use the Wikipedia page as a replacement.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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.
Fixes:
http://autobuild.buildroot.net/results/4ca54a85672d7b9328b1909b457e548c6032a493
[0] https://github.com/boostorg/atomic/issues/42#issuecomment-734130348
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
[Arnout: add to BR2_TOOLCHAIN_SUPPORTS_ALWAYS_LOCKFREE_ATOMIC_INTS
instead of updating all packages]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
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 <jamie.gibbons@microchip.com>
Reviewed-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
[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 <romain.naour@smile.fr>
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
Reported-by: David Barbion <davidb@230ruedubac.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
As we're about to do some other fixes in x265 ARM build, let's replace
the patch fixing gcc option by:
- A patch generated by git format-patch now that x265 upstream uses
Git
- Is re-submitted upstream
- Only drops the flags, and does not add bogus ARM architecture
aliases that don't exist in the CMake world.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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>
Fixes:
http://autobuild.buildroot.net/results/1f4/1f4b9882986b9df723a1446493d270c29287b505http://autobuild.buildroot.net/results/a9d/a9de62374c948f773634c694a47abcaa2bc266d0
Signed-off-by: Anisse Astier <anisse@astier.eu>
Reviewed-by: Christian Stewart <christian@paral.in>
[Arnout: revert parts to v2, keeping most of the overall logic as it
was]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
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 <thomas.petazzoni@bootlin.com>
[Arnout: remove remaining references in sway and sunxi-mali-utgard]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
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.
https://github.com/docker/buildx
Signed-off-by: Christian Stewart <christian@aperture.us>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* Enabled LZMA compression for host build.
* Added option for LZMA support on target.
Signed-off-by: Jan Čermák <sairon@sairon.cz>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
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.
Signed-off-by: Brandon Maier <brandon.maier@collins.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Fix the following build failure raised since bump to version
1.4.2-168-ged3039c in commit 2e330dff6a:
/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'
Fixes:
- http://autobuild.buildroot.org/results/6788d86c10d551b3d617e33c85083b817eb5d0b2
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
GNU Octave supports the --with-sndfile configure option since v4.0.0.
For reference, commit 40ea68b4b2 "package/octave: new package"
introduced the package at v7.1.0.
This commits adds this optional support.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- 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.
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This allows uvw to be again in sync with the libuv package, following
the bump of libuv to v1.48 in commit
bd2f99246c ("package/libuv: security
bump to version 1.48")
The hash of the license file has changed due to a copyright year
update.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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:
1. /etc/init.d/pb-console start console
2. /usr/libexec/petitboot/pb-console --getty --detach -- -n -i 0 console linux
3. /sbin/getty -l/usr/libexec/petitboot/pb-console -n -i 0 console linux
4. /usr/libexec/petitboot/pb-console
5. /usr/sbin/petitboot-nc
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 <arbab@linux.ibm.com>
[Arnout: explicitly select util-linux, even though it comes indirectly
through other dependencies]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
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.
Signed-off-by: Reza Arbab <arbab@linux.ibm.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
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:
trap 'reset; echo "SIGTERM received, booting..."; sleep 2' SIGTERM
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 <arbab@linux.ibm.com>
[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 <arnout@mind.be>
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
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Make wpewebkit pick a value for the USE_AVIF option depending
on BR2_PACKAGE_LIBAVIF.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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.
Signed-off-by: Adrian Perez de Castro <aperez@igalia.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
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.
https://jonas.github.io/tig/
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
mxt-app is a utility for managing Atmel maXTouch touch controllers
and other devices that support Atmel Object Based Protocol.
Signed-off-by: Saeed Kazemi <kazemi.ms@gmail.com>
[Arnout:
- drop BR2_PACKAGE_MXT_APP_DEBUG option, instead use
BR2_ENABLE_RUNTIME_DEBUG;
- also explicitly disable debug;
- add comment to explain AUTORECONF.
]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>