kumquat-buildroot/docs/manual
Yann E. MORIN 5d36710e36 package/pkg-download: lookup hash files in global-patch-dir
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.

We leverage the existing global-patch-dir mechanism to look for extra
hash files. We use the same heuristic that is used for bundled hash
files, and for each global patch directory <dir>, we use the first file
to exist among:
 1. look into <dir>/<package>/<version>/<package>.hash
 2. look into <dir>/<package>/<package>.hash

Reported-by: "Martin Zeiser (mzeiser)" <mzeiser@cisco.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2023-11-07 11:48:46 +01:00
..
adding-board-support.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-asciidoc.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-autotools.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-cargo.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-cmake.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-conclusion.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-directory.adoc package/pkg-download: lookup hash files in global-patch-dir 2023-11-07 11:48:46 +01:00
adding-packages-generic.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-gettext.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-golang.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-hooks.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-kconfig.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-kernel-module.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-linux-kernel-spec-infra.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-luarocks.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-meson.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-perl.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-python.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-qmake.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-rebar.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-tips.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-virtual.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages-waf.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
adding-packages.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
advanced.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
appendix.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
beyond-buildroot.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
ccache-support.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
common-usage.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
configure-other-components.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
configure.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
contribute.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-configuration.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-device-permission-tables.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-directory-structure.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-outside-br.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-packages.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-patches.adoc package/pkg-download: lookup hash files in global-patch-dir 2023-11-07 11:48:46 +01:00
customize-post-image.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-quick-guide.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-rootfs.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize-users-tables.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
customize.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
debugging-buildroot.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
developers.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
download-infra.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
download-location.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
faq-troubleshooting.adoc docs/manual: add a FAQ entry about Y2038 support 2023-10-01 21:14:07 +02:00
getting.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
how-buildroot-works.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
integration-selinux-support.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
integration-systemd.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
integration.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
introduction.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
known-issues.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
legal-notice.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
make-tips.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
makedev-syntax.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
makeusers-syntax.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
manual.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
manual.mk docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
migrating.adoc docs/manual: fix typo 2023-10-21 23:30:27 +02:00
package-make-target.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
patch-policy.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
prerequisite.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
quickstart.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
rebuilding-packages.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
release-engineering.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
resources.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
using-buildroot-debugger.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
using-buildroot-development.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
using-buildroot-toolchain.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00
writing-rules.adoc docs/manual: rename *.txt as *.adoc 2023-09-30 10:25:22 +02:00