Go to file
Yann E. MORIN 752a0a7a8e support/download: teach dl-wrapper to handle more than one hash file
Currently, we expect and only use hash files that lie within the package
directory, alongside the .mk file. Those hash files are thus bundled
with Buildroot.

This implies that only what's known to Buildroot can ever get into those
hash files. For packages where the version is fixed (or a static
choice), then we can carry hashes for those known versions.

However, we do have a few packages for which the version is a free-form
entry, where the user can provide a custom location and/or version. like
a custom VCS tree and revision, or a custom tarball URL. This means that
Buildroot has no way to be able to cary hashes for such custom versions.

This means that there is no integrity check that what was downloaded is
what was expected. For a sha1 in a git tree, this is a minor issue,
because the sha1 by itself is already a hash of the expected content.
But for custom tarballs URLs, or for a tag in a VCS, there is indeed no
integrity check.

Buildroot can't provide such hashes, but interested users may want to
provide those, and currently there is no (easy) way to do so.

So, we need our download helpers to be able to accept more than one hash
file to lookup for hashes.

Extend the dl-wrapper and the check-hash helpers thusly, and update the
legal-info accordingly.

Note that, to be able to pass more than one hash file, we also need to
re-order the arguments passed to support/download/check-hash, which also
impies some shuffling in the three places it is called:
  - 2 in dl-wrapper
  - 1 in the legal-info infra

That in turn also requires that the legal-license-file macro args get
re-ordered to have the hash file last; we take the opportunity to also
move the HOST/TARGET arg to be first, like in the other legal-info
macros.

Reported-by: "Martin Zeiser (mzeiser)" <mzeiser@cisco.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit f91e89b6e6)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-10 14:29:25 +01:00
arch arch/Config.in.x86: drop AVX512 from alderlake 2023-08-30 12:54:00 +02:00
board board/raspberrypi: fix typo in comment 2023-10-15 20:24:41 +02:00
boot boot/arm-trusted-firmware: set BUILD_STRING to package version 2023-11-08 14:37:18 +01:00
configs configs/stm32mp157c_odyssey_defconfig: use a fixed TF-A version 2023-11-10 13:24:03 +01:00
docs docs/manual: svn downloads can be hash-checked 2023-11-09 18:22:17 +01:00
fs fs/cpio: allow users to provide their own dracut modules 2023-02-06 22:46:35 +01:00
linux {linux, linux-headers}: bump 6.{1, 5}.x series 2023-11-08 20:15:20 +01:00
package support/download: teach dl-wrapper to handle more than one hash file 2023-11-10 14:29:25 +01:00
support support/download: teach dl-wrapper to handle more than one hash file 2023-11-10 14:29:25 +01:00
system system: Warn if systemd is used with kernel < 4.15 2023-02-07 22:51:26 +01:00
toolchain toolchain/helpers.mk: strengthen uClibc locale check 2023-09-14 10:28:28 +02:00
utils utils/getdeveloperlib.py: handle file removal 2023-09-15 19:50:55 +02:00
.checkpackageignore package/linux-tools: fix SysV init script 2023-10-13 16:32:02 +02:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig
.flake8
.gitignore
.gitlab-ci.yml support/misc/gitlab-ci.yml.in: retry a job only if it failed due to a runner issue 2023-09-13 21:28:23 +02:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2023.02.6 2023-10-16 10:19:31 +02:00
Config.in Config.in: default to HTTPS for s.b.n backup site 2023-10-30 18:17:20 +01:00
Config.in.legacy Config.in.legacy: add missing binutils 2.36.x entry 2023-05-02 13:20:44 +02:00
COPYING
DEVELOPERS package/opencv4-contrib: properly note dependencies between modules 2023-10-26 13:03:43 +02:00
Makefile support/download: teach dl-wrapper to handle more than one hash file 2023-11-10 14:29:25 +01:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches