All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths
@ 2015-07-13 23:45 Arnout Vandecappelle
  2015-07-13 23:45 ` [Buildroot] [PATCH v3 2/2] purge-locales: fix handling of X11 locale.dir Arnout Vandecappelle
  2015-07-14  0:12 ` [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths Thomas Petazzoni
  0 siblings, 2 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2015-07-13 23:45 UTC (permalink / raw
  To: buildroot

Since the man paths have been removed, it is no longer necessary to
grep them out and the loop can be simplified.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
v3: Partial rebase, since v1 was already merged.
v2: remove the grep -v man as well, which allows us to use $dir/*
    instead of the funky ls construct.
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 02a1032..f764ae5 100644
--- a/Makefile
+++ b/Makefile
@@ -546,9 +546,9 @@ define PURGE_LOCALES
 
 	for dir in $(wildcard $(addprefix $(TARGET_DIR),/usr/share/locale /usr/share/X11/locale /usr/lib/locale)); \
 	do \
-		for lang in $$(cd $$dir; ls .|grep -v man); \
+		for langdir in $$dir/*; \
 		do \
-			grep -qx $$lang $(LOCALE_WHITELIST) || rm -rf $$dir/$$lang; \
+			grep -qx $${langdir##*/} $(LOCALE_WHITELIST) || rm -rf $$langdir; \
 		done; \
 	done
 endef
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v3 2/2] purge-locales: fix handling of X11 locale.dir
  2015-07-13 23:45 [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths Arnout Vandecappelle
@ 2015-07-13 23:45 ` Arnout Vandecappelle
  2015-07-14  0:12 ` [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2015-07-13 23:45 UTC (permalink / raw
  To: buildroot

From: Valentine Barshak <gvaxon@gmail.com>

The /usr/share/X11/locale/locale.dir file is needed by libX11.
Removing it breaks locale support in X11. However, make removes
not only directories but also all files, which are not listed
in the BR2_ENABLE_LOCALE_WHITELIST.

This re-creates locale.dir database file where needed.

Signed-off-by: Valentine Barshak <gvaxon@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[Arnout: use a separate loop, and add some explanatory comments]
---
v3: No change
v2: [Arnout]: use a separate loop, add explanatory comments
---
 Makefile | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/Makefile b/Makefile
index f764ae5..8eb8c6d 100644
--- a/Makefile
+++ b/Makefile
@@ -540,6 +540,11 @@ ifeq ($(BR2_ENABLE_LOCALE_PURGE),y)
 LOCALE_WHITELIST = $(BUILD_DIR)/locales.nopurge
 LOCALE_NOPURGE = $(call qstrip,$(BR2_ENABLE_LOCALE_WHITELIST))
 
+# This piece of junk does the following:
+# First collect the whitelist in a file.
+# Then go over all the locale dirs and for each subdir, check if it exists
+# in the whitelist file. If it doesn't, kill it.
+# Finally, specifically for X11, regenerate locale.dir from the whitelist.
 define PURGE_LOCALES
 	rm -f $(LOCALE_WHITELIST)
 	for i in $(LOCALE_NOPURGE) locale-archive; do echo $$i >> $(LOCALE_WHITELIST); done
@@ -551,6 +556,16 @@ define PURGE_LOCALES
 			grep -qx $${langdir##*/} $(LOCALE_WHITELIST) || rm -rf $$langdir; \
 		done; \
 	done
+	if [ -d $(TARGET_DIR)/usr/share/X11/locale ]; \
+	then \
+		for lang in $(LOCALE_NOPURGE); \
+		do \
+			if [ -f $(TARGET_DIR)/usr/share/X11/locale/$$lang/XLC_LOCALE ]; \
+			then \
+				echo "$$lang/XLC_LOCALE: $$lang"; \
+			fi \
+		done > $(TARGET_DIR)/usr/share/X11/locale/locale.dir; \
+	fi
 endef
 TARGET_FINALIZE_HOOKS += PURGE_LOCALES
 endif
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths
  2015-07-13 23:45 [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths Arnout Vandecappelle
  2015-07-13 23:45 ` [Buildroot] [PATCH v3 2/2] purge-locales: fix handling of X11 locale.dir Arnout Vandecappelle
@ 2015-07-14  0:12 ` Thomas Petazzoni
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2015-07-14  0:12 UTC (permalink / raw
  To: buildroot

Dear Arnout Vandecappelle (Essensium/Mind),

On Tue, 14 Jul 2015 01:45:27 +0200, Arnout Vandecappelle
(Essensium/Mind) wrote:
> Since the man paths have been removed, it is no longer necessary to
> grep them out and the loop can be simplified.
> 
> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> v3: Partial rebase, since v1 was already merged.
> v2: remove the grep -v man as well, which allows us to use $dir/*
>     instead of the funky ls construct.
> ---
>  Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Both applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-07-14  0:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-13 23:45 [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths Arnout Vandecappelle
2015-07-13 23:45 ` [Buildroot] [PATCH v3 2/2] purge-locales: fix handling of X11 locale.dir Arnout Vandecappelle
2015-07-14  0:12 ` [Buildroot] [PATCH v3 1/2] purge-locales: further refactoring after removing man paths Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.