From mboxrd@z Thu Jan 1 00:00:00 1970 From: Herve Codina Date: Mon, 21 Jun 2021 16:11:15 +0200 Subject: [Buildroot] [PATCH 00/15] Overwritten file detection and fixes, one more step to TLP build Message-ID: <20210621141130.48654-1-herve.codina@bootlin.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: buildroot@busybox.net Hi, This series fixes some issues in the TLP build feature. The starting point was the work done by Thomas Petazzoni on overwrites detection (PATCH 1). Based on this work, this series fixes some overwrites, introduces and uses _PER_PACKAGE_TWEAK_HOOKS. This variable is used to collect specific per-package path tweaks needed by per-package build. With this tweaks collected in this variable, they can be re-applied when they are needed (_{reconfigure,rebuild,reinstall}). It also reworks the final {HOST,TARGET}_DIR rsync. For each packages only files generated by the package are rsynced (PATCH 13). This is done using an exclusion list computed in (PATCH 12). In order to avoid modifications performed in target-finalize step to be seen as overwrites on next build, the final {HOST,TARGET}_DIR do not contain any hardlink anymore and are a full copy of expected files and directories (PATCH 14). The last patch (PATCH 15) fixes _{reconfigure,rebuild,reinstall} recreating per-package {HOST,TARGET}_DIR from scratch. Indeed, for a given package, re-generating the same file is detected as an overwrite. The simplest way to avoid this is to fully discard previous per-package {HOST,TARGET}_DIR directory and recreate them. To have a TLP build fully fonctionnal, several things are still missing: - Be sure that all buildroot packages do not perform any overwrites. - Undo tweak stuff that have be done for per-package build (fixup-libtool-files, fixup-python-files, _PER_PACKAGE_TWEAK_HOOKS) after collecting files in final {HOST,STAGING}_DIR. This mainly means reverting .../per-package/xxxxx/... path to point to the correct ones in final {HOST,STAGING}_DIR. I hope this series will help in TLP build feature. Best regards, Herv? Codina Herve Codina (14): package/e2fsprogs: fix fsck overwrite in HOST_DIR package/pkg-generic.mk: Remove Info documents dir entry package/pkg-generic.mk: Fix .la files overwrite detection package/pkg-generic.mk: Perform .la files fixup in per-package HOST_DIR package/pkg-generic.mk: Introduce _PER_PACKAGE_TWEAK_HOOKS package/apr-util: Use _PER_PACKAGE_TWEAK_HOOKS package/apache: Move APACHE_FIXUP_APR_LIBTOOL to _PER_PACKAGE_TWEAK_HOOKS package/pkg-python: Remove _sysconfigdata*.pyc files when _sysconfigdata*.py are changed package/pkg-generic.mk: Move python fixup to generic package infrastructure package/owfs: Remove Python sysconfigdata fixup package/pkg-generic.mk: Generate final rsync exclude file list Makefile: Rsync global {TARGET,HOST}_DIR using exclusion file list Makefile: Breaks hardlinks in global {TARGET,HOST}_DIR on per-package build package/pkg-generic.mk: Fix per-package -{reconfigure,rebuild,reinstall} Thomas Petazzoni (1): package/pkg-generic.mk: detect files overwritten in TARGET_DIR and HOST_DIR Makefile | 24 +++++++- package/apache/apache.mk | 2 +- package/apr-util/apr-util.mk | 12 ++-- package/e2fsprogs/e2fsprogs.mk | 1 + package/owfs/owfs.mk | 9 --- package/pkg-generic.mk | 103 ++++++++++++++++++++++++++++++++- package/pkg-python.mk | 10 ---- 7 files changed, 134 insertions(+), 27 deletions(-) -- 2.31.1