Skip to content
This repository has been archived by the owner on Jun 28, 2021. It is now read-only.

Update buildroot fork to latest upstream master #8

Open
wants to merge 10,000 commits into
base: master
Choose a base branch
from

Conversation

tmagik
Copy link

@tmagik tmagik commented Feb 25, 2019

Update to buildroot in preparation to switch freedom-u-sdk over to replace riscv-gnu-toolchain with the toolchain supported in buildroot, which builds faster using upstream sources and takes less space.

wbx-github and others added 28 commits August 17, 2024 12:10
Signed-off-by: Waldemar Brodkorb <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Michael Vetter <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Since the bump of gnu-efi to version 3.0.17 in Buildroot commit
fa9893a, the build of gnu-efi fails
on ARM big endian and AArch64 big endian.

Indeed, since that bump, gnu-efi builds some "apps", using a special
linker file part of gnu-efi that explicitly sets the architecture:

OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")

OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")

Due to this, big endian builds are now failing:

armeb-buildroot-linux-gnueabi-ld: ../gnuefi/crt0-efi-arm.o: compiled for a big endian system and target is little endian
armeb-buildroot-linux-gnueabi-ld: failed to merge target specific data of file ../gnuefi/crt0-efi-arm.o

Since we are not really interested in supporting gnu-efi on ARM big
endian and AArch64 big endian and it is not supported upstream, let's
disabled on those architectures.

Fixes:

  http://autobuild.buildroot.org/results/4d385d6759346e19664d0bded1e419f004f82b47/ (ARM big endian)
  http://autobuild.buildroot.net/results/b6df43408ca4cd469962c96d49d9ac7935b6dbe9/ (AArch64 big endian)

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Since commit
1f7c581 ("package/gnu-efi: enable on
RISC-V 64-bit"), we allow building on RISC-V... and that includes
noMMU RISC-V. This unfortunately fails badly with:

/home/autobuild/autobuild/instance-2/output-1/host/bin/../riscv64-buildroot-linux-uclibc/bin/ld.real: unrecognized option '-Wl,-elf2flt=-r'
/home/autobuild/autobuild/instance-2/output-1/host/bin/../riscv64-buildroot-linux-uclibc/bin/ld.real: use the --help option for usage information

Since we're anyway not interested in gnu-efi on noMMU platforms, let's
not even spend time on trying to fix this and make MMU support a
requirement for gnu-efi.

Fixes:

  http://autobuild.buildroot.net/results/8b4a503939bdbe773ceee69e01a3ea16873a75fa/

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
lib/print.c in gnu-efi contains some floating point computation. On
ARM soft-float configurations, these floating point operations
generate calls to __eabi_*() functions that are provided by
gcc. However, gnu-efi builds some freestanding code, so it doesn't
link with libgcc, and therefore the build fails with:

arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1431:(.text+0x78c): undefined reference to `__aeabi_i2d'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1431:(.text+0x7a0): undefined reference to `__aeabi_dsub'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1431:(.text+0x7a4): undefined reference to `__aeabi_d2f'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1432:(.text+0x7b4): undefined reference to `__aeabi_fcmplt'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1438:(.text+0x7c8): undefined reference to `__aeabi_fmul'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1440:(.text+0x7d4): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1444:(.text+0x7f8): undefined reference to `__aeabi_fmul'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1440:(.text+0x808): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1440:(.text+0x818): undefined reference to `__aeabi_f2iz'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x834): undefined reference to `__aeabi_i2f'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x840): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1453:(.text+0x858): undefined reference to `__aeabi_fmul'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x860): undefined reference to `__aeabi_f2iz'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x868): undefined reference to `__aeabi_i2f'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x870): undefined reference to `__aeabi_fcmpeq'
arm-buildroot-linux-gnueabi-ld: /output-1/build/gnu-efi-3.0.18//lib/print.c:1451:(.text+0x89c): undefined reference to `__aeabi_f2iz'

Since we don't care about gnu-efi support on ARM soft-float
configurations, let's disable such configurations.

Note that we have chosen to use BR2_ARM_SOFT_FLOAT as we're for now
making this specific to ARM as we're not sure what is the situation on
other CPU architectures (for example RISC-V without FPU maybe). This
can be revisited once we get more data on the behavior on other CPU
architectures that can support soft-float.

