Bump to the latest commit hash as of 2022-07-25.
Fixes the build against kernel 5.18.x and GCC 12 and ARM64.
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The filename was changed from bootloader-BEAGLEV to bootloader-JH7100, update
the documentation for the beaglev board as well.
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
shellcheck is already in use to check SysV init scripts.
Currently its results can be affected by the existence of a
.shellcheckrc file in any parent directory.
For instance, in this example:
(1) /path/.shellcheckrc
(2) /path/to/.shellcheckrc
(3) /path/to/buildroot
the configs from file (1) are ignored and the configs from file (2)
override the default values from the shellcheck binary.
So the config file affects the check-package result for SysV scripts.
Avoid this reproducibility issue by adding an empty config file to the
buildroot topdir.
It can also eventually contain configs (different from default values
from sheelcheck) that we want as a standard to all shell scripts tested
by check-package.
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The Zeek Network Security Monitor
Zeek is a powerful network analysis framework that is much different
from the typical IDS you may know. (Zeek is the new name for the
long-established Bro system.)
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Arnout:
- select python3 instead of depends;
- patch python path in post-patch instead of post-install]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
host-libpcap is needed to build host-zeek. It is not actually used for
anything, so we can disable all features.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Fix the following build failure raised since bump of autoconf to version
2.71 in commit ecd54b65c1:
checking for glob.h... no
configure: error: glob.h not found.
configure:5207: checking for glob.h
configure:5230: /data/buildroot-autobuilder/instance-0/output-1/host/bin/mips64el-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g0 -pthread -fno-strict-aliasing -fno-strict-overflow -flto -Wall -Wextra -Wstrict-prototypes -Wno-parentheses -Wno-pointer-sign -Wno-missing-field-initializers -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -flto=4 -g conftest.c >&5
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2a): undefined reference to `conftest.c.0943dc99'
/data/buildroot-autobuilder/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/mips64el-buildroot-linux-uclibc/8.4.0/../../../../mips64el-buildroot-linux-uclibc/bin/ld: /tmp/ccDboxph.ltrans0.ltrans.o:(.debug_info+0x2f): undefined reference to `conftest.c.0943dc99'
This is the same problem that we tried to fix in
03c148c8de by adding AUTORECONF = YES.
The analysis made back then is probably not entirely correct - the issue
only seems to occur with GCC8, not with any earlier or later version,
which hints at a compiler bug. Since the error involves some
LTO-generated functions, the trigger is probably the -flto=4.
Whatever the exact issue is, it is avoided if we make sure that our
CFLAGS replace the default ones instead of being added to them.
Currently, they are added because the configure script doesn't properly
detect that CFLAGS was set.
Add a patch (sent upstream months ago, but it didn't appear in the
release that has been done since then) that makes sure CFLAGS is
properly detected.
Fixes:
- http://autobuild.buildroot.org/results/d7aab7df196e0f6d6389b87ff29da7c2971e6b6d
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
When we use the statistics output to generate a CVE/CPE customer
report showing whether a product is affected by CVEs, we are primarily
interested in whether they are relevant to the target
system. Currently we cannot see if the package is configured for the
build (infra==host) and/or the target system (infra==target).
Therefore this commit extends the pkg-stats script to leverage the
information available in "make show-info" output to tweak the list of
package infrastructures for each package. Thanks to this commit, the
script now has a more consistent behavior:
* When pkg-stats is run without -c, i.e without a defined Buildroot
configuration, it continues to operate as it did, i.e it lists all
package infrastructures supported by the package (such as autotools
host+target, or kconfig target, etc.)
* When pkg-stats is run with -c, i.e with a defined Buildroot
configuration which defines the list of packages that should be
considered, then for each package it now lists only the package
infrastructures used by the package in that current
configuration. For example if you have a package with a host and
target variant, but only the host variant is used in your
configuration, now the pkg-stats output will only say that the host
variant of this package is used;
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
[Thomas: pretty much rework the entire implementation and how the
result is presented.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
[Arnout:
- alphabetically order DEVELOPERS;
- license is OR, not AND]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Fix the following build failure when host root directory is /usr which
is raised since bump to version 2.2.0 in commit
caa32ac237:
/usr/bin/install -c -m 644 syslog.lua '/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/target/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/usr/share/lua/5.3/logging'
libtool: install: /usr/bin/install -c .libs/lsyslog.so /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/target/usr/lib/lua/5.3/lsyslog.so
libtool: install: /usr/bin/install -c .libs/lsyslog.lai /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/target/usr/lib/lua/5.3/lsyslog.la
libtool: warning: remember to run 'libtool --finish /usr/lib/lua/5.3'
/usr/bin/make install-exec-hook
make[3]: Entering directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/luasyslog-2.2.0'
rm -f /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/target/usr/lib/lua/5.3/lsyslog.la
make[3]: Leaving directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/luasyslog-2.2.0'
make[2]: Leaving directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/luasyslog-2.2.0'
make[1]: Leaving directory `/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/luasyslog-2.2.0'
luasyslog: installs files in /usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/target//usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1
This failure is raised because lua script directory is "found" and
"fixed" to
${prefix}/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/host/usr/share/lua/5.3
because of the following test in ax_lua.m4:
dnl Try to find a path with the prefix.
_AX_LUA_FND_PRFX_PTH([$LUA], [$ax_lua_prefix], [package.path])
AS_IF([test "x$ax_lua_prefixed_path" != 'x'],
[ dnl Fix the prefix.
_ax_strip_prefix=`echo "$ax_lua_prefix" | sed 's|.|.|g'`
ax_cv_lua_luadir=`echo "$ax_lua_prefixed_path" | \
sed "s,^$_ax_strip_prefix,$LUA_PREFIX,"`
])
Fixes:
- http://autobuild.buildroot.org/results/09fa6dd9844d6d4694801ec59434dad7a56bf290
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The KCONFIG_ENABLE_OPT is intended to enable a required kernel configuration
option when a package requires it.
However, this will often override an existing enabled module with `=m` with `=y`
which overrides the module to be built-in instead of separate.
This is undesirable behavior; we often want these as `=m` and not `=y` to reduce
the size of the kernel image.
This patch changes KCONFIG_MUNGE_DOT_CONFIG to prevent changing `=m` to `=y`.
Signed-off-by: Christian Stewart <christian@paral.in>
Co-authored-by: TIAN Yuanhao <tianyuanhao3@163.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[yann.morin.1998@free.fr:
- drop || exit 1, it is superfluous
- don't change the match in the SED (just append &&)
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Fixes:
- https://bugs.busybox.net/show_bug.cgi?id=13796
.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: error: conflicting declaration ‘typedef void* GLsync’
40 | typedef gpointer GLsync;
| ^~~~~~
.../host/arm-linucleus-linux-gnueabihf/sysroot/usr/include/qt5/QtGui/qopengles2ext.h:24:26: note: previous declaration as ‘typedef struct __GLsync* GLsync’
24 | typedef struct __GLsync *GLsync;
| ^~~~~~
File gstgl_compat.h:
39 #if !GST_GL_HAVE_GLSYNC
40 typedef gpointer GLsync;
41 #endif
File qopengles2ext.h:
1 #ifndef __gles2_gl2ext_h_
2 #define __gles2_gl2ext_h_ 1
3
4 #if 0
5 #pragma qt_no_master_include
6 #pragma qt_sync_skip_header_check
7 #pragma qt_sync_stop_processing
8 #endif
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 #ifndef __gl3_h_
15 /* These types are defined with reference to <inttypes.h>
16 * in the Apple extension spec, but here we use the Khronos
17 * portable types in khrplatform.h, and assume those types
18 * are always defined.
19 * If any other extensions using these types are defined,
20 * the typedefs must move out of this block and be shared.
21 */
22 typedef khronos_int64_t GLint64;
23 typedef khronos_uint64_t GLuint64;
24 typedef struct __GLsync *GLsync;
25 #endif
The problem is that rpi-userland doesn't define GLsync, and both
GStreamer and Qt have their own definition of GLsync in this case, but
they are not the same.
We reported this issue to:
* rpi-userland, to get the headers updated:
https://github.com/raspberrypi/userland/issues/469#issuecomment-1193864294
* gstreamer, to get their bogus definition of GLsync fixed:
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/973
In the mean time, fix this by adding the missing definitions to
rpi-userland, so that GStreamer and Qt don't try to provide their own.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since commit [1], the autobuilder script generates fully random
configurations that can trigger configurations that were not tested
before.
Here, the toolchain build with uClibc-ng without threads support
(BR2_PTHREADS_NONE=y) fails to build due to a missing pthread.h
header:
../../../libgcc/generic-morestack-thread.c:42:10: fatal error: pthread.h: No such file or directory
42 | #include <pthread.h>
This issue was actually fixed by this commit [2] adding a patch for
gcc 4.8, 4.9, 5.3. But it get lost when gcc 6 was added to Buildroot [3].
Since then the issue was present in Buildroot but has not been noticed.
[1] https://git.buildroot.net/buildroot-test/commit/?id=27b18dcb1686a98ce718b6a816e98f8505957a6c
[2] 2631219f64
[3] 519d83bfa0
Fixes:
http://autobuild.buildroot.org/results/5ec/5ec9eefacd27ef4fa73066013188796b43a30428https://bugs.busybox.net/show_bug.cgi?id=8766
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
These firmware files are also applicable to some Riscv hosts.
Simply remove the architecture dependency. The intention was to only
show it for RaspberryPi, but that's half-baked anyway.
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
On microblaze, there is a separate version of struct stat for largefile
and for non-largefile. When the struct was updated to include the
st_mtim, st_atim and st_ctim members for POSIX, the largefile version
was forgotten. Since we only use largefile in Buildroot, that means that
microblaze didn't have these members in struct stat. This breaks the
build of some packages.
Change the define around st_mtim etc. to __USE_XOPEN2K8 to enable it in
posix context (i.e. by default).
Fixes:
- http://autobuild.buildroot.org/results/dd944a3bd4ac0c94b2bec8ac209100daaf43903d (zstd)
- http://autobuild.buildroot.org/results/4609c8e2af24d9536eb33397a4659ad740aca742 (dieharder)
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Cc: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Christian Stewart <christian@paral.in>
[yann.morin.1998@free.fr:
- drop unneeded _BIN_NAME and _INSTALL_BINS
- s/OCP/OCI/
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The Config.in has a typo: "OCP specification"
It should be OCI for Open Container Initiative.
https://opencontainers.org/
Signed-off-by: Christian Stewart <christian@paral.in>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since qt 5.12, quick demos are moved in the qt5doc package.
In order to use quick demos, qt5doc has to be built.
qt5doc is a bit misleading name for the package, while it's
basic content are the quick demos. qdoc tool itself is a part
of qt5tools.
The examples need to be enabled for this package to do anything (because
we don't build the docs themselves), so select it
Signed-off-by: Goran Rađenović <gradenovic@ultratronik.de>
[Arnout:
- fix check-package warnings;
- update to Jan 31 2022 version of kde/5.15 branch;
- add select of BR2_PACKAGE_QT5BASE_EXAMPLES;
- add hash for license file]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Fix the following static build failure raised since the addition of the
package in commit 02ea01ea22:
/home/buildroot/autobuild/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/9.3.0/../../../../i586-buildroot-linux-musl/bin/ld: /home/buildroot/autobuild/instance-1/output-1/host/i586-buildroot-linux-musl/sysroot/usr/lib/libreadline.a(display.o): in function `_rl_move_cursor_relative':
display.c:(.text+0xbb5): undefined reference to `tputs'
Fixes:
- http://autobuild.buildroot.org/results/77c/77c10947ddc749c54c7c233e3143f5cdf1edc73d/build-end.log
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
hyperfine is a benchmark tool written in Rust. It evaluates
execution time of a command passed in arguments and make
a relative comparison if multiple arguments are used at the
same time.
It can be convinient for purposes of Rust-written systems as
it runs in a stable version of Rust.
The package has been checked with correct formatting and
without typos:
./utils/check-package package/hyperfine/*
A CI test was run on gitlab.com to verify toolchain compatibilities.
Signed-off-by: Nicolas Tran <nicolas.tran@smile.fr>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
As upstream enables CONFIG_BATMAN_ADV_BATMAN_V option since
2018.2 by defaullt ([1]) honor this in buildroot and do
the same (and remove the legacy experimental comment accordingly -
although upstream docs still mention it as legacy, that's really an
oversight, the community considers it the go-to protocol for years now).
[1] https://git.open-mesh.org/batman-adv.git/blob/HEAD:/CHANGELOG.rst#l174
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Removed patch (and autoreconf) which was commited upstream:
f227f2f286
COPYING hash changed because of a spelling fix: MERCHANTIBILITY ->
MERCHANTABILITY. Note that the latter is also the spelling used in the
official MIT license.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Removed backported patch which is now included in this release.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Buildroot currently has all of the needed packages to use Mender as the primary
update system. However, there isn't any documentation or examples now that
provide a starting point for users. This lack of documentation makes setting up
a Mender based update system difficult and time-consuming.
Provided in this patch series is a mender_x86_64_efi_defconfig of which sets up
an x86_64 EFI based build that is ready to flash to a USB pen drive or use in a
QEMU environment. The system partition schema comprises of two equally sized
root partitions and a data partition that mounts to /var/lib/mender as a
persistent data store partition.
There is a board/mender/readme.txt provided, which gives users documentation on
how to flash the built image or boot the image using QEMU as well.
The post-build and post-image-efi scripts also have four options:
-a --artifact-name:
- The name of the artifact, this is added to /etc/mender/artifact_info
-o --data-part-size:
- The data partition size.
-d --device-type
- The device-type used by mender to catagorize registered devices.
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Mikael Bourhis-Cloarec <mikael.bourhis@smile.fr>
[Romain: rebase on master (01.2022)
- update genimage-efi.cfg to use GPT partition table and genimage-15 syntax
- bump the kernel to 5.15.13
- Add host-libelf kernel dependency
- Use BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI after commit 82d1e8c628
(boot/grub2: use none platform when building for host)
- Add regexp grub mandatory module for mender-grubenv
- remove startup.nsh from genimage-efi.cfg after commit 3efb5e31fc
(board, boot, package: remove usage of startup.nsh in EFI partition)]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Arnout:
- abbreviate sizes and partition uuids, remove implicit ones in genimage.cfg
- change data partition uuid to Linux (instead of x86_64 rootfs)
- fix whitespace and shellcheck errors in scripts
- remove --generate-mender-image option, always create it
- remove empty directory and -O ^64bit when creating data fs
- remove redundant e2fsck
- add -serial stdio option to qemu call
- update kernel to current stable 5.18.14
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Upstream makes releases very irregularly; our current version is already
two years old and upstream HEAD contains a lot of fixes. Therefore:
- Bump to the current HEAD SHA1
- Remove patches applied to upstream
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Support for libsafec can not be completely disabled - currently,
--disable-safec does not exactly allow for compiling libest on
systems without libsafec, but instead just uses bundled copy of
library from safe_c_stub/
To avoid that, do automatically select the full-featured safeclib
package and always use --with-system-libsafec
Signed-off-by: Aleksandr Makarov <aleksandr.o.makarov@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Version 2.3.4 of libtalloc needs to define PYTHONHASHSEED, as a check has been added
to the configure script, and build will fail if it is not defined.
This is originately a workaround by samba developpers meant to avoid rebuilding talloc
with each call to make. Defining PYTHONHASHSEED would not be required in the context
of builroot, if not for the check in the configure script.
Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>