* [Buildroot] [git commit branch/next] package/pkg-python: fix PKG_PYTHON_FIXUP_SYSCONFIGDATA
@ 2021-08-28 14:43 Yann E. MORIN
0 siblings, 0 replies; only message in thread
From: Yann E. MORIN @ 2021-08-28 14:43 UTC (permalink / raw)
To: buildroot
commit: https://git.buildroot.net/buildroot/commit/?id=a4f83d39cf4bb4dd155b8f79d13b4349dd103c49
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/next
Find used by PKG_PYTHON_FIXUP_SYSCONFIGDATA can fail if directories
are not present. This failure is silently ignored because find is
on the LHS of a pipe.
This commit fixes the find failure. HOST_DIR is used as the starting
point and the search is filtered on the expected directories.
This commit also adds -print0 and the $(Q) verbosity flag as minor
changes.
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
[yann.morin.1998@free.fr:
- split long line with the two -path options
- move "| xargs ..." onto its own line
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
---
package/pkg-python.mk | 20 +++++++++++++++++---
1 file changed, 17 insertions(+), 3 deletions(-)
diff --git a/package/pkg-python.mk b/package/pkg-python.mk
index 59a48e5a87..8b24aeb3b1 100644
--- a/package/pkg-python.mk
+++ b/package/pkg-python.mk
@@ -92,11 +92,25 @@ HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS = \
--root=/ \
--single-version-externally-managed
+# Make sure python _sysconfigdata*.py files only reference the current
+# per-package directory.
+#
+# Can't use $(foreach d, $(HOST_DIR)/lib/python* $(STAGING_DIR)/usr/lib/python*, ...)
+# because those directories may be created in the same recipe this macro will
+# be expanded in.
+# Additionally, either or both may be missing, which would make find whine and
+# fail.
+# So we just use HOST_DIR as a starting point, and filter on the two directories
+# of interest.
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
define PKG_PYTHON_FIXUP_SYSCONFIGDATA
- find $(HOST_DIR)/lib/python* $(STAGING_DIR)/usr/lib/python* \
- -name "_sysconfigdata*.py" | xargs --no-run-if-empty \
- $(SED) "s:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/:g"
+ $(Q)find $(HOST_DIR) \
+ \( -path '$(HOST_DIR)/lib/python*' \
+ -o -path '$(STAGING_DIR)/usr/lib/python*' \
+ \) \
+ -name "_sysconfigdata*.py" -print0 \
+ | xargs -0 --no-run-if-empty \
+ $(SED) 's:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/:g'
endef
endif
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-08-28 14:46 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-28 14:43 [Buildroot] [git commit branch/next] package/pkg-python: fix PKG_PYTHON_FIXUP_SYSCONFIGDATA Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).