Fixes:

  http://autobuild.buildroot.net/results/98d955fd2fcf4a3db1ab46e4f553447031a23b92/

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
The python-huepy has an incorrect data_files statement in its
setup.py, causing the LICENSE file to be installed directly as
$(TARGET_DIR)/LICENSE. This was detected because several packages were
doing this, and the second package doing
it (python-unittest-xml-reporting, fixed separately) was erroring out
when trying to overwrite this already existing file.

This commit fixes the case of python-huepy by adding a patch that has
been submitted upstream.

There are no autobuilder failures related to python-huepy, but this
was detected while fixing
http://autobuild.buildroot.net/results/2c91243b440087bbc7d051d65f553f59d05dd207/
for python-unittest-xml-reporting.

This bug has been in huepy since at least 2018, so this patch can be
backported to previous Buildroot versions.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
This commit brings two patches that have been submitted to upstream
libffi by Synopsys people, to fix libffi build issues on ARC.

This build issue was introduced by upstream commit
c4df19c99f8d8841942e3edaadbf331d30e298c8, which landed in libffi
3.4.5, so the issue exists in Buildroot since we bumped from libffi
3.4.4 to 3.4.6 in commit f382de2,
which landed in Buildroot 2024.05. This issue therefore doesn't exist
in the 2024.02.x LTS branch.

Fixes:

  http://autobuild.buildroot.net/results/3accebc6775b9a479876a5898d55bde005d4b12b/

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
The build of libffi on OpenRISC is broken with GCC 14.x. This commit
brings two patches, submitted upstream, that address those two build
issues. Both issues always existed in the OpenRISC libffi code base.

Fixes:

  http://autobuild.buildroot.net/results/fb95d9a0f8322a58cd266014f3dea4eaa1b483e5/

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
…installation

The LICENSE file gets installed directly to the root of $(TARGET_DIR),
which clashes with other packages:

FileExistsError: File already exists: /home/autobuild/autobuild/instance-3/output-1/target/LICENSE

This commit fixes this issue for the python-unittest-xml-reporting
package. Other fixes will be needed for the other patches.

The issue in python-unittest-xml-reporting was introduced in upstream
commit c43427611390fba83ca13fbb5311bd8fece5048f, which first appeared
in v3.1.0. We switched from a pre-3.1.0 version to 3.2.0 in Buildroot
in commit 69ba156, which was merged
in 2023.02.

Fixes:

  http://autobuild.buildroot.net/results/2c91243b440087bbc7d051d65f553f59d05dd207/

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Since the update of Python to 3.12.4 in commit
76cd141 avahi fails to install
python subcomponents. The reason is that the obsolete imp
python modul is used. Add a patch to remove the imp dependency.

Fixes:
 - http://autobuild.buildroot.net/results/2bf/2bf391b93362204917a560705bc402585334ab3c

Signed-off-by: Waldemar Brodkorb <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
We have accumulated a whole bunch of very old fixups to avoid issues
with super old CT-NG toolchains, which we are not testing anymore, so
remove those fixups.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Now that the support for generating a fully random configuration has
been well-tested, the whole mechanism based on a toolchain CSV isn't
really useful anymore, so let's drop it to simplify the logic.

Note that the autobuilder code still uses --{,no-}toolchains-csv, so we
can't remove those or the autobuilders would fail. Once all supported
branches no longer use those argumetns, we can drop them from the
autobuilder code, then ask people to update their runners, and we will
finally be able to drop those arguments. Eventually.

Signed-off-by: Thomas Petazzoni <[email protected]>
[[email protected]: keep --{,no-}toolchains-csv and explain why]
Signed-off-by: Yann E. MORIN <[email protected]>
Before calling randpackageconfig/randconfig, we were pre-generating a
snippet of .config with:

 (1) minimal.config
 (2) BR2_CURL/BR2_WGET settings
 (3) some random selection of init system, debug, runtime debug, etc
 (4) enabling BR2_REPRODUCIBLE=y when diffoscope was found

Now that we only use randconfig, this whole fine-tuning is completely
irrelevant, as it gets overridden by "make randconfig".

(1) and (3) above are useless, as randconfig does all the
randomization that is needed.

