Bernd Kuhls [Tue, 1 Aug 2023 21:59:58 +0000 (23:59 +0200)]
package/ccache: fix build with gcc 12.3
Since the bump of ccache from 4.7.4 to 4.8.2 in Buildroot commit 1db3f0f84449843476c2887d2ea09323c66f33a4 ("package/ccache: bump
version to 4.8.2"), it started failing to build on machines that use
gcc 12.3, due to a bug in gcc:
/home/buildroot/autobuild/instance-0/output-1/build/host-ccache-4.8.2/src/storage/local/LocalStorage.cpp:701:24: required from here
/home/buildroot/autobuild/instance-0/output-1/build/host-ccache-4.8.2/src/Logging.hpp:33:7: internal compiler error: Segmentation fault
33 | Logging::log(std::string_view(message_)); \
| ^~~~~~~
Upstream ccache has committed a workaround to avoid this compiler bug,
which we backport in this commit.
Bernd Kuhls [Wed, 2 Aug 2023 20:31:46 +0000 (22:31 +0200)]
boot/at91dataflashboot: force arm mode instead of Thumb mode
The at91dataflashboot code contains some hand-written ARM assembly
that uses ARM classic instructions, and will not build in Thumb-1
mode.
This issue has always existed in Buildroot, but it's only since we
started testing random configurations, including Thumb-1
configurations, that this issue popped up.
/home/autobuild/autobuild/instance-15/output-1/build/tvheadend-fe47ecb5504a521fed9c1ca9705fb0dd2bb8443a/src/atomic.h:253:
undefined reference to `__sync_lock_test_and_set_8'
/home/autobuild/autobuild/instance-15/output-1/build/tvheadend-fe47ecb5504a521fed9c1ca9705fb0dd2bb8443a/src/atomic.h:81:
undefined reference to `__sync_fetch_and_add_8'
Julien Olivain [Sun, 6 Aug 2023 10:57:03 +0000 (12:57 +0200)]
package/lsof: add LSOF_CPE_ID_VENDOR
cpe:2.3:a:lsof_project:lsof is a valid CPE identifier for this package:
https://nvd.nist.gov/products/cpe/search/results?namingFormat=2.3&keyword=cpe%3A2.3%3Aa%3Alsof_project%3Alsof
It removed the previously bundled QXlsx source and lets stellarium
git-clone the sourcecode of the QXlsx package (not present in buildroot)
during the build:
It removed the previously bundled libindi source and lets stellarium
download the sourcecode of the indiclient package (not present in
buildroot) during the build:
boot/uboot: add host-python-pylibfdt dependency if needed
Until now, BR2_TARGET_UBOOT_NEEDS_PYLIBFDT was only bringing host-swig
as a dependency, because U-Boot was building its own pylibfdt, which
requires host-swig.
However, since commit 231d79c81e9a1f8c2ef14861374a40fcdc5e6b33 ("boot/uboot: set DTC path
when BR2_TARGET_UBOOT_NEEDS_DTC"), in which we tell U-Boot to use the
Buildroot built DTC, a consequence is that U-Boot no longer builds its
own pylibfdt: it expects the system to provided it. So now,
BR2_TARGET_UBOOT_NEEDS_PYLIBFDT really needs to bring
host-python-pylibfdt. The dependency on host-swig is no longer needed,
as what we need is host-python-pylibfdt, and it is an internal detail
of pylibfdt that it needs host-swig to build.
Romain Naour [Thu, 3 Aug 2023 21:38:14 +0000 (23:38 +0200)]
configs/qemu_ppc64*: remove binutils version from defconfigs
Buildroot 2022.05 use binutils 2.37 by default, but the binutils
version was downgraded to the previous binutils version in qemu_ppc64*
defconfigs due to a bug in binutils 2.37 [1].
Later when binutils 2.36 has been removed the binutils version has
been updated to 2.38 (even though it was already the default version
selected by Buildroot at that time) [2].
Since then, several binutils release has been added and the binutils
version 2.38 has been removed recently [3].
Since the initial bug is gone with the removal of binutils 2.37,
we can safely remove the binutils version from qemu_ppc64 defconfigs.
Romain Naour [Wed, 2 Aug 2023 16:46:28 +0000 (18:46 +0200)]
package/systemd: bump linux-headers dependency to 4.14
The recent update to systemd v254 requires a toolchain w/ linux headers
>= 4.14 to provide LOOP_SET_BLOCK_SIZE [1] (added in systemd v253 [2]).
Note:
Buildroot already warn the user if a toolchain w/ linux headers < 4.15
is used while enabling systemd as init system [3]. It was matter of
time before problem occurs.
Romain Naour [Wed, 2 Aug 2023 16:46:27 +0000 (18:46 +0200)]
support/testing: TestLxc switch to the Arm Bootlin toolchain
TestLxc uses systemd as init but the recent update to systemd v254
requires a toolchain w/ linux headers >= 4.14 to provide
LOOP_SET_BLOCK_SIZE [1] (added in systemd v253 [2]).
Since no other toolchain that the Bootlin one is available
switch to it.
(ARM Arm toolchain requires BR2_ARM_CPU_HAS_NEON enabled)
Romain Naour [Wed, 2 Aug 2023 12:02:01 +0000 (14:02 +0200)]
package/systemd: handle vconsole w/ keymap support
systemd v254 provide a new option "default-keymap" to handle vconsole
with keymap support [1]. With this change systemd now use the "us"
keymap by default and requires keytable files and keyboard utilities
from kbd package.
The keymap support can still be disabled using -Ddefault-keymap=""
at build time.
Handle the vconsole w/ keymap support and allow to use another
keymap than "us" by default.
go1.20.7 (released 2023-08-01) includes a security fix to the crypto/tls
package, as well as bug fixes to the assembler and the compiler.
Fixes CVE-2023-29409: restrict RSA keys in certificates to <= 8192 bits
Extremely large RSA keys in certificate chains can cause a client/server to
expend significant CPU time verifying signatures. Limit this by restricting the
size of RSA keys transmitted during handshakes to <= 8192 bits.
Based on a survey of publicly trusted RSA keys, there are currently only three
certificates in circulation with keys larger than this, and all three appear to
be test certificates that are not actively deployed. It is possible there are
larger keys in use in private PKIs, but we target the web PKI, so causing
breakage here in the interests of increasing the default safety of users of
crypto/tls seems reasonable.
Vincent Fazio [Tue, 1 Aug 2023 17:10:12 +0000 (12:10 -0500)]
arch/Config.in.x86: consolidate Geode CPU targets
Since its introduction in 7d8a59b40, the BR2_x86_geode CPU target has
pointed to GCC -march=geode which targets AMD Geode processors [0].
This arch tuning enables MMX and 3DNow! extensions in GCC but these are
not currently reflected in the selected flags by BR2_x86_geode.
This is likely due to the confusing naming and history of "Geode".
The AMD Geode can trace its origins back to the Cyrix MediaGXm [1] and
then to the NSC Geode GXm/GXLV/GX1/GX2 [2]. All of these processors have
MMX instruction support listed in their datasheets. The NSC GX2 was the
first in the series to enable 3DNow!.
When 7fed07d3a4a introduced BR2_X86_CPU_HAS_MMX, Geode was skipped
presumably because it wasn't clear that the target is AMD Geode and
because the Wikipedia documentation for Geode is incomplete [2] with
regards to supported instructions as they all support MMX.
When f6cd56b9ce3 introduced BR2_X86_CPU_HAS_3DNOW, Geode was skipped
presumably for similar reasons.
Note: the in-tree olpc_xo1_defconfig uses BR2_x86_geode which is fine
as this hardware uses the AMD Geode [3].
Make it more clear that the target is AMD Geode by renaming the Kconfig
menu option and add both MMX and 3DNow! flags to BR2_x86_geode.
This also means that BR2_x86_geode_mmx is no longer needed, and can be
removed. No legacy handling is needed since BR2_x86_geode_mmx has
never been part of any release.
Romain Naour [Tue, 1 Aug 2023 13:21:13 +0000 (15:21 +0200)]
support/testing: TestNoTimezone: fix the test case for Glibc
We have changed to a Glibc based toolchain recently [1] but the
behavior of TZ handling is not the same between libc implementation
when no Zone Database is installed.
musl and uClibc-ng return "UTC" when the data file of the requested
time zone is missing or when TZ is not set.
# TZ=America/Los_Angeles date +%Z
UTC
# TZ= date +%Z
UTC
Glibc return all or part of TZ content or "Universal" if TZ is empty.
# TZ=America/Los_Angeles date +%Z
America
# TZ= date +%Z
Universal
As demonstrated by TestAllTimezone, Glibc return "PDT" when the
America/Los_Angeles time zone data file is installed:
# TZ=America/Los_Angeles date +%Z
PDT
Since the Glibc behavior seems weird (not a bug [2]) when TZ is
set but the time zone data file is missing, update our test
to check against a string defined in the Glibc code [3].
Build-tested using these four defconfigs:
----------
BR2_arceb=y
----------
BR2_BINUTILS_VERSION_2_39_X=y
----------
(empty defconfig meaning binutils-2.40)
----------
BR2_BINUTILS_VERSION_2_41_X=y
----------
each using these commands:
Robert Marko [Mon, 31 Jul 2023 17:05:04 +0000 (19:05 +0200)]
package/mhz: add new package
mhz is a tool to mathematically calculate the real running CPU frequency
and as such has proved as invaluable tool for developing CPUFreq and
similar features in the kernel.
Its source finally got a license recently so it can be packaged.
Vincent Fazio [Mon, 31 Jul 2023 19:14:02 +0000 (14:14 -0500)]
arch/Config.in.x86: add Intel and AMD GCC targets
Sync the Intel and AMD CPU target list with GCC 13.
Multiple references are used for flags and synonyms [0] [1] [2] [3].
For Intel:
Add Ivy Bridge, Sierra Forest, Grand Ridge, Knights Landing, Knights
Mill, Granite Rapids, and Granite Rapids-D.
The Sapphire Rapids CPU target supports Emerald Rapids.
The Alder Lake CPU target supports Raptor Lake and Meteor Lake.
Note: Knights Landing/Mills are based on Xeon Phi and do support
some AVX512 extensions, but not the full subset required by
BR2_X86_CPU_HAS_AVX512
For AMD:
Add Bobcat, Bulldozer, Piledriver, Excavator, and Zen 1-4.
Add a comment to BR2_X86_CPU_HAS_AVX512 to explain the expected
extensions supported by the CPU. This flag was first selected by
skylake-avx512 and encompasses what appears to be a standard subset
across CPUs [3] and chapter 3 of the x86-64 psABI [4]:
AVX512F, AVX512BW, AVX512CD, AVX512DQ, AVX512VL
CPUs selecting this flag should, at a minimum, support this subset of
AVX512 extensions.
Quoting release notes:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=binutils/NEWS;hb=refs/heads/binutils-2_40-branch
* readelf and objdump now have a newly added option --sframe which dumps
the SFrame section.
Install libsframe to staging when available to avoid build errors, for
example with lightning:
libsframe.so.0, needed by output/per-package/lightning/host/arm-
buildroot-linux-gnueabi/sysroot/usr/lib/libopcodes.so, not found
Pierre Ficheux [Wed, 15 Mar 2023 17:05:18 +0000 (18:05 +0100)]
package/xenomai: fix testsuite install
Since commit [1], the testsuite build is unconditionally disabled
although we have the option BR2_PACKAGE_XENOMAI_TESTSUITE to
install Xenomai testsuite on the target.
Handle --disable-testsuite option with BR2_PACKAGE_XENOMAI_TESTSUITE.
Peter Seiderer [Tue, 18 Apr 2023 21:32:41 +0000 (23:32 +0200)]
package/python-babel: add purge locale data support
Add purge loacle data support (inspired by BR2_ENABLE_LOCALE_PURGE
handling in Makefile) to reduce target space allocation by the
python-babel package, e.g. from 32MB to 24K for
target/usr/lib/python3.11/site-packages/babel/locale-data with
BR2_ENABLE_LOCALE_WHITELIST="C en_US de_DE".
The special en_US_POSIX locale data is kept as it is used by default
by the python-babel code:
This patch adds esp-hosted package that allows to build the Linux
Kernel Driver for Espressif Esp32-* SoCs, that once programmed with
the corresponding firmware behave like a normal Wi-Fi module. Both
SDIO and SPI busses are supported and selectable.
Thomas Petazzoni [Mon, 31 Jul 2023 20:10:52 +0000 (22:10 +0200)]
package/sysdig: remove patch that doesn't apply
Patch 0001-cmake-Check-USE_BUNDLED_DEPS-before-getting-nlohmann.patch
should have been deleted as part of Buildroot commit 08792a60df80a1147ee78bb108f8186996bf0c77 ("package/sysdig: bump to
version 0.29.3"). Indeed, this patch was merged upstream as commit 114436c1a45142ef73acfc2607fbc6572782160f between 0.29.2 and 0.29.3.
This fixes the following build failure:
Applying 0001-cmake-Check-USE_BUNDLED_DEPS-before-getting-nlohmann.patch using patch:
patching file cmake/modules/nlohmann-json.cmake
Reversed (or previously applied) patch detected! Skipping patch.
1 out of 1 hunk ignored -- saving rejects to file cmake/modules/nlohmann-json.cmake.rej
There are no autobuilder failures, probably because getting to build
sysdig requires so many special conditions that it never triggered.
utils/docker-run: fix running when CWD is not MAIN_DIR
Commit 90790790925c (utils/docker-run: fix support for git-worktrees)
got last-minute changes when it was applied, and the case when the
current working directory is not the top of the current working copy
got broken.
Fix that by duplicating (and thus reinstating) the 'cd MAIN_DIR' to
match what is done when retrieving the git-common-dir.
Thomas Petazzoni [Thu, 27 Jul 2023 12:28:39 +0000 (14:28 +0200)]
package/msmtp: bump version to 1.8.24
From https://marlam.de/msmtp/news/:
"""
msmtp 1.8.24 is released
2023-06-29
This release fixes the allow_from_override command, adds the
from_full_name command, fixes a few minor bugs and updates the
translations (thanks again to everyone at translationproject.org).
msmtp 1.8.23 is released
2023-01-30
This release fixes XOAUTH2 authentication with some servers, updates
the msmtpq scripts, and updates the translations (including a new
Swedish translation).
"""
Joel Carlson [Mon, 2 Jan 2023 07:15:22 +0000 (00:15 -0700)]
package/cmocka: fix build on Thumb classic configurations
The cmocka package checks if a toolchain supports the
-fstack-clash-protection compiler flag, and if it does automatically
uses it. That flag is not supported by GCC for Thumb1 builds (at least
as of both GCC 11 and GCC 12). Let's tell cmocka about this by passing
-DWITH_STACK_CLASH_PROTECTION=OFF in this configuration, as suggested
by Arnout Vandecappelle.
Signed-off-by: Joel Carlson <[email protected]>
[Thomas: change the initial patch from Joel to use the suggestion from
Arnout] Signed-off-by: Thomas Petazzoni <[email protected]>
If the libiberty package is not the same version as the one packaged
with binutils AND if libiberty is installed before binutils, then the
below error is observed. Hence for now let us keep the versions in sync.
/usr/bin/ld: ../libiberty/libiberty.a(hashtab.o):(.data.rel.local+0x0)
: multiple definition of `htab_eq_pointer'
Build-tested using these four defconfigs:
----------
BR2_arceb=y
----------
BR2_BINUTILS_VERSION_2_38_X=y
----------
(empty defconfig meaning binutils-2.39)
----------
BR2_BINUTILS_VERSION_2_40_X=y
----------
each using these commands:
$ make host-libiberty
$ make host-binutils
Signed-off-by: Akshay Bhat <[email protected]>
[Bernd: bump to version 2.40, replace hash file with link to binutils] Signed-off-by: Bernd Kuhls <[email protected]> Signed-off-by: Thomas Petazzoni <[email protected]>
Buildroot commit 1738b5582ba0cf715303f4ebfa1d2323a33d0ae4, which
switched _SOURCE to an upstream-provided tarball, forgot to remove the
POST_PATCH_HOOK which adds a file already present in the tarball.
Joachim Wiberg [Sun, 4 Jun 2023 15:48:18 +0000 (17:48 +0200)]
package/mrouted: add /var/lib/misc for systemd builds
Similar to dnsmasq, mrouted saves state data across reboots in the
/var/lib/misc/ directory. In the case of mrouted it is the unique
generation id (used by neighboring mrouted routers to identify any
router restarting). This file is generated on first boot.
Workaround only needed for systemd builds, the sysv skeleton already
has the /var/lib/misc/ directory.
Joachim Wiberg [Sun, 4 Jun 2023 15:48:17 +0000 (17:48 +0200)]
package/mrouted: bump for v4.5 release
Upstream ChangeLog:
- Ignore IGMP proxy querys (src ip: 0.0.0.0), they must never win a
querier election
- Fix compat read location and new location for mrouted.genid
- Fix "non-decreasing" generation id, must increment on each restart
- Add support for configurable IGMP query response interval
- Add support for configurable IGMP querier timeout
- New 'join-group <group>' phyint option for cases where an IGMP
snooping switch blocks flooding of multicast to the port where
mrouted is connected
- On startup and reconf, log why we skip disabled interfaces
- Change to always log when assuming the IGMP querier role
Joachim Wiberg [Sun, 4 Jun 2023 11:06:47 +0000 (13:06 +0200)]
package/ssdp-responder: add /var/lib/misc for systemd builds
Similar to dnsmasq, ssdp-responder saves state data across reboots in
the /var/lib/misc/ directory. In the case of ssdp-responder it is the
(per-device unique) UUID that is generated on first boot.
Workaround only needed for systemd builds, the sysv skeleton already has
the /var/lib/misc/ directory.
Joachim Wiberg [Sun, 4 Jun 2023 11:06:46 +0000 (13:06 +0200)]
package/ssdp-responder: bump to v2.1
Upstream ChangeLog, summary:
- Add support for JSON output with 'ssdpd-scan -j'
- Dump received data from devices in 'ssdp-scan -l debug'
- Termios support for disabling '^C' output from 'ssdp-scan'
- Update copyright years, LICENSE file hash change
- Source '/etc/default/ssdpd' from systemd unit file
- Add fallback if '/var/lib/misc' is missing on system
- Fix truncated UUID when reading from cache file
Please note that the next version will include
https://github.com/linux-pam/linux-pam/commit/5fa961fd3b5b8cf5ba1a0cf49b10ebf79e273e96
which adds --enable-examples as configure option to disable examples.
This patch, although it would also fix the problem, is not added instead
to avoid autoreconf.
Add configure option to fix subsequent configure error due to patched
source file during git version check:
CMake Error at cmake/GitVersion.cmake:118 (message):
Unable to find current project version !
Call Stack (most recent call first):
CMakeLists.txt:100 (GetGitVersion)
While updating the kernel used in TestSELinuxSystemd [1] we
forgot to select BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF to provide
Buildroot's host-libelf. Using host-libelf avoid linking with
libelf installed on the host or failing to build objtool if
libelf is not installed.
Fabrice Fontaine [Sun, 26 Mar 2023 21:30:20 +0000 (23:30 +0200)]
package/libmemcached: bump to version 1.1.4
- Switch to an active fork
- Switch to cmake-package
- Drop all patches (not needed anymore)
- Use LICENSE file instead of COPYING as COPYING is now a symlink to
LICENSE
- Handle libevent and openssl dependencies
Giulio Benetti [Sat, 25 Mar 2023 20:38:08 +0000 (21:38 +0100)]
package/bind: fix build failure due to gcc bug 101737
The bind package exhibits gcc bug 101737 when built for the SH4
architecture with optimization enabled, which causes a build failure.
As done for other packages in Buildroot work around this gcc bug by
setting optimization to -O0 if BR2_TOOLCHAIN_HAS_GCC_BUG_101737=y.
To achieve this we need to correct the override of CFLAGS by using:
BIND_CONF_OPTS += CFLAGS="$(BIND_CFLAGS)"
instead of:
BIND_CONF_ENV = BUILD_CFLAGS"$(BIND_CFLAGS)"
since the latter doesn't work as expected and doesn't override CFLAGS.