package/pkg-python: invalidate precompiled _sysconfigdata*.pyc
authorHerve Codina <herve.codina@bootlin.com>
Tue, 17 Aug 2021 08:39:16 +0000 (10:39 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 28 Aug 2021 14:44:14 +0000 (16:44 +0200)
For per-package directories, we fixup the _sysconfigdata*.py files, so
that they get proper path pointing to the current package's direcotry
structure.

However, the corresponding, pre-compiled blobs _sysconfigdata*.pyc were
left around, and thus are inconsistent with their source. They might
also be regenerated when a package would install a python module; this
regeneration would trigger the soon-to-be-introduced overwrite
detection.

This commit simply removes _sysconfigdata*.pyc files; they will anyway
be regenerated by the PYTHON{,3}_CREATE_PYC_FILES target finalize hooks.
This is an efficient way to guarantee the consistency between the source
and precompiled versions, and to not trigger the overwrite detection.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
[yann.morin.1998@free.frs: reword the commit log]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/pkg-python.mk

index 8b24aeb3b1dd2507b09e02908987293694aa7ddd..ddf9e733fd22a0f71b50da668fd946b112fbce60 100644 (file)
@@ -108,7 +108,9 @@ define PKG_PYTHON_FIXUP_SYSCONFIGDATA
                \(    -path '$(HOST_DIR)/lib/python*' \
                   -o -path '$(STAGING_DIR)/usr/lib/python*' \
                \) \
-               -name "_sysconfigdata*.py" -print0 \
+               \(    \( -name "_sysconfigdata*.pyc" -delete \) \
+                  -o \( -name "_sysconfigdata*.py" -print0 \) \
+               \) \
        | xargs -0 --no-run-if-empty \
                $(SED) 's:$(PER_PACKAGE_DIR)/[^/]\+/:$(PER_PACKAGE_DIR)/$($(PKG)_NAME)/:g'
 endef