However, we want to preserve (2) and (4) above, so we re-implement
those fixups, but *after* randconfig has done its job.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
In order to test that upstream sites are still working, we need to NOT
fallback to sources.buildroot.net for some builds.

As there is anyway a local cache in the autobuilder instances, we need
to do quite a lot of builds without any BR2_BACKUP_SITE configured to
have a chance to catch issues, which is why a 50% chance is used to
unset BR2_BACKUP_SITE.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Right now, genrandconfig just spits out the random messages from the
different make invocations, which isn't terribly useful. Instead,
let's redirect the output of make invocations to oblivion, and add
some more high level logging.

As part of this logging, we're interested to see how many iterations
were needed to find a valid configuration, so changed the loop logic
to count from 0 to 100 instead of from 100 to 0 so that we can easily
show the iteration number.

Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Flashrom requires --default-library=both for the cli when building
with BR2_SHARED_LIBS.

As such set --default-library=both instead of disabling it.

The cli was disabled in 8637884 to
work around a cli build issue which this fixes.

Signed-off-by: James Hilliard <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Botan commit 313e439c786d68bcf374b2cb0edfe3ffd891db94 added a
dependency to pthread.h. Add a dependency to thread support.

Fixes:
 - http://autobuild.buildroot.org/results/205/205d7505803990508bbd545393902789063ababd

