[Buildroot] [PATCH] support/scripts/check-uniq-files: ignore reinstalled packages

John Keeping john at metanate.com
Fri Apr 27 10:31:19 UTC 2018


On Thu, 26 Apr 2018 15:22:35 -0300 (BRT)
Henrique Marks <henrique.marks at datacom.ind.br> wrote:

> ----- Mensagem original -----
> > De: "John Keeping" <john at metanate.com>
> > Para: buildroot at buildroot.org
> > Cc: "John Keeping" <john at metanate.com>
> > Enviadas: Quinta-feira, 26 de abril de 2018 13:27:31
> > Assunto: [Buildroot] [PATCH] support/scripts/check-uniq-files:
> > ignore reinstalled packages  
> 
> > If a package is rebuilt, then any files it installs will be listed
> > multiple times in the file list and check-uniq-files will report
> > that these files are touched by more than one package even though
> > it is the same package listed multiple times.
> > 
> > Switch to storing the package names in a set so that each package
> > can only appear once.
> 
> I can confirm we have problems rebuilding packages using buildroot
> 2018-02.1. The 3 files "package-file-list" are increasing in size
> when we rebuild packages (make <pkg>-rebuild or make
> <pkg>-reinstall), and the compilation time is increasing linearly
> with every rebuild, but the increase is noticeable.

I hadn't considered this aspect of the problem.  Maybe we are better
fixing the root cause of the problem with a patch like this:

-- >8 --
diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
index 1c9dd1d734..edc2c9349c 100644
--- a/package/pkg-generic.mk
+++ b/package/pkg-generic.mk
@@ -64,6 +64,7 @@ GLOBAL_INSTRUMENTATION_HOOKS += step_time
 # $(3): suffix of file  (optional)
 define step_pkg_size_inner
 	cd $(2); \
+	$(SED) '/^$(1),/d' $(BUILD_DIR)/packages-file-list$(3).txt; \
 	find . \( -type f -o -type l \) \
 		-newer $($(PKG)_DIR)/.stamp_built \
 		-exec printf '$(1),%s\n' {} + \
-- 8< --

But I don't know enough about the build process to know if this is safe
in the presence of top-level parallel build.


Regards,
John



More information about the buildroot mailing list