From 7cb4cdf0f23c26d6ce443272bae371c725dd8358 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 14 Sep 2026 17:52:46 +0100 Subject: [PATCH] mk: turn on git-clean by default, except coreboot libreboot's policy is to thoroughly clean sources per build, because we cache builds out of tree and avoid re-builds if they exist; these and the sources are deleted if metadata in config/ changes per project, tree and/or target. the problem is that this change only affects lbmk.git it doesn't affect release archives, where project sources do not have git-init applied to them. this will be addressed. can't use it on coreboot, because it will delete xgcc tarballs in a way currently not handled, and handling it will mean adding a project-specific hack. the xgcc tarballs could be built out-of-tree, and this will have to be done, otherwise coreboot will have to be made gitclean="y" for now. everything else is fair game. Signed-off-by: Leah Rowe --- config/data/coreboot/mkhelper.cfg | 8 ++++++++ config/data/u-boot/mkhelper.cfg | 4 ---- mk | 9 +++++++-- 3 files changed, 15 insertions(+), 6 deletions(-) delete mode 100644 config/data/u-boot/mkhelper.cfg diff --git a/config/data/coreboot/mkhelper.cfg b/config/data/coreboot/mkhelper.cfg index 8414ab53..6808f18f 100644 --- a/config/data/coreboot/mkhelper.cfg +++ b/config/data/coreboot/mkhelper.cfg @@ -26,3 +26,11 @@ cbfscfg="" premake="corebootpremake" mkhelper="coreboot_pad_one_byte" postmake="mkcorebootbin" + +# must confirm, but i think git-clean +# will also delete crossgcc builds in +# coreboot.git, which we do not currently +# rely on out-of-tree +gitclean="n" + +# so, TODO: support out-of-tree xgcc builds diff --git a/config/data/u-boot/mkhelper.cfg b/config/data/u-boot/mkhelper.cfg deleted file mode 100644 index 2108034d..00000000 --- a/config/data/u-boot/mkhelper.cfg +++ /dev/null @@ -1,4 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later - -gitclean="y" -gitcleanargs="-fdx" diff --git a/mk b/mk index 71ea5d0e..5ec238b6 100755 --- a/mk +++ b/mk @@ -74,7 +74,11 @@ eval "`newvar autoconfargs autogenargs badhash badtghash bootstrapargs \ build_depend buildtype cleanargs cmakedir cmd defconfig dest_dir elfdir \ forcepull listfile makeargs mdir mkhelper mkhelpercfg mode postmake \ premake project release rev srcdir target target_dir tree xarch xgcctree \ - xlang gitclean gitcleanargs`" + xlang`" + +# can be overridden in project mkhelper.cfg +gitclean="y" +gitcleanargs="-fdx" main() { @@ -268,7 +272,8 @@ configure_project() eval "`newvar autoconfargs badhash badtghash bootstrapargs \ build_depend buildtype cleanargs makeargs mkhelper postmake \ - premake release xarch xgcctree xlang gitclean gitcleanargs`" + premake release xarch xgcctree xlang`" + gitclean="y" [ ! -f "$_tcfg" ] && \ buildtype="auto"