A package may run git as part of its build process, and if the package
source code is not from a git checkout, then git may traverse up the
directory tree to find buildroot's repository directory (.git).
For instance, Poetry Core, a Python build backend, will read the
contents of .gitignore for paths to exclude when creating a Python
package. If it finds buildroot's .gitignore file, then Poetry Core will
exclude all of the package's files[1].
This exports GIT_CEILING_DIRECTORIES for both package and host builds so
that git will not traverse beyond $(BUILD_DIR)/$(BUILD_DIR_HOST).
[1]: https://github.com/python-poetry/poetry/issues/5547
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit f597f34f3a)
Our *cute* users often ignore README so add dependencies check for it.
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 8cd920a8c5)
Tony has reported, that CI tools job is failing for him in macOS
container due to prereq check failure for GNU `install` utility.
Michael diagnosed it and from his traces it was clear, that the issue is
caused by a wrong return value in the success check case, so lets fix it
accordingly.
Fixes: f75204036c ("prereq-build: allow host command symlinks to update")
Reported-by: Tony Ambardar <itugrok@yahoo.com>
Diagnosed-by: Michael Pratt <mcpratt@pm.me>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit 7855378fcd)
This reverts commit 3b68fb57c9.
After refactoring build checks to update old symlinks,
and after a long time of no python 2 support,
this is no longer needed.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit e2f9fa4204)
This makes the prereq stage update the symlinks
installed into staging_dir/host/bin
by rearrainging the way they are verified.
Before, seeing or installing a symlink would result in
a successful exit code, and not installing a symlink
would result is a failed exit code. However,
that is not able to account for the difference
between existing good and bad links, or whether
the link would be the same if it was reinstalled,
because the check can match the program to a different path.
Instead, let a success exit code represent
identifying an existing symlink as exactly the same
as what would be installed if it did not exist,
and let a fail exit code represent
needing to install the symlink
or not having a match to the check criteria.
The failing exit code is caught by a new second attempt
for all of the check-* targets which will then indicate
to the user that there was an update by having a success
exit code when the check is run again and the link is the same.
When there is nothing to update, the checks will run only once.
This relies on the ls command to be POSIX-conformant with long format:
"path/to/link -> target/of/link"
Also, make sure the symlink is executable, not just a file,
and the directory only needs to be created once.
Fixes: #12610
Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit f75204036c)
Commit 54070a1 was added to allow building proper SDKs with kernels <
5.10. Now that all targets use at least kernel 5.10 it can be reverted.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Some U-Boot checks for a specified uImage time and refuses to boot if
mismatched. This patch fixes it by recognizing UIMAGE_TIME parameter.
Signed-off-by: David Yang <mmyangfl@gmail.com>
Prevents subshell commands from failing to parse options
when having defined a whitespace in the VERSION_DIST.
As the called resulting images unlikely will handle
whitespace correctly, we replace them by "-".
Signed-off-by: Sven Roederer <S.Roederer@colvistec.de>
Manually adjusted before running quilt due to new location in tree:
backport-5.15/780-v5.16-bus-mhi-pci_generic-Introduce-Sierra-EM919X-support.patch
backport-5.15/781-v6.1-bus-mhi-host-always-print-detected-modem-name.patch
pending-5.15/790-bus-mhi-core-add-SBL-state-callback.patch
All other patches automatically rebased.
Build system: x86_64
Build-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
Run-tested: bcm2711/RPi4B, ramips/tplink_archer-a6-v3, filogic/xiaomi_redmi-router-ax6000-ubootmod
Signed-off-by: John Audia <therealgraysky@proton.me>
On each generation of the archive check sum will differ, because when
checking out subversion repository, current date is used for directories
creation. Force tar to assign creation date of the last revision for all
items inside archive.
Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
All targets are bumped to 5.15. Remove the old 5.10 patches, configs
and files using:
find target/linux -iname '*-5.10' -exec rm -r {} \;
Further, remove the 5.10 include.
Signed-off-by: Nick Hainke <vincent@systemli.org>
This reverts commit 91e3419a33.
Now that squashfs3-lzma generates reproducible output we can drop the
empty binary. Having a binary file in the tree is not nice and we actually
also use squashfs3-lzma for devices which expect the kernel to be loaded
from a squashfs3...
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
The filesystem is currently created on every build to trick the boot
loader of some FRITZ! devices into accepting the image. Sadly the
resulting squashfs-lzma filesystem is not reproducible. To fix this,
create a squashfs filesystem once and include it into the repository.
Creation happend as shown below
rm -rf empty_dir
mkdir empty_dir
./staging_dir/host/bin/mksquashfs-lzma \
empty_dir/ empty-squashfs-lzma \
-noappend -root-owned -be -nopad -b 65536 -fixed-time 0
Signed-off-by: Paul Spooren <mail@aparcar.org>
Some uses cases, like with autotools, need a path for 'true'
if we use them to force something to skip.
This will work by default on Linux hosts,
and require MacOS hosts to get coreutils,
which is currently installed in the CI
for 'macos-latest' host.
In the future, prereq stage can be reworked
to search for the actual binary
instead of relying on env.
Signed-off-by: Michael Pratt <mcpratt@pm.me>
Partial clone is much faster without clipping history
Signed-off-by: Glen Huang <me@glenhuang.com>
[also apply to include/download.mk]
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>