Signed-off-by: Waldemar Brodkorb <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Michael Fischer <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Revert the upstream wpa_supplicant commit 41638606054 ("Mark
authorization completed on driver indication during 4-way HS offload").
That commit breaks WPA2-PSK and WPA3-SAE for brcfmac driver in upstream
Linux kernels. For details refer to the hostapd mailing list discussion
and redhat bugzilla:
- http://lists.infradead.org/pipermail/hostap/2024-August/042893.html
- https://bugzilla.redhat.com/show_bug.cgi?id=2302577

Alternative option would be to disable offload in brcmfmac driver
adding "brcmfmac.feature_disable=0x82000" to Linux command line.

Final decision is not yet agreed upon on the hostapd mailing list,
but reporter and maintainer are inclined to revert the patch. So this
change adds revert to Buildroot to improve user experience for such
boards as Orange Pi Zero Plus2, BananaPro, and others. Later on the
patch will be updated according to hostapd upstream changes.

Signed-off-by: Sergey Matyukevich <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Petr Vorel <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Petr Vorel <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
For a changelog see here:
https://www.libssh.org/2024/08/08/libssh-0-11-0-release/

Signed-off-by: Waldemar Brodkorb <[email protected]>
Reviewed-by: Petr Vorel <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
For a change log since 1.7.1, see:
https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/ChangeLog?h=v1.8.1

Version 1.8 introduced a preliminary Zstd support, so this commit adds
this new optional dependency for target, and disable this option for the
host variant.

Version 1.8 also introduced a use of atomic operations, in commit [1].
This commit adds linking with libatomic when appropriate.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/commit/?id=0d6f9835ce27ead0f23848408366d9ca7f2b0d15

Signed-off-by: Julien Olivain <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
There is no changelog available, but you can browse the git log
here:
https://git.netfilter.org/libnftnl/log/

Signed-off-by: Waldemar Brodkorb <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
There is no changelog available, but you can browse the
git log here:
https://git.netfilter.org/nftables/

Signed-off-by: Waldemar Brodkorb <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
See here for a detailed changelog:
https://e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.47.1

Signed-off-by: Waldemar Brodkorb <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
joudinet and others added 30 commits September 4, 2024 00:29
Signed-off-by: Johan Oudinet <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Signed-off-by: Johan Oudinet <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Signed-off-by: Johan Oudinet <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
and update the two patches accordingly. Ejabberd now uses rebar3 by
default, so use the --with-rebar configure option to set the correct
rebar binary to use.

Signed-off-by: Johan Oudinet <[email protected]>
[[email protected]: update .checkpackageignore]
Signed-off-by: Yann E. MORIN <[email protected]>
Signed-off-by: Johan Oudinet <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Add an option to enable building and installing the MiniBrowser program
included in the WebKitGTK source tree. This may be handy now that Midori
will no longer be packaged in Builroot. A post-install hook installs a
symbolic link to it into /usr/bin for convenience.

Signed-off-by: Adrian Perez de Castro <[email protected]>
Signed-off-by: Yann E. MORIN <[email protected]>
Fixes the following security issues:

- CVE-2024-6119: Possible denial of service in X.509 name checks [Moderate
  severity]
  https://openssl-library.org/news/secadv/20240903.txt

- CVE-2024-5535: SSL_select_next_proto buffer overread [Low severity]
  https://openssl-library.org/news/secadv/20240528.txt

Updated _SITE and project URL according to
https://openssl-library.org/post/2024-04-30-releases-distribution-changes/

Signed-off-by: Bernd Kuhls <[email protected]>
[Peter: add CVE details]
Signed-off-by: Peter Korsgaard <[email protected]>
By default, 'cargo install' also installs a kind of "registry" in
/usr/.crates2.json and /usr/.crates.toml [0]:
    To track information of installed executables, some extra files,
    such as .crates.toml and .crates2.json, are also created under this
    root.

Presumably, this would be used by "cargo uninstall" to properly cleanup
the package [1]:
    By default all binaries are removed for a crate [...].

However, in the context of Buildroot, this is useless, as we do not
uninstall packages, and thus those files are superfluous.

Tell cargo to not create that tracking information, by using --no-track
to "cargo install".

Note that this would cause cargo to fail to install a file that already
exists [2], like would be the case when running foo-reinstall for example:
    --no-track
    By default, Cargo keeps track of the installed packages with a
    metadata file stored in the installation root directory. This flag
    tells Cargo not to use or create that file. With this flag, Cargo
    will refuse to overwrite any existing files unless the --force flag
    is used. This also disables Cargo’s ability to protect against
    multiple concurrent invocations of Cargo installing at the same
    time.

However, we do already use --force which allows cargo to overwrite
existing files without any further ado, so in our case, --no-track will
only disable the tracking information.

Also, in Buildroot, we do not have concurrent installation _to the same
location_: either PPD is disabled, in which case only one package will
be installed to the common target/ at a time, or we're using PPD, so
each package will get installed into its own target/. Thus, --no-track
has no adverse side effect for us.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/issues/17

[0] https://doc.rust-lang.org/cargo/reference/config.html#installroot
[1] https://doc.rust-lang.org/cargo/commands/cargo-uninstall.html
[2] https://doc.rust-lang.org/cargo/commands/cargo-install.html

Reported-by: Thomas Kindler @thomask77
Signed-off-by: Yann E. MORIN <[email protected]>
Tested-by: Thomas Kindler @thomask77
Signed-off-by: Thomas Petazzoni <[email protected]>
Build alsa-plugins with pulseaudio support if it is selected in
menuconfig.

Signed-off-by: Guillaume GC. Chaye <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Update to U-Boot 2024.07 and kernel 6.6.48 versions.

Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
…x series

Signed-off-by: Bernd Kuhls <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Update to U-Boot 2024.07 and kernel 6.6.48 versions.

The default U-Boot pico-imx6ul_defconfig causes the board to hang in SPL.

Fix it by chaging it to the more specific U-Boot
pico-pi-imx6ul_defconfig.

Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Newer versions of the imx6ulpico board come populated with QCA9377
Wifi chip instad of BRCM4339.

Also install the QCA9377 firmware so that Wifi can work by default
on the newer board revisions.

Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Fixes:
* CVE-2024-45230
* CVE-2024-45231

Further changes: https://docs.djangoproject.com/en/5.1/releases/5.1.1/

Signed-off-by: Marcus Hoffmann <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: James Hilliard <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: José Luis Salvador Rufo <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
…dfd5e348

Signed-off-by: Adam Duskett <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Adam Duskett <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Adam Duskett <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
…89adcb041d7f1

Signed-off-by: Adam Duskett <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Nicolas Cavallari <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Add new optional dependencies on bluez midi support, opus, systemd and
spandsp.

Signed-off-by: Nicolas Cavallari <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Update to U-Boot 2024.07 and kernel 6.6.48 versions.

Signed-off-by: Fabio Estevam <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
../testsuite/reftests/gtk-reftest.c:28:10: fatal error: execinfo.h: No such file or directory

We don't need the test suite, so disable it.

Signed-off-by: Thomas Devoogdt <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
Signed-off-by: Peter Korsgaard <[email protected]>
Signed-off-by: Peter Korsgaard <[email protected]>
Signed-off-by: Peter Korsgaard <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet