From 2b3e87e118892e4698d7586b42b6996925989838 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Tue, 18 Apr 2023 23:32:41 +0200 Subject: [PATCH] package/python-babel: add purge locale data support Add purge loacle data support (inspired by BR2_ENABLE_LOCALE_PURGE handling in Makefile) to reduce target space allocation by the python-babel package, e.g. from 32MB to 24K for target/usr/lib/python3.11/site-packages/babel/locale-data with BR2_ENABLE_LOCALE_WHITELIST="C en_US de_DE". The special en_US_POSIX locale data is kept as it is used by default by the python-babel code: https://github.com/python-babel/babel/blob/0ce196fccc024b1a65453ba6519954ada1dab6cb/babel/core.py#L1076 Signed-off-by: Peter Seiderer Signed-off-by: Thomas Petazzoni --- package/python-babel/python-babel.mk | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/package/python-babel/python-babel.mk b/package/python-babel/python-babel.mk index 890a8b02b9..69c38c1a6e 100644 --- a/package/python-babel/python-babel.mk +++ b/package/python-babel/python-babel.mk @@ -12,5 +12,18 @@ PYTHON_BABEL_LICENSE = BSD-3-Clause PYTHON_BABEL_LICENSE_FILES = LICENSE HOST_PYTHON_BABEL_DEPENDENCIES = host-python-pytz +# purge locale data (if enabled), keep special en_US_POSIX data which +# is used by default by the python-babel code +ifeq ($(BR2_ENABLE_LOCALE_PURGE),y) +define PYTHON_BABEL_CLEANUP_LOCALE + for i in `ls $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/babel/locale-data/*.dat`; \ + do \ + i_base=`basename "$$i" .dat`; \ + echo "$(BR2_ENABLE_LOCALE_WHITELIST) en_US_POSIX" | grep -qw "$$i_base" || rm "$$i"; \ + done +endef +PYTHON_BABEL_TARGET_FINALIZE_HOOKS += PYTHON_BABEL_CLEANUP_LOCALE +endif + $(eval $(python-package)) $(eval $(host-python-package))