build: export GIT_CEILING_DIRECTORIES for package builds
authorJeffery To <jeffery.to@gmail.com>
Wed, 31 May 2023 13:58:34 +0000 (21:58 +0800)
committerPetr Štetiar <ynezz@true.cz>
Wed, 7 Jun 2023 07:04:23 +0000 (09:04 +0200)
commitb059aaf039e8127bef74b180593bf940b6397f3b
treef25f8668cf777f65070e220f9cc8e8ea4e421af1
parent5db2d6d009019d9c8b30ff2321785812d1fb19b2
build: export GIT_CEILING_DIRECTORIES for package builds

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 f597f34f3afa7bba8a2606490617688f1cea5a44)
include/host-build.mk
include/package.mk