After update of the U-Boot [1] we were missing dependency on Python3,
and so were seeing failures like in [2]:
------------------------->8--------------------
HOSTLD scripts/dtc/dtc
scripts/dtc/pylibfdt/libfdt_wrap.c:154:11: fatal error: Python.h: No such file or directory
154 | # include <Python.h>
| ^~~~~~~~~~
compilation terminated.
error: command '/usr/bin/gcc' failed with exit code 1
------------------------->8--------------------
So that get fixed with "BR2_TARGET_UBOOT_NEEDS_PYTHON3=y".
And then once we use Python3, we also need OpenSSL, similarly to [3]
and the likes. So do it with "BR2_TARGET_UBOOT_NEEDS_OPENSSL=y".
Hopefully now all starts to build w/o any issues.
And while at it let's add a bit more structure to the config!
- Sync with RPi-Distro repo
Switch to "bullseye" branch which moved several firmware files to
the cypress dir.
Add 43438 firmware 7.45.98.118 + external clm_blob
Add 43455 firmware 7.45.241 and clm_blob
- Sync with RPi-Distro repo
Switch to "bullseye" branch which moved several firmware files to
the cypress dir.
Add 43438 firmware 7.45.98.118 + external clm_blob
Add 43455 firmware 7.45.241 and clm_blob
- README.md: update link to RPi-distro repo wifi firmware files
- Merge pull request #19 from HiassofT/2021-12
095deea759 kernel: overlays: vc4-kms-v3d: Change composite handling 2e9b609e53c kernel: Bump to 5.10.79 12bc6e36773 firmware: dtoverlay: Rebase aliases in overlays like labels 24d966d35bb kernel: Bump to 5.10.81 ca52e7c1303 kernel: edt-ft5x06 touchscreen fixes 1a0297bfbf7 kernel: Bump to 5.10.82 0a1a871d04c kernel: Fix for IN Token of USB Endpoint 1 stopping occasionally on Pi 4 303d0012cd7 kernel: Bump to 5.10.83 bd8b6d5dc8e kernel: Bump to 5.10.85 56f1b8bbc88 kernel: Bump to 5.10.87 536baf33ae9 kernel: Bump to 5.10.88 ce71e3e9b34 kernel: Bump to 5.10.89 19b570d0d6a firmware: arm-loader: Fix kernel8.img selection on 2837 with arm_64bit=1 fbbde90b709 kernel: drm/vc4: fix non-working audio on RPi3 and no video with DVI 165bd7bc562 firmware: improve firmware camera detection 318e3373496 kernel: Bump to 5.10.90 175984a6dc4 kernel: drm/vc4: Add alpha_blend_mode property to each plane 20c5829b0af kernel: Bump to 5.10.92 3f20b832b27 firmware: arm_loader: Only clip min/max to the same value for turbo clocks
Tilman Keskinöz [Wed, 19 Jan 2022 15:57:39 +0000 (16:57 +0100)]
paclage/tpm2-tss: do not select liburiparser
Commit 593683b45f72 (package/tpm2-tss: remove unused dependency)
removed the build-time dependency (in the .mk), but forgot to
remove it from the Config.in.
Fabrice Fontaine [Sat, 15 Jan 2022 16:04:49 +0000 (17:04 +0100)]
package/riscv-isa-sim: set --with-boost
Set --with-boost to avoid the following build failure when a non working
boost version is installed on host. This failure is raised since the
addition of the package in commit ea033cecf990ed3f86619647523a9ad2ccb09adb:
configure:5559: error: Could not find a version of the Boost::Asio library!
Peter Korsgaard [Fri, 14 Jan 2022 10:38:24 +0000 (11:38 +0100)]
package/nodejs: security bump to version 14.18.3
Fixes the following security issues:
Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)
Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is
specifically defined to use a particular SAN type, can result in bypassing
name-constrained intermediates. Node.js was accepting URI SAN types, which
PKIs are often not defined to use. Additionally, when a protocol allows URI
SANs, Node.js did not match the URI correctly.
Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)
Node.js converts SANs (Subject Alternative Names) to a string format. It
uses this string to check peer certificates against hostnames when
validating connections. The string format was subject to an injection
vulnerability when name constraints were used within a certificate chain,
allowing the bypass of these name constraints.
Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)
Node.js did not handle multi-value Relative Distinguished Names correctly.
Attackers could craft certificate subjects containing a single-value
Relative Distinguished Name that would be interpreted as a multi-value
Relative Distinguished Name, for example, in order to inject a Common Name
that would allow bypassing the certificate subject verification.
Prototype pollution via console.table properties (Low)(CVE-2022-21824)
Due to the formatting logic of the console.table() function it was not safe
to allow user controlled input to be passed to the properties parameter
while simultaneously passing a plain object with at least one property as
the first parameter, which could be __proto__. The prototype pollution has
very limited control, in that it only allows an empty string to be assigned
numerical keys of the object prototype.
For details, see the advisory:
https://nodejs.org/en/blog/vulnerability/jan-2022-security-releases/
TIAN Yuanhao [Sat, 15 Jan 2022 01:50:04 +0000 (17:50 -0800)]
package/util-linux/util-linux-libs: add a missing patch
The commit 2f5068640161f7b267099e28b69d4c2280b4ded3 added a patch for
util-linux, but forgot to create a symlink to util-linux-libs. This
results in inconsistent libblkid.so builds from util-linux and
util-linux-libs.
If you enable BR2_PER_PACKAGE_DIRECTORIES, you will find that different
libblkid.so is used in different
$(BASE_DIR)/per-package/$(PKG)_NAME/target.
Peter Seiderer [Tue, 21 Sep 2021 20:21:34 +0000 (22:21 +0200)]
board/raspberrypicm4io-64: enable RTC and USB overlays
The CM4 IO Board is equipped with an on-board RTC connected over I2C,
and has USB 2.0 host ports.
This commit loads the appropriate overlays to enable both. The USB 2.0
interface is by default disabled on CM4 to reduce the power
consumption so it needs to be explicitly enabled on the CM4 IO Board
to use the USB ports.
Peter Seiderer [Tue, 21 Sep 2021 20:21:33 +0000 (22:21 +0200)]
board/raspberrypicm4io: enable RTC and USB overlays
The CM4 IO Board is equipped with an on-board RTC connected over I2C,
and has USB 2.0 host ports.
This commit loads the appropriate overlays to enable both. The USB 2.0
interface is by default disabled on CM4 to reduce the power
consumption so it needs to be explicitly enabled on the CM4 IO Board
to use the USB ports.
Francis Laniel [Wed, 22 Dec 2021 17:49:05 +0000 (18:49 +0100)]
linux: add BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE
CONFIG_DEBUG_BTF_INFO relies on pahole, so kernel DWARF are converted to BTF.
If CONFIG_DEBUG_BTF_INFO is set and BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE not,
an error message is shown and .config is not written.
Sergey Kuzminov [Fri, 17 Dec 2021 23:32:27 +0000 (02:32 +0300)]
board/orangepi/orangepi-zero: using PARTUUID to identify root filesystem
The mmc block device number can vary, so passing a mmc block device to
specify the location of the rootfs is not a reliable
approach. Instead, use the root=PARTUUID=<uuid> mechanism, where the
uuid is found by U-Boot.
Fix the following build failure with introspection:
/home/giuliobenetti/autobuild/run/instance-3/output-1/host/riscv32-buildroot-linux-gnu/sysroot/usr/bin/g-ir-compiler gst/rtsp-server/GstRtspServer-1.0.gir --output gst/rtsp-server/GstRtspServer-1.0.typelib --includedir=/usr/share/gir-1.0
Could not find GIR file 'Gst-1.0.gir'; check XDG_DATA_DIRS or use --includedir
error parsing file gst/rtsp-server/GstRtspServer-1.0.gir: Failed to parse included gir Gst-1.0
If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the .mk file should help.
Typically like this: PKG_MAKE_ENV += GIR_EXTRA_LIBS_PATH="$(@D)/.libs"
Julien Olivain [Mon, 10 Jan 2022 20:01:51 +0000 (21:01 +0100)]
package/python-gnupg: new package
A wrapper for the Gnu Privacy Guard (GPG or GnuPG).
The gnupg module allows Python programs to make use of the functionality
provided by the GNU Privacy Guard (abbreviated GPG or GnuPG). Using this
module, Python programs can encrypt and decrypt data, digitally sign
documents and verify digital signatures, manage (generate, list and
delete) encryption keys, using Public Key Infrastructure (PKI)
encryption technology based on OpenPGP.
Bumping the version of systemd is a little more complicated than the
usual package, and it's easy to forget some of the things that need to
be done - and this has happened several times in the past.
Add a checklist of things to worry about when updating systemd.
Note that there are many other complicated packages that also need a lot
of attention when upgrading. However, systemd is a really critical
package so it's more important that we get that one right than, say,
valgrind.
Adam Duskett [Tue, 4 Jan 2022 20:09:04 +0000 (12:09 -0800)]
package/gdb: remove python2 support
Since at least gdb 7.8, python3 support has been available. As part of
the progressive retiring of python2 support, it is time to drop its
support in gdb by:
- Removing BR2_PACKAGE_HOST_GDB_PYTHON in package/gdb/Config.in.host
and removing the choice to leave just a BR2_PACKAGE_HOST_GDB_PYTHON3
option.
- Adding BR2_PACKAGE_HOST_GDB_PYTHON to Config.in.legacy
- Changing depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3 to
depends on BR2_PACKAGE_PYTHON3 in package/gdb/Config.in
The spike simulator calls the dtc binary at its startup. The host dtc
command needs to be in the PATH at that time.
This commit add the buildroot host binary directory into the PATH of the
start.sh helper script. It make sure spike will use the buildroot dtc
version. This commit fixes this start.sh script on host not providing
the dtc command. Since the "spike" binary is now in the PATH, the
binary name is also simplified.
Peter Korsgaard [Thu, 13 Jan 2022 17:47:18 +0000 (18:47 +0100)]
configs/roseapplypi_defconfig: really change to ext4 rootfs
Commit b8aebcfd823f83c16 (configs/roseapplypi_defconfig: bump kernel to
5.15.10) adjusted the board to use an ext4 rootfs, but forgot to update the
defconfig to enable ext4 rootfs, breaking the build. Correct that.
In file included from ../src/pcm_hw.c:42:
/home/peko/autobuild/instance-1/output-1/host/i586-buildroot-linux-musl/sysroot/usr/include/sound/asound.h:444:18: error: field 'trigger_tstamp' has incomplete type
444 | struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */
| ^~~~~~~~~~~~~~
/tmp/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/powerpc64-buildroot-linux-gnu/9.3.0/../../../../powerpc64-buildroot-linux-gnu/bin/ld: kernel-shared/volumes.o: in function `create_chunk':
volumes.c:(.text+0x17f8): undefined reference to `__ALIGN_KERNEL'
/tmp/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: src/EGL/libEGL.so.1.1.0.p/libegl.c.o: in function `AtomicIncrement':
libegl.c:(.text+0x614): undefined reference to `__sync_add_and_fetch_4'
package/meson: add upstream patch to fix vapigen support
Import an upstream patch which fixes a typo in the Meson source code
which caused a wrong command line option to be passed to the vapigen
program. This fixes the build for all packages which use Meson and
provide API bindings generated using said tool.
Networkd-dispatcher is a dispatcher daemon for systemd-networkd
connection status changes. This daemon is similar to
NetworkManager-dispatcher, but is much more limited in the types of
events it supports due to the limited nature of systemd-networkd.
To simplify the large number of transitive dependencies, remove the ones
that are implied by glibc.
To simplify the comment, simply don't show it if python is selected.
Python 2 is going to be removed soon anyway.
Signed-off-by: Michael Nosthoff <[email protected]>
[Arnout: add Config.in comment and rework/simplify dependencies] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
Norbert Lange [Wed, 12 Jan 2022 10:10:20 +0000 (11:10 +0100)]
system/skeleton: provide run/lock directory
We changed the skeletons in bf01e51f3c, so that var/lock
points to run/lock. This resulted in build failures as
some packages want to work with these paths.
- Create run/lock, the run directory will be purged
later anyway (since 5e78e7e97d).
- for init == systemd, create the var/lock symlink early
to prevent packages creating this path as directory.
James Hilliard [Wed, 12 Jan 2022 09:47:31 +0000 (02:47 -0700)]
package/polkit: fix build on meson 0.61.0
Backport a patch removing invalid positional arguments:
../output-1/build/polkit-0.120/actions/meson.build:3:5: ERROR: Function does not take positional arguments.
James Hilliard [Wed, 12 Jan 2022 01:25:37 +0000 (18:25 -0700)]
package/gobject-introspection: bump to version 1.70.0
Rebase patches.
Backport a patch to fix a build error on latest meson.
giscanner/scannerlexer.l license hash change due to add float types:
https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/60b0cf2fc2fdc74d13832d1fdde21cfdc813b84e
Herve Codina [Mon, 10 Jan 2022 14:50:07 +0000 (15:50 +0100)]
support/testing/tests/package/test_libshdata: new test
This new test ensures that libraries and binaries generated
using Parrot Alchemy build system are correct.
Indeed, the test uses libshdata-stress.
This binary depends on libshdata.
libshdata depends on libfutils and libfutils depends on ulog.
All of these binaries and libraries are built using Alchemy.
Herve Codina [Mon, 10 Jan 2022 14:50:06 +0000 (15:50 +0100)]
package/libshdata: new package
The libshdata library provides lock free shared-memory tools.
https://github.com/Parrot-Developers/libshdata
libshdata-stress utility does not compile using static libs
only (BR2_STATIC_LIBS=y). The issue was raised upstream:
https://github.com/Parrot-Developers/libshdata/issues/2
For now, libshdata-stress simply depends on !BR2_STATIC_LIBS.
Signed-off-by: Herve Codina <[email protected]>
[[email protected]:
- do not macro-ify headers install
- do not parameterise static libs install dest
- do not parameterise binaries install dest
- reorder macros decaration and use
- remove spurious comma between module dependencies
- implicit module name
] Signed-off-by: Yann E. MORIN <[email protected]>
Herve Codina [Mon, 10 Jan 2022 14:50:05 +0000 (15:50 +0100)]
package/libfutils: new package
The libfutils library is a library that contains some common
useful functions (list, hash, time).
https://github.com/Parrot-Developers/libfutils
Signed-off-by: Herve Codina <[email protected]>
[[email protected]:
- do not macro-ify headers install
- do not parameterise static libs install dest
- reorder macros decaration and use
- implicit module name
- BUILD_CMDS fit on a single line
- LIBFUTILS_TARGET_ENV is all env, not just extra env
- add missing mkdir in shared-libs case
] Signed-off-by: Yann E. MORIN <[email protected]>
Herve Codina [Mon, 10 Jan 2022 14:50:04 +0000 (15:50 +0100)]
package/ulog: new package
The ulog library is a minimalistic logging library derived from
Android logger.
https://github.com/Parrot-Developers/ulog
Signed-off-by: Herve Codina <[email protected]>
[[email protected]:
- do not macro-ify headers install
- do not parameterise static libs install dest
- reordr macros decaration and use
- implicit module name
- BUILD_CMDS fit on a single line
] Signed-off-by: Yann E. MORIN <[email protected]>
Herve Codina [Mon, 10 Jan 2022 14:50:03 +0000 (15:50 +0100)]
package/alchemy: new host package
Alchemy is a build system developed by Parrot.
It is a new build system based on the one used in Android.
A central makefile instance scans a workspace to find user
makefiles, includes them and register modules to be built.
policy/modules/services/git.te:121:ERROR 'attribute xdg_config_type is not declared' at token ';' on line 115358:
typeattribute git_xdg_config_t xdg_config_type;
#line 121
checkpolicy: error(s) encountered while parsing configuration
Rules.monolithic:78: recipe for target 'policy.30' failed
Fabrice Fontaine [Tue, 11 Jan 2022 17:43:45 +0000 (18:43 +0100)]
package/gstreamer1/gstreamer1-mm: drop package
gstreamer1-mm is not compatible with glibmm-2.68 API and not actively
maintained anymore (one commit during the last 3 years):
https://gitlab.gnome.org/GNOME/gstreamermm/-/issues/17
https://gitlab.gnome.org/GNOME/gstreamermm/-/commits/master
As this is the only package that doesn't support glibmm-2.68 and because
it can't be easily patched, drop it to avoid the following build failure
raised since commit dddb65efbdf2c7952f22a1e51009f17f1676db4a:
Package 'giomm-2.4', required by 'virtual:world', not found
Yann E. MORIN [Mon, 10 Jan 2022 09:10:36 +0000 (10:10 +0100)]
package/musl: disable LTO unconditionally
Recent commit b7a00b39bca0 (package/glibc: force -fno-lto) only catered
for glibc, but all C libraries, like musl, are impacted, for very
similar reasons.
Yann E. MORIN [Mon, 10 Jan 2022 09:10:35 +0000 (10:10 +0100)]
package/uclibc: disable LTO unconditionally
Recent commit b7a00b39bca0 (package/glibc: force -fno-lto) only catered
for glibc, but all C libraries, like uClibc-NG, are impacted, for very
similar reasons.
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/mbedtls-2.28.0/library/bignum.c: In function 'mpi_select':
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/mbedtls-2.28.0/library/bignum.c:1994:5: error: 'for' loop initial declarations are only allowed in C99 mode
for( size_t i = 0; i < T_size; i++ )
^
/usr/lfs/hdd_v1/rc-buildroot-test/scripts/instance-0/output-1/build/mbedtls-2.28.0/library/bignum.c:1994:5: note: use option -std=c99 or -std=gnu99 to compile your code
In file included from aria_simd.cpp:18:0:
/home/buildroot/autobuild/instance-3/output-1/host/opt/ext-toolchain/lib/gcc/arm-none-linux-gnueabi/4.8.3/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
#error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
^
In file included from seckey.h:11,
from 3way.h:10,
from 3way.cpp:5:
misc.h:1528:6: error: 'wstring' in namespace 'std' does not name a type
1528 | std::wstring StringWiden(const char *str, bool throwOnError = true);
| ^~~~~~~
In file included from seckey.h:11,
from 3way.h:10,
from 3way.cpp:5:
misc.h:14:1: note: 'std::wstring' is defined in header '<string>'; did you forget to '#include <string>'?
13 | #include "smartptr.h"
+++ |+#include <string>
14 | #include "stdcpp.h"
Yann E. MORIN [Mon, 10 Jan 2022 16:23:19 +0000 (17:23 +0100)]
support/download: drop support for the 'none' hash
Commit 1ba85b7f874d (support/download: add explicit no-hash support)
introduced the 'none' hash type, in an attempt to make hash files
mandatory, but not failing on archives localy generated, like those
for git or svn repositories, especially for those packages where a
version choice was present, which would allow for either remote
archives for which we'd have a hash or VCS trees for which we could
not have a hash for the localy generated archive.
Indeed, back in the time, we did not have a mean to generate
reproducible archives, so having a hash file without a hash for
thosel ocally generated archives would trigger an error in the
hash-checking machinery.
But now, low-and-behold, we do know how to generate those archives,
and we have a mechanism to explicitly exclude some archives from being
hash-checked (e.g. when the version string itself can be user-provided).
As such, the 'none' hash type no longer has any raison d'être, we do not
use it in-tree, and its use in a br2-external tree is most probably
inexistent (as is the use of hash files alotgether most probably).
So we simply drop the support for that.
Signed-off-by: Yann E. MORIN <[email protected]>
[Thomas: drop support in checkpackagelib, as reported by Ricardo.] Signed-off-by: Thomas Petazzoni <[email protected]>
Fabrice Fontaine [Tue, 11 Jan 2022 07:28:09 +0000 (08:28 +0100)]
package/python-pyparsing: needs python3
python-pyparsing dropped python2 support since version 3.0.0:
https://github.com/pyparsing/pyparsing/blob/master/docs/whats_new_in_3_0_0.rst#python-2-x-no-longer-supported
resulting in the following build failure since bump to version 3.0.6 in
commit 7affc7827aee0e07ec94d3b4d91c2e23bda8d937:
File "setup.py", line 8, in <module>
from pyparsing import __version__ as pyparsing_version
File "/home/buildroot/autobuild/instance-0/output-1/build/python-pyparsing-3.0.6/pyparsing/__init__.py", line 100
major: int
^
SyntaxError: invalid syntax
Cédric Le Goater [Mon, 10 Jan 2022 20:58:44 +0000 (21:58 +0100)]
package/qemu: add support for PPC970 processors
PPC970 processors are well supported by the QEMU pseries and macbook
machines. The latest debian 11 (big endian) runs with SMP. Re-add
support.
Fixes: efc67deef38c ("qemu: remove support for some PowerPC processors in host qemu") Signed-off-by: Cédric Le Goater <[email protected]> Signed-off-by: Thomas Petazzoni <[email protected]>